LAMP是指一組通常一起使用來執行動態網站或者伺服器的自由軟體名稱首字母縮寫:
LAMP架構是目前成熟的企業網站應用模式之一,指的是協同工作的一整臺系統和相關軟體,能夠提供動態web站點服務及其應用開發環境
在構建LAMP平臺時,各元件的安裝順序依次為Linux,Apache,MySQL,PHP。其中Apache和MySQL的安裝並沒有嚴格的順序要求,而PHP環境的安裝一般放到最後,負責溝通web伺服器和資料庫系統以協同工作
安裝Apache所需軟體:可以從官網下載
下載地址:http://httpd.apache.org/download.cgi
[root@localhost ~]# cd /opt
[root@localhost 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
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
解壓安裝包
[root@localhost opt]# tar xf apr-1.6.2.tar.gz
[root@localhost opt]# tar xf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar xf httpd-2.4.29.tar.bz2
將跨平臺元件包移動到原始碼包目錄下
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
注:apr和apr-util是跨平臺工具包,放到httpd下面,為上層的應用程式提供一個可以跨越多作業系統平臺使用的底層支援介面庫,更好的支援各種程式語言的使用
[root@localhost opt]#
yum -y install \
gcc \ ##c語言的原始碼編譯器
gcc-c++ \ ##c++原始碼編譯器
make \ ##make工具用於將原始碼檔案轉化成二進位制可執行性檔案
pcre-devel \ ##支援正規表示式
expat-devel \ ##支援標籤性語言,識別xml格式的檔案
perl ##支援perl語言
[root@localhost opt]# 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 | 啟用動態載入模組支援,使 httpd 具備進一步擴充套件功能的能力。 |
–enable-rewrite | 啟用網頁地址重寫功能,用於網站優化及目錄遷移維護。 |
–enable-charset-lite | 啟動字元集支援,以便支援使用各種字元集編碼的網 |
–enable-cgi | 啟用 CGI 指令碼程式支援,便於擴充套件網站的應用存取能力。 |
[root@localhost httpd-2.4.29]# make -j3 ##-j3是你核心數,最大不要超過虛擬機器器的核心數
[root@localhost httpd-2.4.29]# make install
此命令步驟也可以寫為
[root@localhost httpd-2.4.29]# make -j3 && make install
命令 | 解釋說明 |
---|---|
make | 將原始碼轉化成可執行性二進位制檔案 |
make install | 安裝 |
[root@host3 httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
##做一個組態檔的軟連結,方便呼叫和對組態檔的修改
[root@host3 httpd-2.4.29]# ln -s /usr/local/httpd/bin/ * /usr/local/bin
##將http的bin目錄下的命令進行軟連結,放到環境變數的目錄下,方便命令在全域性的使用
[root@host3 httpd-2.4.29]# httpd -v
##檢視下當前http版本
[root@localhost system]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost system]# vi /etc/init.d/httpd ###插入以下程式碼
#chkconfig: 35 85 21
#description: Apache is a World Wide Web server
//35級別自動執行 第85個啟動 第21個關閉
[root@localhost system]# chkconfig --add httpd ###新增為系統服務
[root@localhost system]# chkconfig --list httpd ###檢視http服務自啟狀態 該輸出結果只顯示Sysv服務,
並不包含原生 systemd 服務。SysV 設定資料可能被原生 systemd 設定覆蓋
在/lib/systemd/system/目錄下,建立一個以.service 結尾的單元(unit)組態檔,用於控制由 systemd 管理或監控的 httpd 服務
[root@localhost ~]# cd /lib/systemd/system/
[root@localhost system]# vim httpd.service
[Unit]
Description=The Apache HTTP Server //描述
After=network.target //描述服務類別
[Service]
Type=forking //後臺執行形式
PIDFile=/usr/local/httpd/logs/httpd.pid //PID檔案位置
ExecStart= /usr/local/bin/apachectl $OPTIONS //啟動服務
ExecrReload= /bin/kill -HUP $MAINPID //根據PID過載設定
[Install]
WantedBy=multi-user.target
[root@localhost system]# vi /usr/local/httpd/conf/httpd.conf
ServerName www.51xit.top:80 ###這一行更改下
[root@localhost init.d]# systemctl stop firewalld.service
[root@localhost init.d]# setenforce 0
[root@localhost system]# systemctl start httpd.service ##啟動httpd服務
[root@localhost system]# systemctl enable httpd.service ##開機自啟http
[root@localhost system]# systemctl is-enabled httpd.service ##檢查HTTP單元是否啟動
此時http服務已開啟
[root@host3 system]# netstat -anpt | grep 80
tcp 0 0 192.168.197.139:80 0.0.0.0:* LISTEN 69155/httpd
##在生產環境中不適用netstst命令,而是使用lsof命令
登陸網頁
驗證成功!