当前位置: 首页 > news >正文

Linux基础- 使用 Apache 服务部署静态网站

目录

零. 简介

一. linux安装Apache

二. 创建网页

三. window访问

修改了一下默认端口 到 8080


零. 简介

Apache 是世界使用排名第一的 Web 服务器软件。

它具有以下一些显著特点和优势:

  1. 开源免费:可以免费使用和修改,拥有庞大的社区支持,便于获取帮助和资源。
  2. 跨平台:能够在多种操作系统上运行,如 Linux、Windows、Unix 等。
  3. 稳定性高:经过长期的实践和优化,具有出色的稳定性和可靠性,能够长时间稳定运行。
  4. 功能强大:支持多种模块扩展,可以实现诸如 URL 重写、虚拟主机、SSL 加密、访问控制等丰富的功能。
  5. 配置灵活:通过配置文件可以对服务器的各种参数进行详细的设置和调整,以满足不同的需求。
  6. 安全性较好:不断更新以修复安全漏洞,并提供多种安全机制来保护服务器和网站。

Apache 广泛应用于各种规模的网站和应用程序的部署,无论是个人博客、企业网站还是大型电子商务平台,都可以基于 Apache 搭建可靠的 Web 服务。

一. linux安装Apache

在 Ubuntu 系统中安装 Apache 服务,可以按照以下步骤进行操作:

  1. 打开终端。

  2. 更新软件包列表:

   sudo apt update
  1. 安装 Apache 服务:
   sudo apt install apache2
  1. 安装过程中会提示确认一些信息,按回车键确认即可。

安装完成后,Apache 服务会自动启动。您可以通过以下方式进行验证:

  1. 在浏览器中输入服务器的本地 IP 地址,如果看到 Apache 的默认页面,说明安装成功。

  2. 您还可以使用以下命令查看 Apache 服务的状态:

   sudo systemctl status apache2

如果您想进一步配置 Apache 服务(如虚拟主机、SSL 证书等),可以通过修改 /etc/apache2 目录下的相关配置文件来实现。

成功打开本地地址.

二. 创建网页

找到默认网页位置

如果不习惯这个模式,可以直接打开文件夹

输入 nautilus admin:/

就可以看到文件夹了

创建新的网页

运行网页

Apache2 配置的介绍:

Apache2 是一个开源的 HTTP 服务器软件。以下是一些常见的 Apache2 配置的介绍:

  • ServerRoot:指定服务器的根目录。
  • Listen:监听的端口,可以指定 IP 地址和端口号,默认为监听所有 IP 的 80 端口。例如:Listen 80 或 Listen 127.0.0.1:8080
  • <IfModule unixd_module>:通常用于设置所属用户和组,后面添加虚拟路径的文件夹必须拥有这个用户和组的读写权限。
  • ServerAdmin:当网站出现故障时,为客户提供的可帮助解决问题的邮件地址。
  • ServerName:设置服务器本机的主机名称以及端口,对 URL 地址的重定向很重要。
  • DocumentRoot:设置 Web 服务对客户端开放可见的文档根目录,即客户端访问网站的根路径,但符号链接和别名可指向其他位置。
  • <Directory>:用于控制特定目录的相关权限和设置。例如,Indexes 的作用是当目录下没有 index.html 文件时,是否显示目录结构;Options 可设置目录的具体功能,如 FollowSymLinks 允许访问链接文件;AllowOverride 可设置为 None 完全忽略 .htaccess 文件,或设置为 All 允许 .htaccess 文件中的指令生效;Require 用于指定访问权限,如 all granted 表示无条件允许访问。
  • DirectoryIndex:设置默认的目录资源列表文件,即当访问目录时,首先寻找的文件。
  • ErrorLog:指定错误日志的路径。
  • LogLevel:设置记录错误的等级。
  • LogFormat:定义访问日志的格式。
  • CustomLog:使用该参数设置访问日志的位置和格式。
  • <IfModule alias_module>:可用于设置虚拟目录。
  • <IfModule cgid_module>:在特定运行模式下设置与 CGI 守护进程通信的套接字文件名前缀。
  • <Directory "/usr/local/apache2/cgi-bin/">:设定默认 CGI 脚本目录的属性,类似其他 <Directory> 的设置。
  • <IfModule headers_module>:用于设置一些与请求头相关的操作。
  • <IfModule mime_module>:指定 MIME 类型映射文件,以及添加特定的文件类型映射。

在 Ubuntu 系统中,Apache2 的安装目录文件结构通常如下:

  • /etc/apache2/:主配置目录。其中包含 apache2.conf(主配置文件,通常很少修改)、ports.conf(所有监听的端口配置)、sites-available(所有的虚拟主机配置文件)、sites-enabled(所有正在运行的虚拟主机配置文件,该目录下的文件只是 sites-available 下面文件的软链接)、mods-available(已安装的 Apache2 模块,非启用的模块)、mods-enabled(已启用的模块)、envvars(Apache2 的环境变量,通常很少修改)等。

要修改 Apache2 的配置,需要根据具体需求编辑相应的配置文件。修改完成后,通常需要重新加载或重启 Apache2 服务以使配置生效。例如,在 Ubuntu 中可以使用sudo systemctl restart apache2命令重启 Apache2 服务。

另外,Apache2 有多种并发处理模型(MPM),不同版本的具体配置方式可能会有所差异。例如在 2.4 版中,可通过修改 /etc/apache2/mods-enabled/mpm_perfork.conf 文件来配置 Prefork 模型的相关参数。

三. window访问

我是直接关闭了Ubuntu的防火墙

sudo systemctl stop firewalld.service;

查看ip地址

ip address

用windows telnet一下端口确保端口能通

虚拟机用的是 ant模式

修改了一下默认端口 到 8080

在 Ubuntu 中更改 Apache 的端口,您可以按照以下步骤进行操作:

  1. 打开 Apache 的端口配置文件:
   sudo nano /etc/apache2/ports.conf
  1. 在该文件中,您会看到类似以下的内容:
   # If you just change the port or add more ports here, you will likely also# have to change the VirtualHost statement in# /etc/apache2/sites-enabled/000-default.confListen 80
  1. 将 Listen 80 中的 80 更改为您想要的端口号,例如 Listen 8080 。

  2. 保存并关闭文件(在 nano 编辑器中,按 Ctrl + X ,然后按 Y 确认保存)。

  3. 接下来,您还需要更改默认站点配置文件中关于端口的设置。打开默认站点配置文件:

   sudo nano /etc/apache2/sites-enabled/000-default.conf
  1. 找到类似于以下的内容:
   <VirtualHost *:80>
  1. 将其中的 80 更改为您在 ports.conf 文件中设置的新端口号,例如 <VirtualHost *:8080> 。

  2. 保存并关闭文件。

  3. 最后,重启 Apache 服务以使更改生效:

   sudo systemctl restart apache2

这样,Apache 就会在您指定的新端口上运行了。请确保新端口未被其他服务占用,并根据您的网络环境和安全策略,合理配置防火墙以允许对新端口的访问。

相关文章:

Linux基础- 使用 Apache 服务部署静态网站

目录 零. 简介 一. linux安装Apache 二. 创建网页 三. window访问 修改了一下默认端口 到 8080 零. 简介 Apache 是世界使用排名第一的 Web 服务器软件。 它具有以下一些显著特点和优势&#xff1a; 开源免费&#xff1a;可以免费使用和修改&#xff0c;拥有庞大的社区支…...

接口自动化测试框架实战(Pytest+Allure+Excel)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1. Allure 简介 Allure 框架是一个灵活的、轻量级的、支持多语言的测试报告工具&#xff0c;它不…...

如何预防和处理他人盗用IP地址?

IP地址的定义及作用 解释 IP 地址在互联网中的作用。它是唯一标识网络设备的数字地址&#xff0c;类似于物理世界中的邮政地址。 1、IP地址盗窃的定义 解释一下什么是IP地址盗用&#xff0c;即非法使用他人的IP地址或者伪造IP地址的行为&#xff0c;这种行为可能引发法律和安…...

【ai】李沐 动手深度学学v2 环境安装:anaconda3、pycharm、d2

cuda-toolkit cuda_12.5.0_windows_network.exe 官方课程网站 第二版资源下载release版本 pycharm版本 李沐 【动手学深度学习v2 PyTorch版】 课程笔记 CUDA 选择11, 实际下载 12.5.0...

前后端分离对软件行业及架构设计的影响

在软件开发领域&#xff0c;前后端分离是一种越来越流行的架构设计模式。这种方法将用户界面&#xff08;前端&#xff09;与服务器逻辑&#xff08;后端&#xff09;分离开来&#xff0c;允许它们独立开发、测试和部署。本文将探讨前后端分离对软件行业和架构设计的影响&#…...

深入解析Dubbo架构层次

什么是Dubbo&#xff1f; Dubbo是阿里巴巴开源的一款高性能优秀的服务框架&#xff0c;致力于提供高性能和透明化的 RPC 远程服务调用方案&#xff0c;以及 SOA 服务治理方案。它的主要功能包括&#xff1a; 远程通信&#xff1a;提供高效的远程通信能力。负载均衡&#xff1…...

关于GPIO的上拉、下拉,无上下拉

1.GPIO_PULLUP&#xff08;上拉&#xff09; 作用和原理 作用&#xff1a;上拉模式会在GPIO引脚和电源电压&#xff08;Vcc&#xff09;之间连接一个内部上拉电阻。原理&#xff1a;当引脚配置为输入模式时&#xff0c;如果引脚没有连接到其他外部电路&#xff0c;内部上拉电…...

Python 语法基础二

7.常用内置函数 执行这个命令可以查看所有内置函数和内置对象&#xff08;两个下划线&#xff09; >>>dir(__builtins__) [__class__, __contains__, __delattr__, __delitem__, __dir__, __doc__, __eq__, __format__, __ge__, __getattribute__, __getitem__, __gt…...

HTML5与HTML:不仅仅是标签的革新

当我们提到HTML5&#xff0c;很多人会想到这是HTML的一个升级版本&#xff0c;增加了许多新的标签和特性。然而&#xff0c;HTML5带来的变化远不止于此。它是一个全面的网页开发框架&#xff0c;重新定义了网络应用程序的构建方式&#xff0c;为开发者提供了前所未有的灵活性和…...

Mybatis面试学习

1.介绍一下mybatis mybatis是一个半自动的ORM的框架&#xff0c;ORM就是对象关系映射。&#xff08;对象指的是Java对象&#xff0c;关系指的是数据库中的关系模型&#xff0c;对象关系映射&#xff0c;指的就是在Java对象和数据库的关系模型之间建立一种对应关系&#xff09;…...

el-date-picker设置时间范围

下面这种写法会报错&#xff1a;找不到expirationDate&#xff0c;这是因为涉及到this的指向问题 在普通函数中&#xff0c;this 的上下文并不指向 Vue 组件实例&#xff0c;而是取决于函数的调用方式或者是否使用了严格模式 <el-date-pickerclass"date-icon-common&q…...

Links: Challenging Puzzle Game Template(益智游戏模板)

链接:挑战益智游戏 《Links》是一款独特且具有挑战性的益智游戏,即将发布。 每个级别都会向玩家展示不同的棋盘。目标是通过移动和旋转所有棋子来连接它们。每个棋子都有自己的特点和功能-你可以移动它们,旋转它们,或者两者兼而有之。连接所有棋子,以解决难度和挑战不断增…...

java基于ssm+jsp 仓库智能仓储系统

1管理员功能模块 管理员登录&#xff0c;通过填写用户名、密码等信息&#xff0c;输入完成后选择登录即可进入智能仓储系统 &#xff0c;如图1所示。 图1管理员登录界面图 智能仓储系统 &#xff0c;在智能仓储系统可以查看个人中心、公告信息管理、员工管理、供应商管理、商…...

第24篇 滑动开关控制LED<二>

Q&#xff1a;如何使用Intel FPGA Monitor Program创建滑动开关控制LED工程并运行呢&#xff1f; A&#xff1a;创建工程的基本过程与前面的Intel FPGA Monitor Program的使用<三>一样&#xff0c;不同的地方是&#xff0c;本实验工程用到了开发板的外设硬件LED和SW&…...

Redis单例部署

目录 1. 概述2. 参考3. 环境4. 部署4.1 操作系统4.1.1 修改系统参数4.1.2 关闭透明大页内存4.1.3 修改系统限制 4.2 安装Redis4.2.1 下载Redis4.2.2 创建redis账号4.2.3 添加Redis环境变量4.2.4 创建Redis使用目录4.2.5 安装Redis4.2.6 手动修改配置文件&#xff08;**可跳过&a…...

HarmonyOS4升级到Harmonyos Next(Api 11)学习捷径

HarmonyOS4升级到Harmonyos Next&#xff08;Api 11&#xff09;学习捷径&#xff0c;新技术学习路上少走弯路。HarmonyOS NEXT和HarmonyOS 4的基本语法都是一样的&#xff0c;但是还有一些区别。如果你学会HarmonyOS4&#xff0c;那么HarmonyOS Next也自然而然的会了。 Harmon…...

[电子电路学]电路分析基本概念1

第一章 电路分析的基本概念和基本定律 电路模型 反映实际电路部件的主要电磁性质的理想电路元件及其组合&#xff0c;是实际电路电气特性的抽象和近似。 理想电路元件 实际电路器件品种繁多&#xff0c;其电磁特性多元而复杂&#xff0c;分析和计算时非常困难。而理想电路元件…...

Linux bash: /usr/local/gcc/bin/gcc: 不是目录

ln -s /usr/local/bin/gcc /usr/bin/gcc ln -s /usr/local/bin/g /usr/bin/g 创建的软连接不生效 问题&#xff1a; [rootdev003 local]# gcc -v bash: /usr/local/gcc/bin/gcc: 不是目录 或者 [rootdev003 local]# gcc -v bash: /usr/local/bin/gcc: 没有那个文件或目录 解决&…...

vue项目中,pnpm不能用-解决

方法四&#xff1a;解决 PowerShell 执行策略问题 如果你决定继续使用 PowerShell&#xff0c;并且遇到执行策略问题&#xff0c;可以尝试以下方法解决&#xff1a; 永久更改执行策略&#xff1a; 在管理员权限的 PowerShell 中运行以下命令&#xff0c;以永久更改执行策略&am…...

数据处理python

1.列筛选 &#xff08;1&#xff09;某一列&某几列 对于一个表单里面的数据&#xff0c;如果我们想要对于这个表单里面的数据进行处理&#xff0c;我们可以一列一列进行处理&#xff0c;也可以多列一起进行处理&#xff1b; 一列一列处理&#xff1a; 只需要在这个dataf…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

面试高频问题

文章目录 &#x1f680; 消息队列核心技术揭秘&#xff1a;从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"&#xff1f;性能背后的秘密1.1 顺序写入与零拷贝&#xff1a;性能的双引擎1.2 分区并行&#xff1a;数据的"八车道高速公路"1.3 页缓存与批量处理…...

解析两阶段提交与三阶段提交的核心差异及MySQL实现方案

引言 在分布式系统的事务处理中&#xff0c;如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议&#xff08;2PC&#xff09;通过准备阶段与提交阶段的协调机制&#xff0c;以同步决策模式确保事务原子性。其改进版本三阶段提交协议&#xff08;3PC&#xf…...

[特殊字符] 手撸 Redis 互斥锁那些坑

&#x1f4d6; 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作&#xff0c;想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁&#xff0c;也顺便跟 Redisson 的 RLock 机制对比了下&#xff0c;记录一波&#xff0c;别踩我踩过…...

raid存储技术

1. 存储技术概念 数据存储架构是对数据存储方式、存储设备及相关组件的组织和规划&#xff0c;涵盖存储系统的布局、数据存储策略等&#xff0c;它明确数据如何存储、管理与访问&#xff0c;为数据的安全、高效使用提供支撑。 由计算机中一组存储设备、控制部件和管理信息调度的…...

精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑

精益数据分析&#xff08;98/126&#xff09;&#xff1a;电商转化率优化与网站性能的底层逻辑 在电子商务领域&#xff0c;转化率与网站性能是决定商业成败的核心指标。今天&#xff0c;我们将深入解析不同类型电商平台的转化率基准&#xff0c;探讨页面加载速度对用户行为的…...

手动给中文分词和 直接用神经网络RNN做有什么区别

手动分词和基于神经网络&#xff08;如 RNN&#xff09;的自动分词在原理、实现方式和效果上有显著差异&#xff0c;以下是核心对比&#xff1a; 1. 实现原理对比 对比维度手动分词&#xff08;规则 / 词典驱动&#xff09;神经网络 RNN 分词&#xff08;数据驱动&#xff09…...

RKNN开发环境搭建2-RKNN Model Zoo 环境搭建

目录 1.简介2.环境搭建2.1 启动 docker 环境2.2 安装依赖工具2.3 下载 RKNN Model Zoo2.4 RKNN模型转化2.5编译C++1.简介 RKNN Model Zoo基于 RKNPU SDK 工具链开发, 提供了目前主流算法的部署例程. 例程包含导出RKNN模型, 使用 Python API, CAPI 推理 RKNN 模型的流程.   本…...

开源 vGPU 方案:HAMi,实现细粒度 GPU 切分

本文主要分享一个开源的 GPU 虚拟化方案&#xff1a;HAMi&#xff0c;包括如何安装、配置以及使用。 相比于上一篇分享的 TimeSlicing 方案&#xff0c;HAMi 除了 GPU 共享之外还可以实现 GPU core、memory 得限制&#xff0c;保证共享同一 GPU 的各个 Pod 都能拿到足够的资源。…...