共计 2477 个字符,预计需要花费 7 分钟才能阅读完成。
本文在 CentOS7.3 下,源码安装 apache 服务 httpd2.4。
1. 下载好源码安装包
[ | ]|
total 6252 | |
-rw-r--r--. 1 root root 6398218 Apr 7 22:25 httpd-2.4.25.tar.bz2 |
2. 解压安装包
[root@localhost ~]#tar xvf httpd-2.4.25.tar.bz2
3. 安装编译相关的工具
yum -y groupinstall "Development and Creative Workstation"
这是在安装一个应用包组,即一组应用包,编译源码相关的工具命令包含在这个包组中。实际生产中,可根据具体情况最小化安装应用包。
另外还需要安装如下包
yum install -y apr-devel | |
yum install -y apr-util-devel | |
yum install -y pcre-devel |
4. 配置编译参数
[ | ]|
/root/httpd-2.4.25 | |
[ | ]
–prefix 参数是设置安装目录,–sysconfdir 参数是设置配置文件路径
-
如果出现 ERROR 的字样,可能的原因是执行 configure 命令所需的包没安装,可见参照第三步,安装相关的工具
-
实际生产可能根据具体配置详细参数,这里只是为了示范安装,只设置了两个必要的参数
配置成功之后,出现以下字样:
configure: summary of build options: | |
Server Version: 2.4.25 | |
Install prefix: /app/http24 | |
C compiler: gcc -std=gnu99 | |
CFLAGS: -pthread | |
LDFLAGS: | |
LIBS: | |
CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE | |
C preprocessor: gcc -E |
5. 编译
make
根据参数编译源码,生成特点文件,比如二进制文件 httpd。这个过程花费的时间可能比较长。
成功之后,目录如下:
make[2]: Entering directory `/root/httpd-2.4.25/support'make[2]: Leaving directory `/root/httpd-2.4.25/support' | |
make[1]: Leaving directory `/root/httpd-2.4.25'[root@localhost httpd-2.4.25]#ls | |
ABOUT_APACHE BuildBin.dsp config.status httpd.mak libhttpd.mak modules.o server | |
acinclude.m4 buildconf configure httpd.spec LICENSE NOTICE srclib | |
Apache-apr2.dsw buildmark.o configure.in include Makefile NWGNUmakefile support | |
Apache.dsw CHANGES docs INSTALL Makefile.in os test | |
apache_probes.d CMakeLists.txt emacs-style InstallBin.dsp Makefile.win README VERSIONING | |
ap.d config.layout httpd LAYOUT modules README.cmake | |
build config.log httpd.dep libhttpd.dep modules.c README.platforms | |
BuildAll.dsp config.nice httpd.dsp libhttpd.dsp modules.lo ROADMAP |
6. 安装
make install
这一步实则是将编译之后生成的文件移动到指定的目录
7. 将 /app/http24/bin 目录配置到环境变量
- 在 /etc/profile.d/ 目录下新建 httpd.sh
[ | ]|
/etc/profile.d | |
[ | ]
- 在 httpd.sh 中添加 httpd 应用的 /bin 目录的全路径
PATH=$PATH:/app/httpd24/bin
- 让 httpd.sh 文件生效
source httpd.sh
启用 httpd 服务
apachectl start
检查启用是否成功
[root@vathe ~]#netstat -tan | grep 80 | |
tcp6 0 0 :::80 :::* LISTEN |
访问
- 查看主机 ip
[root@vathe ~]#ip a | |
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 | |
link/ether 00:0c:29:dc:18:55 brd ff:ff:ff:ff:ff:ff | |
inet 172.16.251.215/16 brd 172.16.255.255 scope global dynamic ens33 | |
valid_lft 86034sec preferred_lft 86034sec | |
inet6 fe80::83d2:113b:e29b:1a03/64 scope link | |
valid_lft forever preferred_lft forever |
主机 ip 为 172.16.251.215
- 使用浏览器直接访问 172.16.251.215
- 访问不成功,可能的原因:1.selinux 没关闭;2. 防火墙没关闭
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-10/148076.htm
正文完
星哥玩云-微信公众号
