最近在《操作系统》课程里学习 Linux 下安装 Apache 服务的方法,因为比较常用,故予以记录。
操作环境
Centos 7.6
具体版本信息如下:
![TIM截图20191202161840.png]()
Apache 简介
Apache 是一个知名的开源 Web 服务器。
早期的 Apache 服务器由 Apache Group 来维护,直到 1999 年 6 月 Apache Group 在美国德拉瓦市成立了非盈利性组织的公司,即 Apache 软件基金会(Apache Software Foundation,ASF)。
网站需要 Web 服务器来架构,网页设计由美工人员,网页开发人员来完成,网站建立好后,需要运维人员来进行维护,优化,排错,架构延伸扩容等。
Apache 由内核、标准模块和第三方提供的模块三个层次组成。
![TIM截图20191202162230.png]()
CentOS 下的 Apache
1.Apache 服务概览
软件包: httpd, httpd-devel, httpd-manual
服务类型:由 systemd 启动的守护进程
配置单元: /usr/lib/systemd/system/httpd.service
守护进程: /usr/sbin/httpd
端口: 80 (http), 443 (https)
配置: /etc/httpd/
Web 文档: /var/www/html/
Apache 日志记录目录:/var/log/httpd/
该目录下有两种文件:
access_log # 记录客户端访问 Apache 的信息,比如客户端的 ip
error_log # 记录访问页面错误信息
Apache 服务启动的记录日志:
/var/log/messages # 这个日志是系统的大集合
2. 配置 Apache 服务器的准备工作
系统平台: CentOS 7.6
DHCP Server: 192.168.111.132
第 1 步:服务器设置静态 IP
第 2 步:更改主机名,写 /etc/hosts 记录
1 2
| [root@Apache ~]# echo "192.168.111.132 Apache" >> /etc/hosts --往/etc/hosts添加ip和主机名 [root@Apache ~]# cat /etc/hosts
|
第 3 步:关闭防火墙
1 2
| [root@Apache ~]# systemctl stop firewalld --临时关闭防火墙 [root@Apache ~]# systemctl disable firewalld --永久关闭防火墙
|
第 4 步:关闭 selinux
1 2 3 4 5 6 7 8 9
| 临时关闭: [root@Apache ~]# setenforce 0 setenforce: SELinux is disabled
永久关闭: [root@Apache ~]# vim /etc/selinux/config SELINUX=disabled # 将enforcing改为disabled
[root@Apache ~]# reboot --重启系统永久生效
|
Apache 服务的搭建与配置
1. 使用 yum 包安装 Apache 软件
1 2 3 4 5 6
| [root@Apache ~]# yum -y install httpd* [root@Apache ~]# rpm -qa | grep httpd --查看安装的http包 httpd-manual-2.4.6-67.el7.centos.6.noarch httpd-tools-2.4.6-67.el7.centos.6.x86_64 httpd-2.4.6-67.el7.centos.6.x86_64 httpd-devel-2.4.6-67.el7.centos.6.x86_64
|
安装成功后,会产生下面两个文件
1 2
| /etc/httpd/conf/httpd.conf # 主配置文件 /var/www/html # 默认网站家目录
|
2. 配置文件里的主要参数介绍
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [root@Apache ~]# vim /etc/httpd/conf/httpd.conf 31 serverRoot "/etc/httpd" # 存放配置文件的目录 42 Listen 80 # Apache服务监听端口 66 User apache # 子进程的用户 67 Group apache # 子进程的组 86 ServerAdmin root@localhost # 设置管理员邮件地址 119 DocumentRoot "/var/www/html" --网站家目录 # 设置DocumentRoot指定目录的属性 131 <Directory "/var/www/html"> # 网站容器开始标识 144 Options Indexes FollowSymLinks # 找不到主页时,以目录的方式呈现,并允许链接到网站根目录以外 151 AllowOverride None # none不使用.htaccess控制,all允许 156 Require all granted # granted表示运行所有访问,denied表示拒绝所有访问 157 </Directory> # 容器结束 164 DirectoryIndex index.html # 定义主页文件,当访问到网站目录时如果有定义的主页文件,网站会自动访问 316 AddDefaultCharset UTF-8 # 字符编码,如果中文的话,有可能需要改为gb2312或者gbk,因你的网站文件的默认编码而异
|
3. 启动 Apache 网站
1 2 3 4 5 6 7 8 9
| [root@Apache ~]# systemctl start httpd.service [root@Apache ~]# lsof -i:80 --查看httpd服务是否启动 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME httpd 20585 root 4u IPv6 402909 0t0 TCP *:http (LISTEN) httpd 20586 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN) httpd 20587 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN) httpd 20588 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN) httpd 20589 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN) httpd 20590 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)
|
启动成功后使用浏览器:输入自己的 IP 地址会看到一个红帽的欢迎页面:
1
| [root@Apache ~]# firefox 192.168.1.20
|
每次打开浏览器不是很方便,因此我们可以使用文本浏览器,方便测试。
1 2 3
| [root@Apache ~]# yum -y install elinks --安装elinks文本浏览器 [root@Apache ~]# elinks 192.168.5.20 --按ctrl + c退出 [root@Apache ~]# curl 192.168.1.20 --或者使用curl
|