三、确认安装目录
由于指定的是安装目录为/usr/local/httpd,因此httpd服务的各种程序、模块、帮助文件都将复制到此目录下。
[root@localhost httpd-2.4.25]# ls /usr/local/httpd
bin cgi-bin error icons logs manual
build conf
htdocs include man modules
在安装后的/usr/local/httpd目录下,主要子目录的用途:
httpd服务的目录结构:
主要的目录和文件
服务目录:/usr/local/httpd/
主配置文件:/usr/local/httpd/conf/httpd.conf
网页目录:/usr/local/httpd/htdocs/
服务脚本:/usr/local/httpd/bin/apachectl
执行程序:/usr/local/httpd/bin/httpd
访问日志: /usr/local/httpd/log/access_log
错误日志: /usr/local/httpd/log/error_log
四、优化执行路径
通过源码安装的httpd服务,程序路径并不在默认的搜索路径中,为了使该服务在使用时更加方便,可以为相关程序添加符号链接。
[root@localhost httpd-2.4.25]# ln -s /usr/local/httpd/bin/* /usr/local/bin
[root@localhost httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
lrwxrwxrwx. 1 root root 30 7月 13 19:20 /usr/local/bin/apachectl -> /usr/local/httpd/bin/apachectl
lrwxrwxrwx. 1 root root 26 7月 13 19:20 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd
这样在执行相关的命令就不需要输入冗长的路径了。比如:
[root@localhost httpd-2.4.25]# httpd -v
//查看程序版本
Server version: Apache/2.4.25 (Unix)
Server built: Jul 13 2019 18:49:20
五、添加httpd系统服务
CentOS 7系统下,将编译安装的程序添加为系统服务有两种方式:
①通过chkconfig命令添加为系统服务,然后由systemctl进行管理(注意,通过这种方式不能设置程序开机自启动);
②在/lib/systemd/system/目录下,手动编写以.service结尾的单元(unit)配置文件。
1)使用chkconfig添加系统服务
若希望将httpd添加为系统服务,以便通过chkconfig进行管理,需要建立可控的服务器脚本。
[root@localhost ~]# cp /usr/local/httpd//bin/apachectl /etc/init.d/httpd
[root@localhost ~]# vim /etc/init.d/httpd
//添加如下内容
#!/bin/bash
# chkconfig: 35 85 21
\\服务识别参数,在级别3、5中启动;启动和关闭的顺序分别为85、21
#description: Startup script for the Apache HTTP Server
\\服务描述信息,可以忽略
…………
//忽略部分内容
[root@localhost httpd-2.4.25]# chkconfig --add httpd
\\添加httpd为系统服务
[root@localhost httpd-2.4.25]# systemctl start httpd
//启动httpd服务
[root@localhost httpd-2.4.25]# chkconfig --level 35 httpd on
//设置httpd服务为开机自启动
[root@localhost httpd-2.4.25]# systemctl is-enabled httpd
httpd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig httpd --level=5
enabled
//查看httpd服务是否为开机自启动,enabled为开机自启动
2)建立[service].service配置文件
在/lib/systemd/system/目录下,建立一个以.service结尾的单元(unit)配置文件,用于控制httpd服务。配置内容分为三部分:
①控制单元(unit)的定义;
②服务[service]的定义;
③安装部分[install]。
具体内容,如下:
[root@localhost ~]# 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/httpd/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=graphical.target
配置文件的个配置项的作用,如图所示:
httpd.service文件编写完成后,就可以设置开机自启动了
[root@localhost ~]# systemctl enable httpd
//设置开机自启动
Created symlink from /etc/systemd/system/graphical.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@localhost ~]# systemctl is-enabled httpd
//查看自启动服务状态
enabled
通过Apache搭建的httpd服务已经完成!客户端就已经可以访问了,但是我们来认识一些基本的配置:
一、配置并启动服务
1.配置httpd服务
编辑httpd服务的主配置文件httpd.conf,查找到配置项“ServerName”去除前面“#”号即可!(如果有合法的域名,建议修改成合法的域名,将来通过域名访问)
[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf
…………
//省略部分内容
ServerName :80
…………
//省略部分内容
修改完成后,建议使用带“-t”选项的apachectl命令对配置文件进行语法检查!
[root@localhost ~]# apachectl -t
Syntax OK