nginx php fpm“;“拒绝访问”;在Centos
我对index.php文件的访问被拒绝。我在服务器上使用touch命令创建了test.php,它正在工作 我使用nginx php fpm“;“拒绝访问”;在Centos,nginx,php,centos6,Nginx,Php,Centos6,我对index.php文件的访问被拒绝。我在服务器上使用touch命令创建了test.php,它正在工作 我使用touch命令和c/p index.php source new index.php文件删除了index.php并创建了index.php,然后我检查了error.log。现在,问题发生在另一个php文件上 一切正常,今天问题开始了。此配置也在运行,没有任何更改,因此出现了此问题 这是我的配置文件 /etc/nginx/conf.d/default.conf: server {
touch
命令和c/p index.php source new index.php文件删除了index.php并创建了index.php,然后我检查了error.log。现在,问题发生在另一个php文件上
一切正常,今天问题开始了。此配置也在运行,没有任何更改,因此出现了此问题
这是我的配置文件
/etc/nginx/conf.d/default.conf
:
server {
listen 80;
server_name X.X.X.X;
root /var/www/domain.com;
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 404 /404.html;
location = /404.html {
root /var/www/domain.com;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/domain.com;
}
}
user nginx;
/var/www/domain.com/
:
drwxr-xr-x. 8 nginx nginx 4096 Nov 16 16:39 .
drwxr-xr-x. 5 nginx nginx 4096 Oct 30 20:47 ..
-rwxr-xr-x. 1 nginx nginx 146 Jun 1 18:16 CONTRIBUTING.md
drwxr-xr-x. 12 nginx nginx 4096 Oct 30 23:36 app
-rwxr-xr-x. 1 nginx nginx 2452 Jun 1 18:16 artisan
drwxr-xr-x. 2 nginx nginx 4096 Oct 30 23:36 assets
drwxr-xr-x. 2 nginx nginx 4096 Oct 30 23:36 bootstrap
-rwxr-xr-x. 1 nginx nginx 697 Jun 1 18:16 composer.json
-rwxr-xr-x. 1 nginx nginx 58540 Oct 1 00:19 composer.lock
-rwxr-xr-x. 1 nginx nginx 0 Jun 1 18:16 favicon.ico
-rwxr-xr-x. 1 nginx nginx 1580 Oct 31 00:05 index.php
drwxr-xr-x. 2 nginx nginx 4096 Oct 30 23:36 packages
-rwxr-xr-x. 1 nginx nginx 567 Jun 1 18:16 phpunit.xml
drwxr-xr-x. 2 nginx nginx 4096 Oct 30 23:55 public
-rwxr-xr-x. 1 nginx nginx 2051 Jun 1 18:16 readme.md
-rwxr-xr-x. 1 nginx nginx 24 Jun 1 18:16 robots.txt
-rwxr-xr-x. 1 nginx nginx 519 Jun 1 18:16 server.php
-rwxr-xr-x. 1 nginx nginx 41 Nov 16 16:39 test.php
drwxr-xr-x. 20 nginx nginx 4096 Oct 30 23:36 vendor
/etc/nginx/nginx.conf
:
server {
listen 80;
server_name X.X.X.X;
root /var/www/domain.com;
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 404 /404.html;
location = /404.html {
root /var/www/domain.com;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/domain.com;
}
}
user nginx;
/etc/php fpm.d/www.conf
:
用户=nginx
组=nginx
/var/log/nginx/error.log
:
Unable to open primary script: /var/www/domain.com/index.php (Permission denied)" while reading response header from upstream, client: *, server: *, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "*"
2014/11/16 18:27:54 [error] 5070#0: *21 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
删除index.php并使用touch命令创建同一文件后:
PHP message: PHP Fatal error: require(): Failed opening required '/var/www/domain.com/bootstrap/autoload.php'
我刚刚花了一整天的时间在同一个问题上,最终发现是
selinux
引起的
我没有搜索到底哪个设置可能有故障,只是禁用了整个设置(SELINUX=disabled in/etc/SELINUX/config
并重新启动),最后php fpm
正常工作。感谢您的回答——这是相同的“拒绝访问”我遇到的问题和你的解决方案引导我走上了正确的道路
请注意,您可以执行以下操作,而不是完全禁用SELINUX:
$sudo setsebool-p httpd\u read\u user\u content 1
我当前的设置是使用CentOS 7.7、NGINX 1.17.3、PHP-FPM 7.3.9。NGINX.conf的内容是什么?错误日志中有什么?在代理目标(php fpm?)日志中?什么是php fpm的用户?nginx的用户是什么?用于诊断权限问题。谢谢,我将尝试。。