Apache服务器,全称为Apache HTTP Server,是由Apache软件基金会开发和维护的一款开源网页服务器软件。它是世界上最流行的Web服务器软件之一,能够在多种计算机操作系统上运行,包括Unix、Linux、Windows等。Apache服务器以其稳定性、安全性和高度可配置性著称,支持多种功能和技术,比如CGI、SSL/TLS安全协议、虚拟主机等。它还能够通过模块化架构轻松扩展功能,允许用户根据需要添加如PHP、Python等动态内容处理模块。Apache服务器因其开源特性,拥有庞大的用户社区和丰富的文档资源,适合从个人网站到大型企业级应用的各种Web服务部署场景。
为什么要学Apache服务器
- 广泛使用:Apache是最常用的Web服务器软件之一,掌握它能让你具备在大量现有和未来项目中工作的能力。
- 技术基础:了解Web服务器的工作原理是Web开发和IT基础设施管理的基础,Apache的学习有助于构建这一核心知识体系。
- 灵活性与可扩展性:Apache的模块化设计使得它非常灵活,可以根据需要添加功能,如安全、压缩、缓存等,这对于优化网站性能和安全性至关重要。
- 跨平台兼容性:Apache几乎可以在所有主流操作系统上运行,学习它意味着你的技能具有高度的可移植性。
- 开源社区支持:作为开源软件,Apache背后有一个活跃的开发者和用户社区,提供了丰富的文档、教程和解决方案,便于学习和解决问题。
- 就业市场:很多企业和组织使用Apache作为其Web服务的基石,熟悉Apache配置和管理可以增加你在就业市场的竞争力。
- 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