一、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)檢查配置項是否有誤



第八步:瀏覽器進行訪問驗證