实验环境:
- Linux 5.19.13-arch1-1
- konsole 22.08.2
- apache 2.4.54-2
一. 概述
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件
。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充
,将Perl/Python等解释器编译到服务器中。
Apache HTTP服务器是一个模块化的服务器,常用模块可查看 apache常用模块介绍 - 孤剑 - 博客园
LAMP是指在许多web 服务器上使用的一个软件组合:Linux, Apache, MySQL/MariaDB 以及 PHP。本文描述了怎么安装和配置 Apache 网页服务器。
二. 安装及环境配置
1. 安装
关于版本选择:现在时间是 2022 年,Apache 主流 Stable Release 有 1.3、2.0、2.2 和 2.4。现在最新的 Stable Release 是 2.4.54。建议使用最新稳定版,但也可以适当使用 2.2
使用包管理器安装 Apache
# 能用包管理器就别手动安装,使用包管理器可以自动处理依赖,不需要自己处理
# 如果真的要手动安装,请查看以下链接
# https://cloud.tencent.com/developer/article/1854244
# 使用包管理器查询 aur 中是否存在 apache
yay -q apache # Arch
yum search apache # CentOS
apt search apache # Debian / Ubuntu
# 如果存在,则安装,否则要到官网下载包然后手动安装
yay -S apache # Arch
yum install apache # CentOS
apt install apache # Debian / Ubuntu
2. 基本环境配置
1. 确认软件是否正确安装
[guyan@DrangonBoat conf]$ httpd -v
Server version: Apache/2.4.54 (Unix)
Server built: Sep 25 2022 19:50:57
2. 服务 启动/停止/重启
# apache 自 2 版本以上更名为 httpd
# init 被 systemd 取代,所有服务控制命令从 service 变成了 systemctl
systemctl start/stop/restart httpd
3. 服务 开启/关闭 开机自启
systemctl enable/disable httpd
4. 查看运行状态
systemctl status httpd
5. 验证使用
- 打开浏览器,输入网址 localhost:80
- 若能正常打开页面则表示 apache 可正常使用
centos7 systemctl 取代 service 和 chkconfig 来实现系统管理,所有有些教程写的控制命令用的是
service
而不是systemctl
,但在此建议学习使用systemctl
Apache 服务常见配置文件介绍:
文件名称 | 作用 |
---|---|
/etc/httpd | 服务目录 |
/etc/httpd/conf | 配置文件 |
/etc/httpd/conf/httpd.conf | 主配置文件 |
/etc/httpd/modules | 存放模块文件(二进制文件),会在服务启动时自动加载 |
/var/www/html | 网站页面数据目录 |
/var/log/httpd | 日志文件目录 |
/etc/httpd/conf/httpd.conf
#
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
# for a discussion of each configuration directive.
#
# 保存服务器配置、错误和日志文件的位置
# 请不要在路径末尾添加斜杠
ServerRoot "/etc/httpd"
# Apache 服务器侦听的端口,可以将 Apache 绑定到特定的 IP 地址或 端口
# Listen 112.74.80.232:8080
Listen 80
# 重复,Apache 是模块化服务器,可以按需加载模块
# 配置文件中存在很多类似的语句,表示加载的模块
LoadModule auth_basic_module modules/mod_auth_basic.so
#
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
# 下面是 Apache 默认的用户名、用户组
# 如果要切换运行身份,需要在最初以 ROOT 身份运行
User http
Group http
# 错误文档,或一些生成页面将通过邮件发送
ServerAdmin [email protected]
# 网页五恶见和请求都会存放在这里
# 但在实际使用中,一般都会创建新目录存放网页文件,这里的指向位置也会改变
DocumentRoot "/srv/http"
# 错误信息存放位置
ErrorLog "/var/log/httpd/error_log"
三. 使用
暂无