文章目錄
- 前言
- 一、Apache簡介
- 二、Apache網站服務原始碼編譯安裝
- 1.安裝Apache所需軟體
- 2.安裝環境
- 3.configure配置
- 4.make編譯安裝
- 5.配置啟動腳本
- 6.開啟Http服務埠
- 測驗
前言
Apache原始碼編譯安裝
提示:以下是本篇文章正文內容,下面案例可供參考
一、Apache簡介


二、Apache網站服務原始碼編譯安裝
1.安裝Apache所需軟體
:操作如下所示
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.gz
##將上面3個包傳到opt目錄下##
cd /opt
ll
總用量 8020
-rw-r--r-- 1 root root 1071074 8月 4 17:33 apr-1.6.2.tar.gz
-rw-r--r-- 1 root root 565507 8月 4 17:33 apr-util-1.6.0.tar.gz
-rw-r--r-- 1 root root 6567926 8月 4 17:33 httpd-2.4.29.tar.bz2
-rw-r--r-- 1 root root 6567926 8月 4 17:33 httpd-2.4.29.tar.bz2
解壓安裝包
tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz
tar xf httpd-2.4.29.tar.bz2
為了實作Apache服務跨平臺,必須移動下面倆個目錄
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
2.安裝環境
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
gcc ,gcc-c++ 是原始碼編譯器( 作用:將輸入的代碼決議成電腦能識別的語言)
make 是可以將組態檔構建出二進制檔案 遞給電腦
pcre-devel 支持正則運算式
expat-devel 使網站能決議標簽語言的工具
perl 一種擁有各種語言功能的夢幻腳本語言
3.configure配置
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
–prefix:指定將 httpd 服務程式安裝到哪個目錄下,如/usr/local/httpd
–enable-so:開啟HTTP的核心模塊
–enable-rewrite:啟用網頁地址重寫功能,用于網站優化及目錄遷移維護,
–enable-charset-lite:啟動字符集支持,以便支持使用各種字符集編碼的網
–enable-cgi:支持多種語言,對語言進行規范設
4.make編譯安裝
make && make install
make -j3 然后make install -j3是你核心數,最大不要超過虛擬機的核心數
####優化執行路徑####
ln -s /usr/local/httpd/conf/httpd.conf /etc/ ##簡化組態檔的地址
ln -s /usr/local/httpd/bin/* /usr/local/bin/ ##將http執行檔案放入系統中便于管理
httpd -v ###查看下HTTP版本
5.配置啟動腳本
方法一:
[root@localhost bin]# cd /usr/local/httpd/
[root@localhost httpd]# ls
bin build cgi-bin conf error htdocs icons include lib logs man manual modules
[root@localhost httpd]# cd bin
[root@localhost bin]# ls
ab apu-1-config dbmmanage fcgistarter htdigest httxt2dbm
apachectl apxs envvars htcacheclean htpasswd logresolve
apr-1-config checkgid envvars-std htdbm httpd rotatelogs
[root@localhost bin]# cp apachectl /etc/init.d/httpd '//將啟動腳本復制到/etc/init.d/初始化腳本檔案中,并重命名為httpd'
[root@localhost bin]# cd /etc/init.d/
[root@localhost init.d]# ls
functions httpd netconsole network README
[root@localhost init.d]# vim httpd
#!/bin/sh '//在行首插入下兩行內容,并保存退出'
# chkconfig: 35 85 21 '//35級別自動運行 第85個啟動 第21個關閉'
# description: Apache is a World Wide Web server
#
#...省略內容
[root@localhost init.d]# chkconfig --add httpd '//將httpd加入到SERVICE管理器'
[root@localhost init.d]# chkconfig --list httpd ###查看http服務自啟狀態 該輸出結果只顯示Sysv服務,并不包含原生 systemd 服務,SysV 配置資料可能被原生 systemd 配置覆寫
方法二:建立[service].service 組態檔添加系統給服務
在/lib/systemd/system/目錄下,建立一個以.service 結尾的單元(unit)組態檔,用于控制由 systemd 管理或監控的 httpd 服務
cd /lib/systemd/system/
##建立組態檔##
vim 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 $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
驗證組態檔的語法(兩種方式)
(1)httpd -t
(2)apachectl -t
[root@localhost system]# systemctl start httpd.service
[root@localhost system]# systemctl enable httpd.service ###開機自啟http
[root@localhost system]# systemctl is-enabled httpd.service ###檢查HTTP單元是否啟動
6.開啟Http服務埠
vi /usr/local/httpd/conf/httpd.conf
ServerName www.51xit.top:80 ###更改下
systemctl restart httpd ####重啟httpd服務
如何查看服務是否起來?
ps aux | grep httpd ##查看行程
netstat -ntap | grep 80 ##查看埠
tcp 0 0 192.168.197.139:80 0.0.0.0:* LISTEN 69155/httpd
測驗
關閉防火墻
systemctl stop firewalld.service
setenforce 0 查看核心防護
登錄驗證,Apache服務啟動成功

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/138284.html
標籤:其他
上一篇:docker consul容器服務更新與私庫harbor
下一篇:大資料之Kafka(二)
