一、LAMP架構介紹
1.1 LAMP概述
LAMP架構是目前成熟的企業網站應用模式之一,指的是協同工作的一整套系統和相關軟體,能夠提供動態Web站點服務及其應用開發環境。LAMP是一個縮寫詞,具體包括Linux作業系統、Apache網站伺服器、MySQL資料庫伺服器、PHP(或Perl、Python)網頁程式語言。
1.2 LAMP各元件介紹
1.2.1 (平臺)Linux
作為LAMP架構的基礎,提供用於支撐Web站點的作業系統,能夠與其他三個元件提供更好的穩定性,相容性(AMP元件也支援Windows、UNIX等平臺) 。
1.2.2(前臺)Apache
作為LAMP架構的前端,是一款功能強大,穩定性好的Web伺服器程式,該伺服器直接面向用戶提供網站訪問,傳送網頁,圖片等檔案內容。
1.2.3(後臺)MySQL
作為LAMP架構的後端,是一款流行的開源關係資料庫系統。在企業網站、業務系統等應用中,各種賬戶資訊、產品資訊,客戶資料、業務資料等都可以儲存到MySQL資料庫,其他程式可以通過SQL語句來查詢,更改這些資訊。
1.2.4(中間連線)PHP/Perl/Python
作為三種開發動態網頁的程式語言,負責解釋動態網頁檔案,負責溝通Web伺服器和資料庫系統以協同工作,並提供Web應用程式的開發和執行環境。其中PHP是一種被廣泛應用的開放原始碼的多用途指令碼語言,它可以嵌入到HTML中,尤其適合於Web應用開發。
1.3 LAMP各元件安裝順序
在構建LAMP平臺時,各元件的安裝順序依次為Linux、Apache、MySQL、PHP。其中Apache和MySQL的安裝並沒有嚴格的順序,PHP環境的安裝一般放到最後安裝,負責溝通 Web 伺服器和資料庫系統以協同工作。
二、編譯安裝Apache httpd服務
2.1 操作步驟流程
1.關閉防火牆,將安裝Apache所需軟體包傳到/opt目錄下
systemctl stop firewalld systemctl disable firewalld setenforce 0
httpd-2.4.29.tar.gz apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz
apr元件包用於支援Apache上層應用跨平臺,提供底層介面庫,能有效的降低併發連線數、降低程序和減少訪問堵塞。
2.安裝環境依賴包
yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl
各程式作用解釋如下:
gcc #C語言的編譯器
gcc-c++ #C++的編譯器
make #原始碼編譯器(原始碼轉換成二進位制檔案)
pcre #pcre是一個Perl函式庫,包括perl 相容的正則表示式庫
pcre-devel #perl的介面開發包
expat-devel #用於支援網站解析HTML、XML檔案
perl #perl語言編譯器
3.配置軟體模組
cd /opt/
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2
mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util
cd /opt/httpd-2.4.29/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
各配置命令作用解釋如下:
--enable-so \ #啟用動態載入模組支援,使 httpd 具備進一步擴充套件功能的能力
--enable-rewrite \ #啟用網頁地址重寫功能,用於網站優化、防盜鏈及目錄遷移維護
--enable-charset-lite \ #啟動字符集支援,以便支援使用各種字符集編碼的頁面
--enable-cgi #啟用CGI(通用閘道器介面)指令碼程式支援,便於網站的外部擴充套件應用訪問能力
4.編譯及安裝
make #make -j 2 表示開2核同時進行編譯
make install
5.優化配置檔案路徑,並把httpd服務的可執行程式檔案放入路徑環境變數的目錄中便於系統識別
ln -s /usr/local/httpd/conf/httpd.conf /etc/ #做個軟連結
ln -s /usr/local/httpd/bin/* /usr/local/bin/ #做個軟連結
6.新增httpd系統服務
方法一:
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd #用於service服務管理
chmod +x /etc/init.d/httpd
vi /etc/init.d/httpd
!/bin/bash #在第一行前插入新行,新增此三行內容
chkconfig: 35 85 21 #35級別自動執行 第85個啟動 第21個關閉
description: Apache is a World Wide Web server
chkconfig --add httpd #將httpd服務加入到service管理器
systemctl start httpd.service #開啟http服務(關閉和開啟要使用相同的方式)
或
service httpd start #開啟http服務(關閉和開啟要使用相同的方式)
方法二:
vim /lib/systemd/system/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 #啟動服務
ExecReload=/bin/kill -HUP $MAINPID #根據PID過載配置
[Install]
WantedBy=multi-user.target
systemctl start httpd.service #開啟http服務(關閉和開啟要使用相同的方式)
systemctl enable httpd.service #設為開機自啟動
7.修改httpd 服務配置檔案
vim /etc/httpd.conf
--52行--修改
Listen 192.198.80.10:80
--197行--取消註釋,修改
ServerName www.kgc.com:80
--221行--預設首頁存放路徑
DocumentRoot "/usr/local/httpd/htdocs"
--255行--預設首頁檔名設定
DirectoryIndex index.html
httpd -t 或 apachectl -t #檢查配置檔案的配置項是否有誤
cat /usr/local/httpd/htdocs/index.html #檢視html的內容
systemctl restart httpd.service
8.瀏覽器訪問驗證
netstat -anpt | grep 80
echo "192.168.153.10 www.zww.com" >> /etc/hosts
2.2、操作步驟
第一步:關閉防火牆和selinux,然後將三個壓縮檔案拖入到xshell內
第二步:安裝環境依賴包
第三步:配置軟體模組
1)對三個壓縮包進行解壓
2)將apr的兩個檔案移動到httpd的srclib檔案內
3)對apr兩個檔案進行修改名稱
4)切換目錄執行configure檔案
第四步:編譯並安裝
第五步:優化配置檔案路徑
1)建立軟連結
第六步:新增httpd系統服務
1)修改httpd配置檔案
2)將httpd服務加入到service管理器並開啟服務
第七步:備份修改httpd服務配置檔案
1)備份修改檔案
2)檢查配置項是否有誤
第八步:瀏覽器進行訪問驗證