LNMP指的是多款软件的凑集。L指的是Linux系统,N指的是Nginx网站做事器,M指的是Mariadb数据库软件,P指的是php软件。Linux目前是一款最盛行的免费开源的操作系统。Nginx可以做为高性能的HTTP和反向代理做事器,也可以作为IMAP/POP3/SMTP代理做事器。
Mysql是一个小型关系型数据库管理系统。PHP是一种在做事器端实行的嵌入HTML文档的脚本措辞。
软件安装

源码安装Nginx
安装依赖包
[root@cc]# yum -y insstall gcc gcc-c++ make pcre pcre-devel openssl zlib
源码包编译安装Nginx,在官网下载http://nginx.org
[root@cc]# tar -xf nginx-1.8.0.tar.gz -C /usr/local/ //解包[root@cc]# cd /usr/local/nginx-1.8.0[root@cc]# ./configure --with-http_ssl_module //配置[root@cc]# make //编译[root@cc]# make install //安装
将nginx程序做个软连接,方便实行
[root@cc]# ln -s /usr/local/nginx/sbin/nginx /usr/sbin //连接
Nginx软件包采取的是模块化的设计,模块分为内置模块和第三方模块。
Nginx做事器安装好之后,程序的主目录在/usr/local/nginx下,该目录下分别为conf(主配置文件目录),html(网页根目录),logs(日志文件目录),sbin(主程序目录)。Nginx默认无实行脚本,须要手动输入命令来管理。常用的命令如下:
启动主程序
[root@cc]# nginx
关闭主程序
[root@cc]# nginx -s stop
重载nginx配置
[root@cc]# nginx -s reload
Nginx默认监听本机80端口。
安装Mariadb数据库
Mariadb:多线程,多用户的SQL数据库管理系统。软件包:mariadb
mariadb-server
做事:mariadb
安装软件包:
[root@cc]# yum -y install mariadb mariadb-server mariadb-devel
重启做事
[root@cc]# systemctl restart mariadb
Mariadb默认监听本机3306端口。
安装php软件
PHP: 一种编程措辞,最初用于设计生产动态网站。与PERL,PYTHON类似。软件包:php php-mysql php-fpm。php-fpm软件用来连接nginx。php-mysql用来连接数据库。
[root@cc]# yum –y install php php-mysql[root@cc]# rpm -ivh php-fpm
php默认监听本机9000端口。
启动做事
nginx
[root@cc]# nginx //前面已经做好软连接
mariadb
[root@cc]# systemctl restart mariadb [root@cc]# systemctl enable mariadb //开机自启动
php
[root@cc]# systemctl restart php-fpm[root@cc]# systemctl enable php-fpm
建立LNMP平台
Nginx与php的内在联系
Nginx只能处理静态的页面要求,php处理动态页面要求。当用户连接Nginx80端口时,首先由Nginx判断要求是静态还是动态,若是静态页面,Nginx直接将要求结果返回给客户机;若是动态页面,则nginx将要求转交给本机的9000端口。php监听本机9000端口,恰好由php阐明器去处理动态页面。终极将要求结果返回给Nginx,再由Nginx将结果返回给客户端。
php连接Mariadb
php连接Mariadb数据库,进行数据的读取。
测试目标
配置Fast-CGI支持PHP网页
创建PHP测试页面,测试利用PHP连接数据库的效果
测试方案
利用2台RHEL7虚拟机,个中一台作为LNMP做事器(192.168.4.5)、其余一台作为测试用的Linux客户机(192.168.4.100),如图-1所示。
处理步骤
确认所有做事已经启动
[root@cc]# netstat -anutp | grep 80 //Nginx[root@cc]# netstat -anutp | grep 3306 //Mariadb[root@cc]# netstat -anutp | grep 9000 //php
修正Nginx主配置文件
[root@cc]# vim /usr/local/nginx/conf/nginx.conf location / {
编写测试php的代码
[root@cc]# vim /usr/local/nginx/html/test.php //php初始界面<?php
客户端测试:
[root@cc]# firefox http://192.168.4.5/test.php
访问页面如图2:
编写测试php连接Mariadb的代码
[root@cc]# vim /usr/local/nginx/html/testmysql.php...
客户端测试:
[root@cc]# firefox http://192.168.4.5/testmysql.php
测试结果如图3:
总结
php-fpm扩展包用来连接Nginx和php,没有它,LNMP平台搭建失落败。php-mysql用来连接php和mysql,同样不可或短缺。
启动Nginx做事时,若做事无法启动,则检讨是否本机80端口被某种做事占用。检讨是否由语法缺点。