摘 要:LNMP是基于Linux操作系統(tǒng)、Nginx web服務器軟件、MySQL關(guān)系型數(shù)據(jù)庫、PHP語言為組合的網(wǎng)站服務器架構(gòu),已經(jīng)逐漸成為國內(nèi)外大中型公司網(wǎng)站的主流組合環(huán)境,所以在實際工作中非常有必要熟練掌握應用LNMP環(huán)境的搭建、優(yōu)化及維護方法。
關(guān)鍵詞:LNMP;網(wǎng)站;服務器;架構(gòu)
中圖分類號:TP316 文獻標志碼:A 文章編號:2095-2945(2017)26-0163-02
1 LNMP介紹
Linux是目前最流行的免費操作系統(tǒng),Nginx性能穩(wěn)定、功能豐富、處理靜態(tài)文件速度快且消耗系統(tǒng)的資源極少,MySQL是一個性能卓越、服務穩(wěn)定、成本低、支持多種操作系統(tǒng),對流行的PHP語言無縫支持。這幾個軟件組合成一個免費、高擴展性強的網(wǎng)站服務系統(tǒng)。
當LNMP組合工作時,首先是用戶通過瀏覽器輸入域名請求Nginx Web服務,如果請求是靜態(tài)資源,則由Nginx解析返回給用戶;如果是動態(tài)請求php程序,那么Nginx就會把它通過FastCGI接口發(fā)送給PHP引擎服務進行解析,如果這個動態(tài)請求還要讀取數(shù)據(jù)庫數(shù)據(jù),那么PHP就會繼續(xù)向后請求MySQL數(shù)據(jù)庫,以讀取需要的數(shù)據(jù),并最終通過Nginx服務器把獲取的數(shù)據(jù)返回給用戶,下面是LNMP環(huán)境請求調(diào)用的邏輯圖。
2 研究背景
下面是常用的網(wǎng)站服務架構(gòu):(1)Windows+IIS+ASP.NET+SQL Server;(2)Linux+Tomcat+JSP+Oracle;(3)Linux+Apache+PHP+MySQL;(4)Linux+Nginx+PHP+MySQL。
考慮到一些重要的業(yè)務場景要求并發(fā)連接數(shù)量性高,性能穩(wěn)定,處理靜態(tài)文件速度快,消耗資源少,運行又穩(wěn)定,成本又要低。如發(fā)布WordPress站點,最終選擇了第4種網(wǎng)站服務器架構(gòu)來實施。
3 LNMP配置實戰(zhàn)
3.1 安裝Nginx軟件
本案例采用的是企業(yè)級Linux發(fā)行版本CentOS 6.9版本,下面主要介紹如何安裝Nginx Web服務器軟件。
首先,安裝Nginx基礎依賴包pcre-devlel、openssl-devel。
#yum install-y openssl openssl-devel
#tar xf nginx-1.6.3.tar.gz
其次,配置、編譯和安裝。
[root@sky9896 nginx-1.6.3]#./configure \
--user=nginx \
--group=nginx \
--prefix=/application/nginx \
--with-hhtp_stub_status_module \
--with-http_ssl_module
[root@sky9896 nginx-1.6.3]# make
[root@sky9896 nginx-1.6.3]# make install
最后,啟動并檢查安裝結(jié)果:
#/application/nginx/sbin/nginx-t
#/application/nginx/sbin/nginx
#lsof -i:80
打開瀏覽器輸入安裝Nginx服務器的IP地址。
圖3 成功訪問Nginx服務Web界面圖
3.2 安裝MySQL數(shù)據(jù)庫
測試LNMP環(huán)境運行情況:用瀏覽器訪問測試。
#echo "<?php phpinfo(); ?>" > test_info.php
4 部署WordPress程序
MySQL數(shù)據(jù)庫服務器IP:192.168.126.129
Nginx Web服務器:192.168.126.130
數(shù)據(jù)庫服務器:創(chuàng)建數(shù)據(jù)庫并授權(quán)給web服務器。
Mysql>create database wordpress;
Mysql>grant all on wordpress.* to
wordpress@'192.0.0.%' identified by '9890';
Web服務器操作:
[root@ tools]# tar xf
wordpress-4.7.4-zh_CN.tar.gz
[root@ tools]#mv
wordpree /application/nginx/html/wordpress
[root@ html]# chown -R nginx.nginx wordpress
開始安裝:
http://IP+/wordpress/wp-admin/install.php
參考文獻:
[1]WuHaiming,51cto.[EB/OL].http://sky9896.blog.51cto.com.2017-7-18.
[2]吳海明.基于Linux實現(xiàn)cacti監(jiān)控應用研究[EB/OL].2016-3-26.
[3]老男孩.跟老男孩學Linux運維Web集群實戰(zhàn)[M].北京:機械工業(yè)出版社,2016.
[4]百度百科.LNMP.[EB/OL].http://baike.baidu.com.2017-7-18.endprint