nginx之php、php-fpm相关配置
想用nginx支持php项目?先搞定安装这关 要让Nginx顺利跑起PHP项目,第一步自然是安装Nginx本身,这个步骤比较常规,这里就不展开细说了。 咱们重点聊聊PHP和PHP-FPM的安装。这里有个经验之谈:尽量避免使用yum直接安装。为什么?因为通过yum安装后,你很可能找不到安装目录的具体位
想用nginx支持php项目?先搞定安装这关
要让Nginx顺利跑起PHP项目,第一步自然是安装Nginx本身,这个步骤比较常规,这里就不展开细说了。
咱们重点聊聊PHP和PHP-FPM的安装。这里有个经验之谈:尽量避免使用yum直接安装。为什么?因为通过yum安装后,你很可能找不到安装目录的具体位置,一旦安装过程出现问题,排查和后续调整会变得相当麻烦。
下面是一份经过整理的实操指南,供你参考:
1、下载PHP源码包
官方下载地址:http://www.php.net/downloads.php
2、安装PHP
tar -xvf php-5.5.13.tar.bz2
cd php-5.5.13
./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-readline --without-sqlite3 --without-pdo-sqlite --with-pear
执行配置命令时,可能会遇到一些依赖缺失的错误,别慌,逐一解决就好:
错误: configure error: xml2-config not found.
解决办法: 执行命令安装依赖:sudo yum install libxml2-devel。安装后可以通过 find / -name "xml2-config" 来确认是否安装成功。
错误: configure error: Cannot find OpenSSL's
解决办法: 安装OpenSSL开发包并创建软链接:
yum install openssl openssl-devel
ln -s /usr/lib64/libssl.so /usr/lib/
错误: configure: error: Please reinstall the BZip2 distribution
解决办法: yum install bzip2 bzip2-devel
错误: configure: error: Please reinstall the libcurl distribution -easy.h should be in /include/curl/
解决办法: yum -y install curl-devel
错误: configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决办法: sudo yum install libmcrypt libmcrypt-devel mcrypt mhash
错误: configure: error: Please reinstall readline - I cannot find readline.h
解决办法: sudo yum install readline-devel
解决完所有依赖问题后,就可以开始编译安装了:
make
make install
3、添加PHP命令到环境变量
编辑配置文件:vim /etc/profile
在文件末尾加入以下两行:
PATH=$PATH:/usr/local/php/bin
export PATH
要使改动立即生效,执行:. /etc/profile 或 source /etc/profile
可以分别通过以下命令查看环境变量和PHP版本,以验证是否成功:
echo $PATH
php -v
成功的话,php -v会输出类似如下信息:
PHP 5.5.13 (cli) (built: Jun 20 2014 11:11:26)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
4、配置并启动php-fpm
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
# 启动php-fpm
sudo /usr/local/php/sbin/php-fpm
5、修改Nginx配置文件以支持PHP
编辑Nginx的站点配置文件(例如:/etc/nginx/conf.d/default.conf),找到处理PHP请求的部分:
location / {
root web根目录;
index index.html index.htm index.php;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME web根目录$fastcgi_script_name;
include fastcgi_params;
}
请注意: 务必将上述配置中的“web根目录”替换为你项目实际的根目录路径。
修改完成后,重启Nginx使配置生效:/etc/init.d/nginx restart
6、测试PHP解析
最后,在你的Web根目录下创建一个index.php文件,写入。然后在浏览器中访问你的服务器地址,如果能看到详细的PHP信息页面,恭喜你,Nginx已经成功支持PHP了。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Node.js中间件:错误捕获与日志记录中间件
从中间件执行顺序与错误传播机制入手,逐步实现统一错误捕获、结构化日志记录和生产环境异常处理,并通过验证与常见避坑确保中间件真正可靠可用。
TypeScript 类型守卫实战:用 is 关键字安全收窄联合类型
在 TypeScript 开发中,处理联合类型时直接访问特定属性常引发编译错误。本文深入解析 `is` 类型谓词的工作机制,通过自定义类型守卫函数的编写与验证,展示如何安全地将宽泛类型收窄为具体子类型。同时,重点剖析常见实现误区,如检查逻辑不严谨或滥用类型断言带来的风险,并提供结合运行时校验的最佳实
JavaScript事件循环:宏任务微任务执行顺序
从浏览器事件循环的基本模型出发,结合代码执行过程,厘清同步代码、宏任务与微任务的先后关系,并通过可运行示例验证执行顺序,同时总结常见误区与实际开发中的避坑方法。
重构紧耦合:用依赖倒置与接口隔离解耦业务逻辑
本文从电商订单系统中常见的紧耦合痛点切入,演示如何通过依赖倒置原则(DIP)将业务逻辑与底层实现剥离,并利用接口隔离原则(ISP)拆分臃肿接口。通过具体的代码重构步骤与测试验证,展示如何构建高内聚、低耦合的系统架构,同时指出过度抽象等常见误区。
GDPR落地实战:从数据盘点到技术控制的闭环指南
本文以GDPR合规要求为基准,拆解隐私保护设计(Privacy by Design)的落地路径。从识别个人数据边界开始,深入探讨如何将合法性、最小化等原则转化为产品交互规范,并建立涵盖访问控制、加密与审计的技术防线。最后通过DPIA评估与常见陷阱规避,帮助团队构建可验证、可追溯的合规闭环,确保产品在
- 热门数据榜
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-10-10 14:31
2026-10-10 14:26
2026-10-10 14:21
2026-10-10 14:16
2026-10-10 14:11
2026-10-10 14:06
2026-10-10 14:01
2026-10-10 13:56
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

