我已经在主文件夹下configuration了php-fpm和nginx进行开发,并且我一直无法解决权限问题。 看起来php7.1-fpm.sock仍然拒绝连接,即使所有权限看起来都是正确的。
错误:
root@xps:/var/log/nginx# cat error.log 2017/05/29 00:41:23 [crit] 27326#27326: *1 connect() to unix:/run/php/php7.1-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: sub.tld.com, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.1-fpm.sock:", host: "sub.tld.com"
每次尝试访问Web根目录时都会发生这种情况,该根目录应显示:
<?php echo phpinfo(); ?>
在浏览器窗口中。
nginx.conf
user darin darin; [...]
sub.tld.com.conf用于nginx
server_name sub.tld.com root /home/darin/www [...] location ~ \.php$ { try_files $uri /index.php =404; fastcgi_pass unix:/run/php/php7.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
www.conf for php-fpm
user = darin group = darin [...] listen = /run/php/php7.1-fpm.sock [...] listen.owner = darin listen.group = darin listen.mode = 0660 [...]
看来/ run / php是/ var / run / php的符号链接。 也许这是为了简化configuration。 我不确定,但是将套接字文件指向/ var / run / php和/ run / php应该可以工作。
root@xps:/etc/nginx/conf.d# ls -l /var/run/php/ total 4 -rw-r--r-- 1 root root 4 May 29 14:33 php7.1-fpm.pid srw-rw---- 1 darin darin 0 May 29 14:33 php7.1-fpm.sock root@xps:/etc/nginx/conf.d# ls -l /run/php/ total 4 -rw-r--r-- 1 root root 4 May 29 14:33 php7.1-fpm.pid srw-rw---- 1 darin darin 0 May 29 14:33 php7.1-fpm.sock
nginx进程
ps aux | grep nginx root 5489 0.0 0.0 31884 880 ? Ss 14:33 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf darin 5490 0.0 0.0 32308 3536 ? S 14:33 0:00 nginx: worker process
fpm过程
ps aux | grep fpm root 5535 0.0 0.7 642880 60172 ? Ss 14:33 0:00 php-fpm: master process (/etc/php/7.1/fpm/php-fpm.conf) darin 5537 0.0 0.1 642880 12472 ? S 14:33 0:00 php-fpm: pool www darin 5563 0.0 0.1 642880 12472 ? S 14:33 0:00 php-fpm: pool www
我阅读大量的configuration文章,configuration文件似乎是正确的。 有一个post表示我需要更改/ var / lib / nginx的权限,所以darin:darin拥有这个权限,但是我没有find/ var / lib / nginx文件或文件夹。
从评论移动回答
在/ run / php上有错误的premissions
drwxr-xr-x 2 www-data www-data 80 May 29 14:33 php
为了解决这个问题,/ run / php的权限被修改为匹配nginx用户:
chown darin:darin /run/php
更正权限问题后,尝试访问index.php页面时仍然出现应用程序错误。
下列其中一个软件包引起了这个问题: "libphp7.1-embed php-apcu php-ds php-gearman php-geoip php-gmagick php-igbinary php-imagick php-mailparse php-http php-memcache php-memcached php-msgpack php-oauth php-radius php-redis php-rrd php-stomp php-tideways php-uploadprogress php-uuid php-xdebug php-yaml" 。
删除,清除和重新安装所需的php7.1模块后,它按预期工作。