1. 安装httpd服务器
1.1 下载源码包
$ rpm -qa | grep httpd
$ yum install gcc gcc-c++ gcc-gfortran make pcre-devel apr-util-devel pkgconfig -y
$ wget -c https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.46.tar.bz2
$ sha256sum httpd-2.4.46.tar.bz2
740eddf6e1c641992b22359cabc66e6325868c3c5e2e3f98faf349b61ecf41ea httpd-2.4.46.tar.bz2
1.2 编译安装
$ yum install bzip2 -y
$ tar jxvf httpd-2.4.46.tar.bz2 -C /usr/src/
$ cd /usr/src/httpd-2.4.46/
$ ./configure --prefix=/usr/local/httpd --enable-so --enable-cgi --enable-rewrite --enable-mpms-shared=all --enable-charset-lite
$ make
$ make install
$ ls -l /usr/local/httpd/
total 36
drwxr-xr-x 2 root root 262 Mar 5 05:37 bin
drwxr-xr-x 2 root root 167 Mar 5 05:37 build
drwxr-xr-x 2 root root 78 Mar 5 05:37 cgi-bin
drwxr-xr-x 4 root root 84 Mar 5 05:37 conf
drwxr-xr-x 3 root root 4096 Mar 5 05:37 error
drwxr-xr-x 2 root root 24 Mar 5 05:37 htdocs
drwxr-xr-x 3 root root 8192 Mar 5 05:37 icons
drwxr-xr-x 2 root root 4096 Mar 5 05:37 include
drwxr-xr-x 2 root root 6 Mar 5 05:37 logs
drwxr-xr-x 4 root root 30 Mar 5 05:37 man
drwxr-xr-x 14 root root 8192 Mar 5 05:37 manual
drwxr-xr-x 2 root root 4096 Mar 5 05:37 modules
1.3 优化执行路径
$ ln -s /usr/local/httpd/bin/* /usr/local/bin/
$ ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
lrwxrwxrwx 1 root root 30 Mar 5 05:39 /usr/local/bin/apachectl -> /usr/local/httpd/bin/apachectl
lrwxrwxrwx 1 root root 26 Mar 5 05:39 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd
$ httpd -v
Server version: Apache/2.4.46 (Unix)
Server built: Mar 5 2021 05:34:19
1.4 配置启动脚本
$ vim /usr/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 start
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
$ systemctl daemon-reload
$ systemctl enable httpd
$ systemctl start httpd
$ netstat -atnp | grep 80
tcp 0 0 192.168.101.230:41384 221.194.161.238:80 TIME_WAIT -
tcp6 0 0 :::80 :::* LISTEN 19404/httpd
1.5 测试
$ systemctl stop firewalld
$ systemctl disable firewalld
$