千家信息网

LNMP架构的搭建及应用部署方法

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"LNMP架构的搭建及应用部署方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、准
千家信息网最后更新 2026年11月02日LNMP架构的搭建及应用部署方法

本篇内容介绍了"LNMP架构的搭建及应用部署方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!


一、准备工作:

Centos 7 服务器、光盘
MySQL 部署可参考博文:https://blog.51cto.com/14227204/2425596
Nginx 部署可参考博文:https://blog.51cto.com/14227204/2435579
准备 PHP 的源码包:https://pan.baidu.com/s/1WARKfQ5ndcL5t5MqXq13zg
提取码: 4zjx

二、安装 PHP 解析环境:
较新版本的 PHP 已经自带了 FPM 模块,用来对PHP解析实例进行管理、优化解析效率。所以需要在编译时 添加"--enable-fpm"来启动此模块。

[root@mysql /]# yum -y  install    gd    libxml2-devel     libjpeg-devel    libpng-devel[root@mysql /]# tar zxf php-5.5.38.tar.gz  -C   /usr/src/[root@mysql php-5.5.38]# ./configure   --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm--with-jpeg-dir=/usr/lib   && make && make install                  #配置及编译安装(过程较长)

安装完毕后的调整:

[root@mysql php-5.5.38]# cp php.ini-development    /usr/local/php5/php.ini[root@mysql /]# ln -s /usr/local/php5/bin/*   /usr/local/bin/[root@mysql /]# ln -s /usr/local/php5/sbin/*   /usr/local/sbin/          # 创建链接文件,方便命令使用

安装 ZendGuardLoader:(加速 Nginx 处理速度,可省略)

[root@mysql /]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz   -C /usr/src/[root@mysql /]# cd  /usr/src/zend-loader-php5.5-linux-x86_64/[root@mysql zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/                 # 将 zend 文件复制到PHP目录中[root@mysql /]# vim /usr/local/php5/php.ini             # 写入以下两行...............zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.sozend_loader.enable=1

配置 Nginx 支持 PHP环境:
若要让Nginx能够解析PHP网页,有两种方法可以选择:其一,充当中介,将访问PHP页面的web请求转交给其他服务器(LAMP)去处理;其二,通过使用PHP的FPM模块来调用本机的PHP环境。
1、启用php-pfm进程(该进程默认监听9000端口):

[root@mysql ~]# cd /usr/local/php5/etc/[root@mysql etc]# cp php-fpm.conf.default php-fpm.conf       [root@mysql etc]# useradd -M -s /sbin/nologin php            # 创建 PHP 用户[root@mysql etc]# vim php-fpm.conf ......................pid = run/php-fpm.pid            #确认pid文件位置user = php                            #运行用户group = php                         #运行组pm.start_servers = 20                    #启动时开启的进程数pm.min_spare_servers = 5            #最少空闲进程数pm.max_spare_servers = 35         #最多空闲进程数pm.max_children = 50                   #最大子进程数[root@mysql /]# /usr/local/sbin/php-fpm             # 启动 fpm 服务[root@mysql /]# killall php-fpm                         # 停止服务

在 php-fpm.conf 配置文件中,pid配置项指出的PID信息的存放位置,对应的实际路径为:/usr/local/php5/var/run/php-fpm.pid,根据上面的配置,可以修改Nginx服务脚本,以便在启动/停止Nginx服务器时将php-fpm进程也自动启动/停止。

[root@mysql /]# vim /etc/init.d/nginx #!/bin/bash# chkconfig: - 99 20PROG="/usr/local/nginx/sbin/nginx"PIDF="/usr/local/nginx/logs/nginx.pid"PROG_FPM="/usr/local/sbin/php-fpm"PIDF_FPM="/usr/local/php5/var/run/php-fpm.pid"case "$1" in  start)        $PROG        $PROG_FPM  ;;  stop)        kill -s QUIT $(cat $PIDF)        kill -s QUIT $(cat $PIDF_FPM)  ;;  restart)        $0 stop        $0 start  ;;  reload)        kill -s HUP $(cat $PIDF)        kill -s HUP $(cat $PIDF_FPM)  ;;  *)        echo "USAGE:$0 {start | stop | restart | reload}"        exit 1esacexit 0
[root@mysql /]# systemctl daemon-reload          #重新加载守护进程,否则会有提示信息[root@mysql /]# systemctl restart nginx             # 重启服务以确认脚本无误[root@mysql /]# netstat -anpt | grep 9000tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      64964/php-fpm: mast [root@mysql /]# netstat -anpt | grep 80tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      64961/nginx: master

经过上面配置,Nginx和fpm就被绑在一块了,一旦启动或关闭Nginx服务,php-fpm程序也会随之启动或关闭,不需要额外再启动或关闭php-fpm。

配置Nginx支持PHP解析:

无论是将PHP页面交给LAMP服务器去解析,还是调用本机的php-fpm进程进行操作,都需要在"server { }"配置段中添加location设置,以便指定当访问php网页时采用哪种操作。

两种方法的配置项都可以在配置文件的末尾找到相应的模板。复制到相应位置,稍加修改即可用。

对于第一种方法,可以不执行上面php-fpm的配置(转交给其他web服务器处理,使用如下配置语句):

[root@localhost etc]# vim /usr/local/nginx/conf/nginx.conf                   ...................#省略部分内容server {                ...................location ~ \.php$ {         #访问.php页面的配置段            proxy_pass   http://192.168.1.20:80;            # apache服务器的监听地址        }             ...................   // 省略部分内容}

这里我使用第二种方法(调用本机的php-fpm进程),配置如下:

server  {.....................location ~ \.php$ {                root /var/www/test1;                fastcgi_index  index.php;                fastcgi_pass   127.0.0.1:9000;                include        fastcgi.conf        }
[root@mysql /]# vim /var/www/test1/test.php         # 编写测试网页


LNMP 平台部署 web 应用:
这里我使用的是 Discuz!,一个社区论坛。可在 http://www.discuz.net 官方下载。
部署程序代码:

[root@mysql /]# unzip Discuz_X3.3_SC_UTF8.zip        [root@mysql /]# mv upload/ /var/www/test1/bbs            # 将 upload 目录放在网站根目录下[root@mysql tt]# chown -R php:php /var/www/test1/bbs/       # 修改属主属组

创建数据库:

[root@mysql /]# mysql -u root -p Enter password:                     // 输入密码mysql> create database bbs;                     // 创建一个专属数据库mysql> grant all on bbs.* to runbbs@localhost identified by 'pwd123';       // 设置权限和管理员用户

安装 Discuz:






访问www.test1.com/bbs/admin.php 登录到后台看看:

"LNMP架构的搭建及应用部署方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

配置 服务 进程 方法 服务器 文件 内容 应用 位置 模块 环境 用户 网页 页面 本机 处理 架构 信息 实际 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 互联网科技金融公司 以房互联网科技 互联网科技论文 壕鑫互联网络科技 西安互联网科技公司 互联网汽车科技小镇 北京大学互联网科技怎么样 银川新华互联网科技职业技术培训学校图片 荆州市昕露互联网络科技有限公司 注册互联网科技公司经营范围大全 开一家科技互联网公司需要多少钱 中和天地互联网科技有限公司 烟台灵鸽互联网科技有限公司 上海京穆互联网科技有限公司 黑云互联网科技有限公司 富国互联网科技002692 上海互联网科技公司ppt 互联网科技包装股 互联网大会出现的黑科技 互联网科技工作委员会毛军 华宇互联网科技 互联网科技公司介绍 国外互联网科技网站 北京三清互联网科技 成都互联网科技公司100强 广州恒生互联网科技有限 宝灵互联网科技有限公司 互联网保险科技创业 佛山市翊博互联网络科技有限公司
0