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