劉寶蓮
摘要:技術(shù)論壇為相關(guān)技術(shù)愛好者信息交流、技藝切磋、經(jīng)驗分享提供平臺。該文從LNMP架構(gòu)軟件安裝,環(huán)境配置、Nginx服務(wù)器設(shè)置、Discuz論壇安裝、站點安全設(shè)置等各個方面,詳細介紹了基于LNMP的Discuz論壇搭建方法。
關(guān)鍵詞:LNMP;Nginx服務(wù)器;站點安全
中圖分類號:TP311? ? ? 文獻標識碼:A? ? ? 文章編號:1009-3044(2018)34-0030-02
1 背景
Discuz是康盛創(chuàng)想科技有限公司推出的一套通用的社區(qū)論壇軟件系統(tǒng),用戶使用開源軟件,在互聯(lián)網(wǎng)環(huán)境搭建論壇服務(wù);該服務(wù)具備功能完善、負載性強和高定制性等特點。Discuz基礎(chǔ)架構(gòu)采用當前流行的“PHP+MySQL”web編程組合來實現(xiàn),適用于構(gòu)建不同運行環(huán)境下的高效論壇系統(tǒng)。
2 服務(wù)架構(gòu)軟件安裝與部署
論壇服務(wù)架構(gòu)采用LNMP形式,即Linux系統(tǒng)下的“Nginx+MySQL+PHP”網(wǎng)站服務(wù)器架構(gòu)。Linux是目前應(yīng)用最普遍的網(wǎng)絡(luò)操作系統(tǒng),具有很好的兼容性和高穩(wěn)定性;Nginx是運行于Linux環(huán)境的Web服務(wù)器軟件;Mysql是一個小型數(shù)據(jù)庫管理系統(tǒng);PHP是在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言;上述四款軟件均為開源軟件,組合應(yīng)用能夠構(gòu)建一個免費、高效、擴展性強的網(wǎng)站服務(wù)系統(tǒng)。
2.1 MySQL安裝與部署
該文使用的開源軟件下載地址為搜狐開源鏡像。使用wget下載并解壓MySQL源碼,創(chuàng)建Mysql用戶,將解壓的Mysql文件夾移動并重命名到/usr/local/Mysql;初始化數(shù)據(jù)庫。核心代碼如下:
2.4 Nginx與PHP結(jié)合
默認情況下,Nginx只處理html文件,并不處理來自用戶請求的PHP頁面, Nginx和PHP安裝完成后,需要把兩者結(jié)合在一起方可正常解析運行。Nginx接收到PHP服務(wù)請求時,將請求交給PHP解釋器處理,最后將處理結(jié)果返回客戶機。
Nginx服務(wù)啟動后,打開瀏覽器,輸入服務(wù)器地址,如圖1所示。此時nginx已經(jīng)成功解析了php頁面,說明nginx與php之間結(jié)合成功。
2.5 測試軟件進程服務(wù)
完成軟件部署后,使用netstat命令查看相關(guān)服務(wù)的端口號是否啟用,以mysql服務(wù)檢測為例,使用netstat –lnp? mysql 查看mysql數(shù)據(jù)庫,發(fā)現(xiàn)默認端口號是3306處于工作狀態(tài),如圖2所示。
3 Nginx服務(wù)器與論壇實現(xiàn)
3.1 域名與DNS服務(wù)器綁定
現(xiàn)有一個備案成功的域名cuitianyu.xin,公網(wǎng)IP地址為106.15.202.59。完成服務(wù)器域名綁定。
3.2 定義虛擬主機
域名與IP地址綁定完成,需要在Nginx服務(wù)器中定義虛擬主機,設(shè)定服務(wù)器的IP地址與域名,提供對外服務(wù);nginx支持多個虛擬主機,nginx檢查請求的Host頭,轉(zhuǎn)發(fā)到相匹配的虛擬主機進行處理;如果Host頭沒有匹配的虛擬主機,nginx會將請求分發(fā)到默認虛擬主機default.conf進行處理,重新加載nginx配置文件,虛擬主機www.cuitianyu.xin創(chuàng)建成功。
4 站點安全總體設(shè)計
4.1 Nginx用戶認證
設(shè)置用戶認證,僅允許授權(quán)用戶發(fā)貼回帖,不僅能有效預防非授權(quán)訪問,還可以跟蹤信息來源,警示發(fā)表過激和不當言論者,創(chuàng)造良好的技術(shù)交流環(huán)境。
4.2 Nginx啟動日志
通過日志分析,有利于運維人員管理與維護站點,快速定位和修復服務(wù)故障。
4.3 Nginx訪問控制
設(shè)置訪問控制,可拒絕敏感IP、網(wǎng)站等進出流量,有效預防惡意訪問和網(wǎng)絡(luò)攻擊,保證論壇服務(wù)質(zhì)量。
4.4 Nginx禁止user-agent
禁止user-agent可有效預防搜索引擎爬蟲訪問服務(wù)器,提高服務(wù)器響應(yīng)速度,保護論壇信息。
5 結(jié)束語
該文運用Discuz社區(qū)論壇軟件系統(tǒng),從軟件安裝、服務(wù)部署到性能優(yōu)化、站點安全逐層推進,詳細介紹了一個技術(shù)分享論壇的構(gòu)建方法;該論壇具有安全性高、穩(wěn)定性好、成本低、管理方便等特點。
參考文獻:
[1] 劉遄. LINUX就該這么學[M]. 北京: 人民郵電出版社, 2017.
[2] 于荷云. PHP 7.0+MySQL網(wǎng)站開發(fā)全程實例[M]. 北京: 清華大學出版社, 2018.
[3] 方楚鑫. 基于Nginx+Modsecurity實現(xiàn)Web應(yīng)用防護系統(tǒng)[J]. 福建與電腦, 2018(12): 111-113.
[4] 張云, 許江淳, 李玉惠, 等. 基于Nginx 服務(wù)器負載均衡技術(shù)的研究與改進[J]. 軟件, 2017, 38(8): 6-12.
[5] 王曉姝. LAMP網(wǎng)站架構(gòu)方案與實施[J]. 軟件導刊, 2013, 12(1): 72-74.
【通聯(lián)編輯:謝媛媛】