LNMP配置与网页动静分离

LNMP配置与网页动静分离

  • LNMP概述

    LNMP是Linux, Nginx, MySQL, PHP的缩写,代表一种高效、灵活的网站服务器架构。在这种架构中,Linux作为操作系统,Nginx用作Web服务器,MySQL作为数据库管理系统,而PHP是服务器端脚本语言。这些组件都是免费和开源的,它们共同构成了一个成本低廉且性能优越的Web服务解决方案。

  • 什么是动态网页

    在客户不同的环境下(IP、账户、访问设备等),服务器提供的网页是不不一样的,默认情况下Nginx只能处理静态网页,用户访问任何数据都是直接返回对应的文件,如果如果访问的是一个脚本的话,就会导致直接返回一个脚本给用户,而用户没有脚本解释器,也看不懂脚本源代码。因此需要整合LNMP实现动态网页的效果。

  • LNMP环境准备

    • 软件安装

      基础环境是LINUX系统和,就不在赘述,主要阐述Nginx、数据库(Mysql或MariaDB)、后端代码环境的安装

      安装Nginx

      [root@proxy ~]# /usr/local/nginx/sbin/nginx -s stop  #如果nginx没有停止,执行命令停止,如果已经停止,无需执行
      [root@proxy ~]# rm -rf /usr/local/nginx/    #删除nginx原有目录
      [root@proxy ~]# cd /root/lnmp_soft/nginx-1.22.1/
      [root@proxy nginx-1.22.1]# yum -y install gcc make openssl-devel pcre-devel
      [root@proxy nginx-1.22.1]# ./configure --with-http_ssl_module
      [root@proxy nginx-1.22.1]# make && make install  #编译安装
      

      安装数据库和代码解释器

      [root@proxy nginx-1.22.1]# yum -y install mariadb  mariadb-server mariadb-devel php php-mysqlnd php-fpm 
      
      mariadb(数据库客户端软件)、mariadb-server(数据库服务器软件)、mariadb-devel(依赖包)、php(识别php语言)、php-fpm(进程管理器服务)、php-mysqlnd(PHP的数据库扩展包)
      
    • 服务启动

      启动Nginx

      [root@proxy nginx-1.22.1]# /usr/local/nginx/sbin/nginx
      [root@proxy nginx-1.22.1]# ss -antlp | grep 80
      tcp   LISTEN 0      128          0.0.0.0:80        0.0.0.0:*    users:(("nginx",pid=15507,fd=6),("nginx",pid=15506,fd=6))
      

      启动Mysql(MariaDB)

      [root@proxy nginx-1.22.1]# systemctl enable --now mariadb  #加入开机自启并立即启动
      [root@proxy nginx-1.22.1]# systemctl status mariadb  #查看服务状态
      

      启动PHP-FPM服务

      [root@proxy nginx-1.22.1]# systemctl enable --now php-fpm  #加入开机自启并立即启动
      [root@proxy nginx-1.22.1]# systemctl status php-fpm          #查看服务状态
      
  • 配置动静分离

    FAST-CGI是快速公共(通用)网关接口,可以连接Nginx等网站程序到语言解释器(比如PHP),php-fpm进程使用了FAST-CGI来解析动态页面。

    Fastcgi 原理-CSDN博客

    1. 修改Nginx配置文件

      [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
      ...
       65         location ~ \.php$ {     #~是使用正则表达式匹配以.php结尾,\ 转义
       66             root           html;
       67             fastcgi_pass   127.0.0.1:9000;  #将请求转发给本机php-fpm的9000端口
       68             fastcgi_index  index.php;       #网站默认页
       69             include        fastcgi.conf;    #加载fastcgi配置文件
       70         } 
      
    2. 修改php-fpm配置文件

      打开php-fpm配置文件,注意该配置文件中;(分号)是注释
      [root@proxy nginx-1.22.1]# vim /etc/php-fpm.d/www.conf
       38 listen = 127.0.0.1:9000     #更改php-fpm端口号(使用网络通信)
      [root@proxy nginx-1.22.1]# systemctl restart php-fpm    #重启服务
      [root@proxy nginx-1.22.1]# ss -antlp | grep 9000        #查看监听端口
      LISTEN 0      128        127.0.0.1:9000      0.0.0.0:*    users:(("php-fpm",pid=15808,fd=8),("php-fpm",pid=15807,fd=8),("php-fpm",pid=15806,fd=8),("php-fpm",pid=15805,fd=8),("php-fpm",pid=15804,fd=8),("php-fpm",pid=15803,fd=6))
      
      了解:
      [root@proxy nginx-1.22.1]# vim /etc/php-fpm.d/www.conf
      115 pm.max_children = 50        #最大进程数量
      120 pm.start_servers = 5        #最小进程数量
      

      完成以上步骤就可以开启对于php代码编写的动态网页解释,可以正常展示显示的网页内容。

posted @ 2025-07-09 22:21  Epiphany(qrx)  阅读(10)  评论(0)    收藏  举报