nginx中LNMP平台的搭建

南笙酒味 提交于 2019-11-27 16:12:41

什么是LNMP

主流的企业网站平台之一
-L :linux操作系统
-N :nginx网站服务软件
-M :MySQL MariaDB 数据库
-P :网站开发语言 PHP Perl Python等

部署LNMP的环境

需要nginx,mariadb,php,php扩展,
需要的软件包:nginx
mariadb(数据库客户端软件)
mariadb-server(数据库服务器软件)
mariadb-devel(其他客户端软件的依赖包)
php(解释器)
php-fpm(进程管理器服务)
php-mysql(php数据库扩展包)

1.安装软件

nginx的搭建上一篇文章中有讲解

[root@xn8 ~]# yum -y install mariadb mariadb-server mariadb-devel
[root@xn8 ~]# yum -y install php php-mysql
[root@xn8 ~]# yum -y install php-fpm

2.启服务

start 启动服务
status 查看服务状态
restart 重启服务
enable 设置开机自启

[root@xn8 ~]# systemctl start mariadb
[root@xn8 ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@xn8 ~]# systemctl start php-fpm
[root@xn8 ~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.

搭建LNMP平台

FastCGI

FastCGI工作原理
web server启动时载入FastCGI进程管理器
FastCGI进程管理器初始化,启动多个解释器进程
当客户端请求到达web server时, FastCGI进程管理器选择并连接一个解释器
FastCGI子进程完成处理后返回结果,将标准输出和错误信息从同一连接返回web server

FastCGI缺点
内存消耗大

配置FastCGI

[root@xn8 ~]# vim /etc/php-fpm.d/www.conf
listen = 127.0.0.1:9000
listen = 127.0.0.1:9000            //PHP端口号
pm.max_children = 32                //最大进程数量
pm.start_servers = 15                //最小进程数量
pm.min_spare_servers = 5            //最少需要几个空闲着的进程
pm.max_spare_servers = 32            //最多允许几个进程处于空闲状态

配置nginx
在这[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
location / {
            root   html;
            index  index.php  index.html   index.htm;
#设置默认首页为index.php,当用户在浏览器地址栏中只写域名或IP,不说访问什么页面时,服务器会把默认首页index.php返回给用户
        }
 location  ~  \.php$  {
            root           html;
            fastcgi_pass   127.0.0.1:9000;    #将请求转发给本机9000端口,PHP解释器
            fastcgi_index  index.php;
            #fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi.conf;       #加载其他配置文件
        }
创建php页面
<?php
$i="This is a test Page";
echo $i;
?>

创建动态php页面

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

客户端检验

[root@client ~]# firefox http://192.168.4.5/test.php
[root@client ~]# firefox http://192.168.4.5/mysql.php

常见错误

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

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

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

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!