摘 要:LNMP是基于Linux操作系统、Nginx web服务器软件、MySQL关系型数据库、PHP语言为组合的网站服务器架构,已经逐渐成为国内外大中型公司网站的主流组合环境,所以在实际工作中非常有必要熟练掌握应用LNMP环境的搭建、优化及维护方法。
关键词:LNMP;网站;服务器;架构
中图分类号:TP316 文献标志码:A 文章编号:2095-2945(2017)26-0163-02
1 LNMP介绍
Linux是目前最流行的免费操作系统,Nginx性能稳定、功能丰富、处理静态文件速度快且消耗系统的资源极少,MySQL是一个性能卓越、服务稳定、成本低、支持多种操作系统,对流行的PHP语言无缝支持。这几个软件组合成一个免费、高扩展性强的网站服务系统。
当LNMP组合工作时,首先是用户通过浏览器输入域名请求Nginx Web服务,如果请求是静态资源,则由Nginx解析返回给用户;如果是动态请求php程序,那么Nginx就会把它通过FastCGI接口发送给PHP引擎服务进行解析,如果这个动态请求还要读取数据库数据,那么PHP就会继续向后请求MySQL数据库,以读取需要的数据,并最终通过Nginx服务器把获取的数据返回给用户,下面是LNMP环境请求调用的逻辑图。
2 研究背景
下面是常用的网站服务架构:(1)Windows+IIS+ASP.NET+SQL Server;(2)Linux+Tomcat+JSP+Oracle;(3)Linux+Apache+PHP+MySQL;(4)Linux+Nginx+PHP+MySQL。
考虑到一些重要的业务场景要求并发连接数量性高,性能稳定,处理静态文件速度快,消耗资源少,运行又稳定,成本又要低。如发布WordPress站点,最终选择了第4种网站服务器架构来实施。
3 LNMP配置实战
3.1 安装Nginx软件
本案例采用的是企业级Linux发行版本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
最后,启动并检查安装结果:
#/application/nginx/sbin/nginx-t
#/application/nginx/sbin/nginx
#lsof -i:80
打开浏览器输入安装Nginx服务器的IP地址。
图3 成功访问Nginx服务Web界面图
3.2 安装MySQL数据库
测试LNMP环境运行情况:用浏览器访问测试。
#echo "<?php phpinfo(); ?>" > test_info.php
4 部署WordPress程序
MySQL数据库服务器IP:192.168.126.129
Nginx Web服务器:192.168.126.130
数据库服务器:创建数据库并授权给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实现cacti监控应用研究[EB/OL].2016-3-26.
[3]老男孩.跟老男孩学Linux运维Web集群实战[M].北京:机械工业出版社,2016.
[4]百度百科.LNMP.[EB/OL].http://baike.baidu.com.2017-7-18.endprint