发布于2026-07-21 阅读(0)
扫一扫,手机访问
配置LNMP环境(Linux + Nginx + MySQL + PHP)是很多后端开发者都会遇到的场景。这里以CentOS系统为例,演示如何通过编译安装的方式,将Nginx和PHP-FPM搭建起来。整个过程不依赖RPM包,适合需要定制化组件或对性能有更高要求的场景。下面直接上步骤。
Nginx的rewrite模块依赖pcre,gzip模块依赖zlib,SSL模块依赖openssl。所以先通过yum把这三个开发库装好:
yum install pcre-devel zlib-devel openssl-devel -y
然后下载Nginx源码并编译。这里以1.6.2版本为例,你可以根据需要更换版本号:
wget http://nginx.org/download/nginx-1.6.2.tar.gz
tar -zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2 && ./configure \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_gunzip_module
make
make install
配置时明确开启了SSL、状态页、静态gzip以及gunzip解压支持,这些在生产环境中都很实用。
PHP-FPM是PHP的FastCGI进程管理器,早期需要单独打补丁,现在PHP 5.4+已经内置了,不过编译时仍需要显式开启。从PHP官网下载源码:
wget http://cn2.php.net/get/php-5.5.22.tar.gz/from/this/mirror -O php-5.5.22.tar.gz
tar -zxvf php-5.5.22.tar.gz
cd php-5.5.22 && ./configure --enable-fpm
make && make install
如果编译过程中报错提示缺少xml2相关,请先安装libxml2和libxml2-devel:
yum install libxml2 libxml2-devel -y
注意:这里的PHP版本是5.5.22,实际项目中建议使用官方维护的最新稳定版。
PHP-FPM安装完成后,默认的配置文件模板存放在/usr/local/etc目录下。需要复制一份作为实际配置:
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
默认情况下,PHP-FPM会监听127.0.0.1:9000,这就是Nginx转发请求时要指向的地址。如果端口被占用,可以在配置文件中修改listen指令。
编辑Nginx的站点配置文件(通常是/usr/local/nginx/conf/nginx.conf),在server块中添加一个location,用于处理所有以.php结尾的请求:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
这里的关键是SCRIPT_FILENAME参数,它告诉PHP-FPM要执行的脚本路径。如果路径不对,PHP文件会返回空白或404。Nginx的FastCGI模块详细参数可以参考官方文档:http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html。
一切就绪后,依次启动PHP-FPM和Nginx:
php-fpm && /usr/local/nginx/sbin/nginx
启动后可以通过ps aux | grep php-fpm和ps aux | grep nginx确认进程是否正常运行。如果一切正常,在/usr/local/nginx/html下创建一个简单的index.php文件写入,然后访问服务器IP,就能看到PHP的信息页面了。
以上就是编译安装Nginx和PHP-FPM的核心流程。实际部署时,可能还需要考虑MySQL的安装、PHP扩展的加载、防火墙端口开放等问题,但基础框架已经搭好了。
上一篇:php中?、?=和?php
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8