[root@Linux01 ~]# mount /dev/cdrom /mnt
Apache的配置及运行需要apr、 pcre等软件包的支持,因此应从系统光盘镜像中预先安装这些软件及其开发包(devel),以便提供相应的库和头文件.确保Apache的安装顺利完成。
[root@Linux01 ~]# rpm -ivh /mnt/Packages/apr-1.4.8-3.el7_4.1.x86_64.rpm
[root@Linux01 ~]# rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7_4.1.x86_64.rpm
[root@Linux01 ~]# rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm
[root@Linux01 ~]# rpm -ivh /mnt/Packages/expat-devel-2.1.010.el7_3.x86_64.rpm
[root@Linux01 ~]# rpm -ivh /mnt/Packages/libdb-devel-5.3.21-24.el7.x86_64.rpm
[root@Linux01 ~]# rpm -ivh /mnt/Packages/openldap-devel-2.4.44-20.el7.x86_64.rpm
[root@Linux01 ~]# rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm
[root@Linux01 ~]# rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm
[root@Linux01 ~]# rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm
[root@Linux01 ~]# rpm -ivh /mnt/Packages/pcre-8.32-17.el7.x86_64.rpm
wget --ftp-user=135 --ftp-password=123.123 ftp://172.16.37.13/软件下载/y2/y2c/httpd-2.4.25.tar.gz
[root@Linux01 ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src
[ rootwww~]acd /usr/src/httpd-2.4.25/
[root@Linux01 httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
完成配置以后,执行"mke"命令进行编译.将源代码转换为可执行的程序;然后执行"make install命令完成最后的安装过程,将编译完的htpd程序及相关目录、文件复制到预设的安装目录〈由配置时的“—-prefix”选项指定)。其中“make”的过程可能会需要较长的时间。
[ rootewwrw httpd-2.4.25] # make
[ rootwwrw httpd-2.4.25]育 make install
由于指定的安装目录为/usr /local /httpd,因此 httpd服务的各种程序.模块.帮助文件等都将复制到此目录下.
1,/usr / local/httpd/bin、存放httpd服务的各种执行程序文件.包括主程序httpd、服务控制工具apachectl等.
2,/usr / local/httpd/cgi-bin。存放各种CGI程序文件。
3,/usr / local /httpd/logs:存放httpd 服务的日志文件。
4,/usr /local /httpd/conf,存放httpd服务的各种配置文件.包括主配置文件httpd . conf、增强配置子目录extra等。
5,/usr / local/httpd/htdocs。存放网页文档,包括默认首页文件index , htmi 等,
6,/usr / local/httpd/modules。存放httpd 服务的各种模块文件.
通过源码编译安装的 httpd服务,程序路径并不在默认的搜索路径中,为了使该服务在使用时更加方便.可以为相关程序添加符号链接。
[root@Linux01 httpd-2.4.25]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@Linux01 httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
这样.再执行相关命令时就不用输入冗长的路径了。例如,当执行“httpd --v”命令(用于查看程序版本)时,即相当于执行“/us / local/httpd/bin/httpd -v”命令.
[root@Linux01 ~]# httpd -v
CentOS 7系统下.将编译安装的程序添加为系统服务有两种方式:①通过chkconfig 命令添加为系统服务,然后由systemctl进行管理,②在/lib/ systemd/system/目录下,手动编写以.service结尾的单元{unit)配置文件.
1〕使用chkconfig添加系统服务
若希望将httpd添加为系统服务,以便通过chkconfig进行管理.需要建立可控的服务脚本,例如,可将apachectl 脚本复制为/etc/init . d/httpd,并在文件开头添加chkconfig 识别配置.然后将其添加为标准的Linux系统服务。
[root@Linux01 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@Linux01 ~]# vim /etc/init.d/httpd
#chkconfig:35 85 21
//服务识别参激,在级别35中启动;启动和关闭
//的颠序分别为85,21
#description:Startup script for the Apache HTTP Server
//服务描述信息
将httpd添加为系统服务
[root@Linux01 ~]# chkconfig --add httpd
在/litb/systermd/system/目录下,建立一个以. service结尾的单元(unit)配置文件.用于控制由systemd控制或监控的httpd服务。配置文件主要分为三个部分.控制单元(Lhit]的定义.服务(Service]的定义以及安装部分[Install],具体内容如下所示,
[root@Linux01 ~]# vim /lib/systemd/system/httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=graphical.target
[root@Linux01 ~]# systemctl start httpd.service
[root@Linux01 ~]# systemctl start httpd.servce
/查看httpd服务的自启动状态
[root@Linux01 ~]# systemctl is-enabled httpd.service
.配置并启动httpd服务1〉配置httpd服务
编辑httpd 服务的主配置文件htpd .conf,查找配置项“ServerName”,在附近添加一行内容"ServiceName www.bdqn . com”,用于设置网站名称.关于httpd .conf 文件中的更多配置项,将在1.2.2小节中详细介绍。
[root@Linux01 ~]# vim /usr/local/httpd/conf/httpd.conf
修改httpd ,conf 文件的配置内容以后,建议使用带“一t”选项的apachectl命令对配置内容进行语法检查〔或使用“httpd -t”命令),如果没有语法错误.将会显示“Syntax OK”的信息,否则需要根据错误提示信息来修正配置。
[root@Linux01 ~]# apachectl -t
使用脚本文件/usr /local/httpd/bin / apachectl,分别通过“start”"stop”"restart”选项进行控制,可用来启动.终止.重启htpd服务。或者使用systemctl命令控制/lib/systemnd/system/httpd , service配置文件.从而实现对httpd服务进行控制。正常启动htpd服务以后.默认将监听TCP协议的8O端口。
[root@Linux01 ~]# systemctl restart httpd
[root@Linux01 ~]# netstat -anpt | grep httpd
httpd 服务器使用了两种类型的日志:访问日志和错误日志,这两种日志的文件名分别为access_log和error_log,均位于/usr / local/httpd / logs目录下.
通过查看访问日志文件 access_log,可以及时了解Web站点的访问情况.访问日志中的每行对应一条访问记录.记录了客户机的P地址、访问服务器的日期和时间.请求的网页对象等信息。例如,当从客户机192.168,4.110 访问Web 站点以后,访问日志将会记录“192.168,4,110……"GET/HTTP/1 , 1' ……”的消息。
[root@Linux01 ~]# tail /usr/local/httpd/logs/access_log