您的位置:首页 > 运维架构 > Nginx

搭建nginx+php-fpm+php服务遇到的问题

2017-07-19 10:22 441 查看
a.php-fpm配置文件修改(php-fpm.conf)
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf
去掉 ;pid = run/php-fpm.pid中的“;”

b.www.conf配置文件修改(www.conf)
cp www.conf.defalut www.conf
vi www.conf
将user和group的nobody修改为www-data

c.php.ini修改
将;cgi.fix_pathinfo=1修改为cgi.fix_pathinfo=0(去掉这行“;不然SCRIPT_FILENAME这个变量无法使用”默认值为1,是为了防止当文件不存在的时,阻止Nginx将请求发送到后端的PHP-FPM模块,从而避免恶意脚本注入攻击)

d.nginx.conf配置文件的修改



这个地方默认是被注释掉的,去掉注释同时将/script$fastcgi_script_name修改为$document_root$fastcgi_script_name(不修改的话在你访问index.php的时候会显示File not found.)

这里也可以这样做修改   :

因此不再建议大家使用以下方式(搜了一下,网上大量的文章,并且nginx.conf的默认配置也是使用这种方式):

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

而使用最新的方式:

include fastcgi.conf;

将第一行的user nobody修改为user www-data



在上图中的地方添加index.php

如果不是在root权限下面的话,记得修改nginx的端口号(1024以下的端口号都是在root权限下的),不然无法启动nginx

启动nginx遇到的问题“the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /opt/nginx/conf/nginx.conf:1” 
问题出现的原因:nginx的主进程启动是需要root权限的 
可解决的办法:修改nginx文件的权限
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息