微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx中LNMP平台的搭建

什么是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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐