天天看點

實驗:centos7編譯安裝httpd2.4

一、實驗準備環境
  • httpd 2.4 的相關源代碼
-rw-r--r-- 1 root root 1093896 May  8  2019 apr-1.7.0.tar.gz
-rw-r--r-- 1 root root  554301 May  8  2019 apr-util-1.6.1.tar.gz
-rw-r--r-- 1 root root 7030539 May  8  2019 httpd-2.4.39.tar.bz2
           
  • 安裝相關的依賴包
yum groupinstall 'Development Tools'
yum -y install pcre-devel openssl-devel expat-devel
# 解壓apr 和 apr-util 源碼到 httpd 的srclib 目錄中
tar xf apr-1.7.0.tar.gz
tar xf apr-util-1.6.1.tar.gz
mv apr-1.7.0 httpd/srclib/apr
mv apr-util-1.7.0 httpd/srclib/apr-util
           
二、開始編譯和安裝
  • 生成編譯配置檔案
./configure \
	--prefix=/data/httpd24 \
	--enable-so --enable-ssl \
	--enable-cgi \
	--enable-rewrite \
	--with-zlib \
	--with-pcre \
	--with-included-apr \
	--enable-modules=most \
	--enable-mpms-shared=all \
	--with-mpm=prefork
           
  • 執行編譯和安裝(編譯出現錯誤必須 make clean 後重新編譯)
make && make install
           
  • 運作httpd服務
apachectl start
ss -tnl
           
  • 使用systemd方式管理httpd
vim /usr/lib/systemd/system/httpd.service
[Unit]
Description=The Apache HTTP Server

[Service]
Type=simple
EnvironmentFile=/data/httpd24/conf/httpd.conf
ExecStart=/data/httpd24/bin/httpd -k start -DFOREGROUND
ExecReload=/data/httpd24/bin/httpd  -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}

[Install]
WantedBy=multi-user.target

# 重新加載httpd服務
systemctl daemon-reload 
systemctl start httpd
           
參考文章
  • Centos 7 編譯安裝apache 并使用unit檔案管理啟動