LNMP环境部署与平台搭建

一、LNMP

  LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。

 LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

 Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。

 Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。

 Mysql是一个小型关系型数据库管理系统。在Linux上为MariaDB

 PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。

这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

二、部署LNMP环境

 

1.流程

  • 1)安装部署Nginx、MariaDB、PHP、PHP-FPM;
  • 2)启动Nginx、MariaDB、FPM服务;
  • 3)并测试LNMP是否工作正常。

 

2.对应软件包

LNMP(Linux、Nginx、MySQL、PHP)

在RHEL7系统中,源码安装Nginx,使用RPM包安装MariaDB、PHP、PHP-FPM软件。

操作过程中需要安装的软件列表如下:

  • nginx
  • mariadb、mariadb-server、mariadb-devel
  • php、php-fpm、php-mysql

备注:mariadb(数据库客户端软件)、mariadb-server(数据库服务器软件)、mariadb-devel(其他客户端软件的依赖包)、php(解释器)、php-fpm(进程管理器服务)、php-mysql(PHP的数据库扩展包)。

 

3.安装php

  1. [root@proxy ~]# yum -y install php php-mysql php-fpm
  2. [root@proxy ~]# system restart php-fpm
  3. [root@proxy ~]# system enable php-fpm

 

4.安装mariadb

  1. [root@proxy ~]# yum -y install mariadb mariadb-server mariadb-devel
  2. [root@proxy ~]#systemctl restart mariadb 
  3. [root@proxy ~]#systemctl enable mariadb

 

5.安排nginx

  [nginx安装详解]https://blog.csdn.net/ck784101777/article/details/98775059

  1. [root@proxy ~]# useradd -s /sbin/nologin nginx
  2. [root@proxy ~]# tar -xvf nginx-1.12.2.tar.gz
  3. [root@proxy ~]# cd nginx-1.12.2
  4. [root@proxy nginx-1.12.2]# ./configure \
  5. > --user=nginx --group=nginx \
  6. > --with-http_ssl_module
  7. [root@proxy ~]# make && make install

 

6.补充:关闭http服务

这里需要注意的是,如果服务器上已经启动了其他监听80端口的服务软件(如httpd),则需要先关闭该服务,否则会出现冲突。

  1. [root@proxy ~]# systemctl stop httpd                 //如果该服务存在则关闭该服务
  2. [root@proxy ~]# /usr/local/nginx/sbin/nginx             //启动Nginx服务
  3. [root@proxy ~]# netstat -utnlp | grep :80
  4. tcp    0    0 0.0.0.0:80        0.0.0.0:*        LISTEN        32428/nginx

 

三、搭建LNMP平台

 

0.流程:

  1. 配置Fast-CGI支持PHP网页
  2. 创建PHP测试页面,测试使用PHP连接数据库的效果

[Fast-CGI详解]https://blog.csdn.net/ck784101777/article/details/99327125

  使用2台RHEL7虚拟机,其中一台作为LNMP服务器(192.168.4.5)、另外一台作为测试用的Linux客户机(192.168.4.10),如图所示。

LNMP环境部署与平台搭建_第1张图片

Nginx结合FastCGI技术即可支持PHP解析架构,如图

LNMP环境部署与平台搭建_第2张图片

 

 

1.创建php测试页面

   在服务器上创建一个php后缀的测试网页

  1. [root@proxy ~]# vim /usr/local/nginx/html/test.php
  2. $i="hello";
  3. echo $i;
  4. ?>

 

2.修改Nginx配置文件并启动服务

在修改配置文件之前,我们nginx是怎么样处理php网页的

  1. [root@client ~]#echo "nameserver 192.168.4.5" >> /etc/resolv.conf //在客户机上进行测试,配置dns
  2. [root@client ~]#firefox 192.168.4.5/test.php   

可以看到nginx会把他当做一个文件来看,询问你是否下载

LNMP环境部署与平台搭建_第3张图片

 在服务器proxy上修改配置文件

  1. [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
  2. .....
  3. location / {
  4. root html;
  5. index index.php index.html index.htm;
  6. #设置默认首页为index.php,当用户在浏览器地址栏中只写域名或IP,不说访问什么页面时,服务器会把默认首页index.php返回给用户
  7. }
  8. location ~ \.php$ {            #匹配以php结尾的请求
  9. root html;
  10. fastcgi_pass 127.0.0.1:9000; #将请求转发给本机9000端口,PHP解释器
  11. fastcgi_index index.php;
  12. #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  13. include fastcgi.conf; #加载其他配置文件
  14. }
  15. [root@proxy ~]# /usr/local/nginx/sbin/nginx       //开启服务

 

3.经过php解析器

 配置好php解析文件后,用客户机进行测试

  1. [root@client ~]#firefox 192.168.4.5/test.php

 做好解析后内容如下

LNMP环境部署与平台搭建_第4张图片

 

4.加入mariadb

 在nginx目录下新建一个带数据库的网址,将密码该为mariadb的登录密码即可,如果没有设置默认为空'',网址的内容不是重点,理解mariadb是如何参与进来的即可

  1. [root@proxy ~]# vim /usr/local/nginx/html/mysql.php
  2. $mysqli = new mysqli('localhost','root','密码','mysql');
  3. //注意:root为mysql数据库的账户名称,密码需要修改为实际mysql密码,无密码则留空即可
  4. //localhost是数据库的域名或IP,mysql是数据库的名称
  5. if (mysqli_connect_errno()){
  6.     die('Unable to connect!'). mysqli_connect_error();
  7. }
  8. $sql = "select * from user";
  9. $result = $mysqli->query($sql);
  10. while($row = $result->fetch_array()){
  11.     printf("Host:%s",$row[0]);
  12.     printf("
    ");
  13.     printf("Name:%s",$row[1]);
  14.     printf("
    ");
  15. }
  16. ?>
  17. ......
  18. [root@proxy ~]# firefox 192.168.4.5/mysql.php

效果如下,这里是查看mariadb默认的数据库mysql下的表user

LNMP环境部署与平台搭建_第5张图片

 

 

5.LNMP排错

Nginx的默认访问日志文件为/usr/local/nginx/logs/access.log

Nginx的默认错误日志文件为/usr/local/nginx/logs/error.log

PHP默认错误日志文件为/var/log/php-fpm/www-error.log

如果动态网站访问失败,可用参考错误日志error.log,查找错误信息。

查看当天的错误信息可以这样,显示8月13当天所有的错误信息

grep  '^2019/08/13' /usr/local/nginx/logs/error.log

或者详细到某个时间段,显示8月13,10点的所有错误

grep  '^2019/08/13 10' /usr/local/nginx/logs/error.log

 

 

 

你可能感兴趣的:(LNMP)