一? 理論知識
(一)架構圖
(二)CGI? 由來
最早的Web服務器只能簡單她響應瀏覽器發來的HTTP請求,并將存儲在服務器上的HTML文件返回給瀏覽器,也就是靜態html文件,但是后期隨著網站功能增多網站開發也越來越復雜,以至于出現動態技術,比如像php(1995年)、java(1995)、python(1991)語言開發的網站,但是nginx/apache服務器并不能直接運行 php、java這樣的文件,apache實現的方式是打補丁,但是nginx卻通過與第三方基于協議實現,即通過某種特定協議將客戶端請求轉發給第三方服務處理,第三方服務器會新建新的洪程處理用戶的遺求,處理完成后返回數據給Nginx并回收進程,最后nginx在返回給客戶端,那這個約定就是通用網關接口(common gatewayinterface,簡稱CGI),CGI(協議)是web服務器和外部應用程序之間的接口標準,是cgi程序和web服務器之間傳遞信息的標準化接口。
(三)cgi? 和fastcgi? 區別
名稱 | 在web服務器方面 | 在對數據進行處理的進程方面 |
cgi | fork一個新的進程進行處理 | 讀取參數,處理數據,然后就結束生命期 |
fastcgi | 用tcp方式跟遠程機子上的進程或本地進程建 立連接 | 要開啟tcp端口,進入循環,等待數據的到來,處理數據 |
二,??搭建 LNMP 架構具體步驟
(一)?實驗環境
準備安裝 nginx mysql php 軟件
(二)先裝nginx
1,?先安裝依賴包
2,創建程序用戶
(Nginx 服務程序默認以 nobody 身份運行,建議為其創建專門的用戶賬號,以便更準確地控制其訪問權限)
3,解壓?nginx?壓縮包
4, ./configure? 指明安裝目錄? 和模塊
5,make? make install? ? 安裝
6,讓系統識別nginx的操作命令可以自動補全??
7,寫?nginx?的systemctl?配置文件
8,systemctl?重新加載配置文件? ? 加權限? 開機自啟
9,檢測? nginx? 正常
(三)編譯安mysql
1,安裝Mysql環境依賴包
2,解壓?mysql? 壓縮包
3,? 去到源碼包? ?cmake?安裝
4,?make? make install? ?
有點慢? ?耐心等待
5,修改mysql 配置文件
6,更改mysql安裝目錄和配置文件的屬主屬組
7,設置路徑環境變量
檢查是否成功
8,初始化數據庫
9,??添加mysqld系統服務
10??修改mysql 的登錄密碼
給root賬號設置密碼為abc123,提示輸入的是原始密碼(為空)要求輸入的是原密碼直接回車即可
?
11,?授權遠程登錄
(四)?編譯安裝php軟件
1,安裝環境依賴包
2,去到opt?解壓php?壓縮包
3,?去到php? 源碼包? ?./configure
4,? make? make install
(此過程較長?可耐心等候? 建議用多核編譯? 如make? -j4)
make? -j4?后? ? 他會建議你測試? ?這個會有很多時間
這邊我們不聽建議? ? 直接make install
5,路徑優化
6,??調整PHP配置文件
php有三個配置文件:?
php.ini?? ??? ??? ?主配置文件 ?
php-fpm.conf?? ?進程服務配置文件?
www.conf?? ??? ?擴展配置文件
6.1??調整主配置文件
tips:?配置文件很長? ?可以set nu? 顯示行號
?再/? 搜索指定內容? ? ? ? ? ? ?想要跳到某一行?比如1170行? ?1170G
?
6.2??調整擴展配置文件
6.3??調整擴展配置文件
7,?啟動php-fpm
#PHP-FPM(FastCGI Process Manager:FastCGI 進程管理器)是一個 PHPFastCGI 管理器, 由于Nginx服務器不能處理動態頁面,需要由 Nginx 把動態請求交給 php-fpm 進程進行解析。
8,?把?php-fpm? 交給system?管理
(五)配置 Nginx 支持 PHP 解析
1,?改主配置文件
將65?到71行取消注釋
/usr/local/nginx/html$fastcgi_script_name;?? ?
將第69行? ? ?/scripts 修改為nginx的工作目錄
將45行? ?默認文件格式?加上? index.php
2,?重啟?nginx
?
3,??驗證PHP 測試頁
客戶機訪問php? 測試頁
(六)驗證數據庫工作是否正常
1,登錄數據庫
2,新建數據庫用戶,授權
新建數據庫用戶 bbsuser? 密碼是 admin123,并且授權bbsuser 可以 訪問 bbs 數據庫中的所有資源
?
3,??替換原來的測試頁內容
vim /usr/local/nginx/html/index.php ??
4,客戶機再次訪問? 測試頁? 出現access? 即為成功
(七)安裝論壇
1,解壓? Discuz?壓縮包
(這是社區論壇的web應用)
2,?復制論壇目錄
3,調整論壇目錄的權限
標出來的都要可寫 可執行
4,?論壇安裝
http://192.168.217.99/bbs/install/index.php
5? 跟著步驟安裝
5.1
5.2
5.3
注意:本地架設就用localhost,如何不是在在本機上就要填寫IP地址和端口號
5.4?安裝成功? 以管理員身份登錄
(八)安裝博客
1,解壓?博客的壓縮包
2,?把博客?放到nginx?主頁面,拉權限
3,?再建一個數據庫賬戶
4,?訪問安裝主頁面 開始安裝
4.1? 出現報錯
4.2? 去到? nginx?主頁面下的? wordpress? 按照指導手寫一個配置文件
4.3? ?繼續安裝
4.4?成功
?