CentOS 7 下Apache服务的安装与配置

最近在《操作系统》课程里学习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

本文标题:CentOS 7 下Apache服务的安装与配置

文章作者:Pwner

发布时间:2019年12月02日 - 16:12

最后更新:2020年08月21日 - 18:08

原始链接:https://pwner.cn/posts/547527b3.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Buy me a cup of coffee.