nginx之php、php-fpm相关配置
想用nginx支持php项目?先搞定安装这关
要让Nginx顺利跑起PHP项目,第一步自然是安装Nginx本身,这个步骤比较常规,这里就不展开细说了。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
咱们重点聊聊PHP和PHP-FPM的安装。这里有个经验之谈:尽量避免使用yum直接安装。为什么?因为通过yum安装后,你很可能找不到安装目录的具体位置,一旦安装过程出现问题,排查和后续调整会变得相当麻烦。
下面是一份经过整理的实操指南,供你参考:
1、下载PHP源码包
官方下载地址:https://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了。
相关攻略
想用nginx支持php项目?先搞定安装这关 要让Nginx顺利跑起PHP项目,第一步自然是安装Nginx本身,这个步骤比较常规,这里就不展开细说了。 咱们重点聊聊PHP和PHP-FPM的安装。这里有个经验之谈:尽量避免使用yum直接安装。为什么?因为通过yum安装后,你很可能找不到安装目录的具体位
构建动态IP黑名单:Nginx+Lua+Redis实战方案 服务器时不时遭遇恶意爬虫或攻击者的频繁请求,怎么办?一个行之有效的防御策略是建立动态的IP黑名单。简单说,就是把那些“不受欢迎”的IP地址列入名单,在一段时间内拒绝其所有访问请求。这不仅能有效拦截恶意流量,还能灵活设置封禁时长,实现自动化管
Nginx是一款很强大的高性能Web和反向代理服务,它是用C语言开发的,其核心优势占有内存少,并发能力强,非常适合应用在高并发场景、静态资源托管和请求的负载均衡等等。 在微服务架构普及的当下,即使项
3 月 18 日消息,名为 anvme 的用户昨日于 Nginx 的 Github 页面上,提交了为 Nginx 错误页面添加深色模式支持的请求,但这项请求于昨天被 Nginx 的开发者拒绝。该用
在实际生产环境,安全部门一般都会定期去扫描程序漏洞,基本都需要升级版本。今天我们就分享一下Nginx如何平滑升级,做到零中断。 今天分享一下Nginx如何平滑升级,做到零中断。在实际生产环境,安全部
热门专题
热门推荐
红米Note 11 Pro系统升级,为何坚持要求连接Wi-Fi? 当红米Note 11 Pro收到MIUI或澎湃OS的系统更新推送时,官方总会明确提示:整个过程请在Wi-Fi网络环境下完成。这项要求并非随意设定,而是基于清晰的技术与体验考量。一次完整的系统升级包,其大小通常在2GB至4GB之间。如果
小米13 Ultra的NFC功能深度解析:它如何重新定义“全场景智能交互”? 在旗舰手机领域,NFC功能看似已成为标配,但体验却千差万别。小米13 Ultra所搭载的全功能NFC方案,在“全能”与“好用”两个维度上树立了新的标杆。它不仅无缝集成了公交卡模拟、门禁卡复制、数字车钥匙等核心生活服务,更全
嵌入式消毒柜电源插座安装指南:隐蔽式布局提升安全与美观 在规划嵌入式消毒柜的安装方案时,电源插座的布局方式直接影响到最终的整体效果与安全性。正确的做法是避免插座外露,采用隐蔽式安装。根据国家《住宅厨房设计规范》及主流厨电品牌的安装标准,推荐将插座预留在消毒柜后方或侧方的墙体内部,安装高度宜控制在距地
是的,魔音(Beats)耳机充电状态一目了然,指示灯明确显示 当你为Beats头戴式耳机充电时,如何判断它是否已经充满?答案就藏在机身自带的五段式LED电量指示灯里。在充电过程中,这排指示灯会持续闪烁,实时反馈充电进度。一旦所有五个指示灯全部转为稳定常亮、不再闪烁,即代表电池已完全充满。整个充电周期
博朗剃须刀型号全解析:从编码规则到选购技巧的终极指南 面对博朗剃须刀复杂的字母数字组合感到困惑?实际上,其型号命名体系逻辑严谨,是用户选购的核心依据。简单来说,型号首位的数字(1、3、5、7、9)直接代表产品系列,数字越大,通常意味着技术越先进、功能越全面、定位越高端。例如,顶级的9系旗舰机型普遍搭





