Linux实验10 Apache服务器配置

什么是Apache服务器

Apache服务器,全称为Apache HTTP Server,是由Apache软件基金会开发和维护的一款开源网页服务器软件。它是世界上最流行的Web服务器软件之一,能够在多种计算机操作系统上运行,包括Unix、Linux、Windows等。Apache服务器以其稳定性、安全性和高度可配置性著称,支持多种功能和技术,比如CGI、SSL/TLS安全协议、虚拟主机等。它还能够通过模块化架构轻松扩展功能,允许用户根据需要添加如PHP、Python等动态内容处理模块。Apache服务器因其开源特性,拥有庞大的用户社区和丰富的文档资源,适合从个人网站到大型企业级应用的各种Web服务部署场景。

为什么要学Apache服务器

  1. 广泛使用:Apache是最常用的Web服务器软件之一,掌握它能让你具备在大量现有和未来项目中工作的能力。
  2. 技术基础:了解Web服务器的工作原理是Web开发和IT基础设施管理的基础,Apache的学习有助于构建这一核心知识体系。
  3. 灵活性与可扩展性:Apache的模块化设计使得它非常灵活,可以根据需要添加功能,如安全、压缩、缓存等,这对于优化网站性能和安全性至关重要。
  4. 跨平台兼容性:Apache几乎可以在所有主流操作系统上运行,学习它意味着你的技能具有高度的可移植性。
  5. 开源社区支持:作为开源软件,Apache背后有一个活跃的开发者和用户社区,提供了丰富的文档、教程和解决方案,便于学习和解决问题。
  6. 就业市场:很多企业和组织使用Apache作为其Web服务的基石,熟悉Apache配置和管理可以增加你在就业市场的竞争力。
  7. LAMP堆栈理解:对于想要深入理解Linux、Apache、MySQL(或MariaDB)、PHP/Perl/Python(LAMP)这一经典Web开发栈的开发者而言,学习Apache是不可或缺的一环。

如何配置Apache服务器

绑定固定IP地址

代码语言:javascript
复制
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
代码语言:javascript
复制
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="558e9d2e-422a-4d34-bf52-874c07a5d0ac"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.100.100"
GATEWAY="192.168.100.2"
DNS1="192.168.100.2"
代码语言:javascript
复制
# 重启网络服务
sudo systemctl restart network

安装配置Apache

代码语言:javascript
复制
# 安装Apache HTTP服务器
sudo yum install httpd -y

开启Apache服务所需的服务

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

启动Apache服务

sudo systemctl start httpd

设置Apache服务开机自启

sudo systemctl enable httpd

备份原有的Apache配置文件

sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.backup

编辑Apache主配置文件(找到包含#IncludeOptional conf.d/*.conf的行,确保这一行没有被注释(即前面没有#号))

sudo vim /etc/httpd/conf/httpd.conf

创建、编辑虚拟主机配置文件(虚拟主机允许Apache在一个服务器上同时为多个域名或子域名提供不同的网站内容)

sudo vim /etc/httpd/conf.d/example.com.conf

代码语言:javascript
复制
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com/public_html

<Directory "/var/www/example.com/public_html">
AllowOverride All
Require all granted
</Directory>

ErrorLog "/var/log/httpd/example.com_error.log"
CustomLog "/var/log/httpd/example.com_access.log" common
</VirtualHost>

代码语言:javascript
复制
# 创建网页根目录
sudo mkdir -p /var/www/example.com/public_html
sudo echo "Hello, This is index page from index.html" > /var/www/example.com/public_html/index.html

重启Apache服务

sudo systemctl restart httpd

在Linux/Unix系统上编辑hosts文件(末尾添加如下条目)

sudo vim /etc/hosts

代码语言:javascript
复制
192.168.100.100 www.jackson.com
代码语言:javascript
复制
# 重启网络服务
sudo systemctl restart network