Linux 源码编译安装httpd 2.4,提供系统服务管理脚本并测试

第一种方式

1. 下载 Apache HTTP Server 源代码
首先,从 Apache 官网 下载最新版本的 httpd 2.4 源码,或者直接使用 wget 下载:

[root@localhost ~]# wget https://downloads.apache.org/httpd/httpd-2.4.36.tar.gz 

# 解压
[root@localhost ~]# tar xf httpd-2.4.63.tar.gz -C /usr/local/src/
[root@localhost ~]# yum install gcc gcc-c++ make

#切换
[root@localhost ~]# cd /usr/local/src/httpd-2.4.63/

2.添加组与用户

[root@localhost httpd-2.4.63]# groupadd -r -g 48 apache
[root@localhost httpd-2.4.63]# useradd -r -u 48 -g 48 -c "Apache server" -s /sbin/nologin apache

3. 安装编译依赖

[root@localhost httpd-2.4.63]# yum install apr-devel
[root@localhost httpd-2.4.63]# yum install apr-util-devel
[root@localhost httpd-2.4.63]# yum install pcre-devel

4. 配置编译选项编译并安装

[root@localhost httpd-2.4.63]# ./configure --prefix=/usr/local/apache

5.编译并安装

[root@localhost httpd-2.4.63]# make
[root@localhost httpd-2.4.63]# make install

6.配置文件

[root@localhost ~]# cd /usr/local/apache
[root@localhost apache]# cd bin/
[root@localhost bin]# ll
total 1300
-rwxr-xr-x 1 root root  55576 Feb  6 16:15 ab
-rwxr-xr-x 1 root root   3434 Feb  6 16:13 apachectl
-rwxr-xr-x 1 root root  23877 Feb  6 16:13 apxs
-rwxr-xr-x 1 root root  16480 Feb  6 16:15 checkgid
-rwxr-xr-x 1 root root   8874 Feb  6 16:13 dbmmanage
-rw-r--r-- 1 root root   1071 Feb  6 16:13 envvars
-rw-r--r-- 1 root root   1071 Feb  6 16:13 envvars-std
-rwxr-xr-x 1 root root  17480 Feb  6 16:15 fcgistarter
-rwxr-xr-x 1 root root  44608 Feb  6 16:15 htcacheclean
-rwxr-xr-x 1 root root  31728 Feb  6 16:15 htdbm
-rwxr-xr-x 1 root root  17760 Feb  6 16:15 htdigest
-rwxr-xr-x 1 root root  31176 Feb  6 16:15 htpasswd
-rwxr-xr-x 1 root root 975544 Feb  6 16:15 httpd
-rwxr-xr-x 1 root root  17440 Feb  6 16:15 httxt2dbm
-rwxr-xr-x 1 root root  18072 Feb  6 16:15 logresolve
-rwxr-xr-x 1 root root  31072 Feb  6 16:15 rotatelogs

[root@localhost bin]# cp apachectl /etc/init.d/httpd
[root@localhost bin]# ll /etc/init.d/httpd
-rwxr-xr-x 1 root root 3434 Feb  6 16:32 /etc/init.d/httpd
[root@localhost bin]# vim /etc/init.d/httpd
##添加如下脚本

#chkconfig:  35 80 10
#description:  Apache is an HTTP(S) server

7.添加成系统服务

[root@localhost bin]# chkconfig --level 35 --add httpd
[root@localhost bin]# chkconfig --level 35 httpd on
[root@localhost bin]# chkconfig --list httpd

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

httpd           0:off   1:off   2:off   3:on    4:off   5:on    6:off

8.启动服务

[root@localhost bin]# systemctl start httpd

9.查看端口

[root@localhost bin]# netstat -lnupt | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      33622/httpd

 如果没有安装net-tools,需安装后才能查看端口:

#yum install net-tools

10.测试成功 

11.反向操作删除

[root@localhost bin]# systemctl stop httpd
[root@localhost bin]# chkconfig --level 35 httpd off
[root@localhost bin]# chkconfig --level 35 --del httpd
[root@localhost bin]# rm -f /etc/local/init.d/httpd

第二种方式

1.编辑文件

[root@localhost bin]# vim /usr/lib/systemd/system/httpd.service

[Unit]
Description=The Apache HTTP Server
Documentation=man:httpd.service(8)
After=network.target remote-fs.target nss-lookup.target httpd-init.service
Wants=httpd-init.service

[Service]
Type=forking
ExecStart=/usr/local/apache/bin/httpd  -k start
ExecReload=/usr/local/apache/bin/httpd  -k graceful
ExecStop=/usr/local/apache2/bin/httpd -k stop
PrivateTmp=true
PIDFile=/usr/local/apache/logs/httpd.pid

[Install]
WantedBy=multi-user.target
[root@localhost bin]# vim /usr/local/apache/conf/httpd/conf

##修改如下脚本
User apache
Group apache

2.检测编写脚本是否有误

[root@localhost bin]# /usr/local/apache/bin/httpd -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Syntax OK

3.加载系统守护进程

[root@localhost bin]# systemctl daemon-reload

4.启动服务

[root@localhost bin]# systemctl start httpd

5.测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值