标签 PHP-FPM 下的文章

前言

博主继续分享关于 LNMP 安装和优化的实战经验。这些年来,个人的长期实战证明,LNMP 的优化效果非常显著,尤其是在提升网站性能方面。今天,博主将重点介绍在 LNMP 一键安装脚本成功搭建好 WEB 环境后,必须进行的 PHP 性能优化。这一步骤对于提升整体系统的响应速度和稳定性至关重要,能够显著改善网站的加载速度和用户体验。

第一步:/usr/local/php/etc/php-fpm.conf 文件优化

pm = dynamic

pm.max_children = 50

pm.start_servers = 10

pm.min_spare_servers = 10

pm.max_spare_servers = 50

pm.max_requests = 1024

pm.process_idle_timeout = 10s

request_terminate_timeout = 300

request_slowlog_timeout = 0

slowlog = var/log/slow.log

这里的前四个设置是为了调整PHP-CGI进程数的,每个PHP-CGI进程大约占用20MB的内存。因此,建议根据自己VPS的配置

另外一个标红的 timeout 时间就设置为300吧,博主一直是这么设置的,博主也试过其他的数值,在使用过程中个人感觉300是最佳的。当然这也是我个人的观点。也可以根据自己的使用习惯设置。

第二步:/usr/local/php/etc/php.ini 文件优化

隐藏PHP版本号

将文件里面的 expose_php = On 修改为 expose_php = Off 。

解决缓存优化时session问题

session.cache_limiter = nocache 修改为 session.cache_limiter = none 。

第三步: 优化opcache内存大小

/usr/local/php/conf.d/004-opcache.ini

修改里面 opcache.memory_consumption 参数,如博主的修改为 opcache.memory_consumption=256 ,明显,opcache可用内存改为256MB。

大家需要根据自己的VPS配置进行修改。

第四步:优化Memcached内存大小

/etc/init.d/memcached

修改里面的 CACHESIZE 参数,如博主修改为: CACHESIZE=256 ,即Memcached可用内存为256MB内存。

同样,大家可以根据自己的VPS配置进行优化。

总结:

以上PHP优化不可以用于LNMP的php优化,但是其它的web环境是可以的。

另外,博主强烈建议大家启用 OPcache 和 Memcached 来进一步加速网站性能。OPcache 能有效提升 PHP 脚本的执行速度,减少服务器的负担,而 Memcached 则通过缓存常用数据,显著降低数据库查询压力。如果没有安装这两个缓存优化工具,那么第三步和第四步的优化步骤就可以跳过,因为它们的作用已经被这两个缓存工具所覆盖,能够大大提高网站的响应速度和稳定性。

使用的测试文件 info.php,调用 php.info();
现在网站需要放在其他路径底下,修改了 nginx 中的 root 之后就提示 No input file specified.
但是 index.html 静态文件显示正常

在网上查的和 gpt 问,试过以下几种方式还是不行,求大佬帮忙看下

1 ,php74/etc/php-fpm.d/www.conf 文件中 chroot 和 chdir 参数都是默认注释的,
在 info.php 中,参数显示如下
USER www-data
HOME /var/www

2 ,nginx 中的 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
$document_root 或者修改成绝对路径也不行

3 ,修改 cgi.fix_pathinfo=0

4 ,;cgi.force_redirect=1 取消注释

上述的 4 种方式最多就是某 2 个一起试过。
关于文件权限问题,/var/www 使用的是 777 ,html 和我想放的文件夹 site 的权限也是 777 ,site 和网站文件的属组和属主都是 www-data
php74/etc/php-fpm.d/www.conf 文件中


user = www-data

group = www-data

listen = /run/php74-fpm.sock

listen.owner = www-data

listen.group = www-data

listen.mode = 0660


/run/php74-fpm.sock 的属组和属主是 www-data

求大佬帮忙看下还有什么办法嘛,想放到/var/www/site 文件夹下

使用的测试文件 info.php,调用 php.info();
现在网站需要放在其他路径底下,修改了 nginx 中的 root 之后就提示 No input file specified.
但是 index.html 静态文件显示正常

在网上查的和 gpt 问,试过以下几种方式还是不行,求大佬帮忙看下

1 ,php74/etc/php-fpm.d/www.conf 文件中 chroot 和 chdir 参数都是默认注释的,
在 info.php 中,参数显示如下
USER www-data
HOME /var/www

2 ,nginx 中的 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
$document_root 或者修改成绝对路径也不行

3 ,修改 cgi.fix_pathinfo=0

4 ,;cgi.force_redirect=1 取消注释

上述的 4 种方式最多就是某 2 个一起试过。
关于文件权限问题,/var/www 使用的是 777 ,html 和我想放的文件夹 site 的权限也是 777 ,site 和网站文件的属组和属主都是 www-data
php74/etc/php-fpm.d/www.conf 文件中


user = www-data

group = www-data

listen = /run/php74-fpm.sock

listen.owner = www-data

listen.group = www-data

listen.mode = 0660


/run/php74-fpm.sock 的属组和属主是 www-data

求大佬帮忙看下还有什么办法嘛,想放到/var/www/site 文件夹下

使用的测试文件 info.php,调用 php.info();
现在网站需要放在其他路径底下,修改了 nginx 中的 root 之后就提示 No input file specified.
但是 index.html 静态文件显示正常

在网上查的和 gpt 问,试过以下几种方式还是不行,求大佬帮忙看下

1 ,php74/etc/php-fpm.d/www.conf 文件中 chroot 和 chdir 参数都是默认注释的,
在 info.php 中,参数显示如下
USER www-data
HOME /var/www

2 ,nginx 中的 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
$document_root 或者修改成绝对路径也不行

3 ,修改 cgi.fix_pathinfo=0

4 ,;cgi.force_redirect=1 取消注释

上述的 4 种方式最多就是某 2 个一起试过。
关于文件权限问题,/var/www 使用的是 777 ,html 和我想放的文件夹 site 的权限也是 777 ,site 和网站文件的属组和属主都是 www-data
php74/etc/php-fpm.d/www.conf 文件中


user = www-data

group = www-data

listen = /run/php74-fpm.sock

listen.owner = www-data

listen.group = www-data

listen.mode = 0660


/run/php74-fpm.sock 的属组和属主是 www-data

求大佬帮忙看下还有什么办法嘛,想放到/var/www/site 文件夹下