我为这个问题寻找了很多解决方案。但是,他们都没有帮助我解决它。 /var/log/nginx/error.log中显示的错误如下:
2017/04/21 16:08:16 [error] 29233#0: *319 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: ..., server: ..., request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "..."
Nginx配置如下:
server {
listen 443;
server_name ... ...;
ssl on;
ssl_certificate /etc/nginx/ssl/....cer;
#ssl_client_certificate /etc/nginx/ssl/....cer;
ssl_certificate_key /etc/nginx/ssl/....key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
root /var/www/drupal7; ## <-- Your only path reference.
# Enable compression, this will help if you have for instance advagg module
# by serving Gzip versions of the files.
gzip_static on;
sendfile on;
client_max_body_size 2048M;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Very rarely should these ever be accessed outside of your lan
location ~* \.(txt|log)$ {
allow 127.0.0.1;
deny all;
}
location ~ \..*/.*\.php$ {
return 403;
}
# No no for private
location ~ ^/sites/.*/private/ {
return 403;
}
# Block access to "hidden" files and directories whose names begin with a
# period. This includes directories used by version control systems such
# as Subversion or Git to store control files.
location ~ (^|/)\. {
return 403;
}
location / {
# This is cool because no php is touched for static content
try_files $uri @rewrite;
proxy_read_timeout 300;
}
location /adore-djatoka {
# if($args ~* "/adore-djatoka/resolver?url_ver=.+&rft_id=.+&svc_id=.+") {
# rewrite ^ http://...:8080/adore-djatoka/resolver?url_ver=$0&rft_id=$2&svc_id=$1 last;
# }
# rewrite ^(.*)https(.*)$ $1http$2;
proxy_pass http://...:8080/adore-djatoka;
# proxy_redirect http://...:8080/adore-djatoka /adore-djatoka;
#proxy_redirect off;
}
location @rewrite {
# You have 2 options here
# For D7 and above:
# Clean URLs are handled in drupal_environment_initialize().
rewrite ^ /index.php;
# For Drupal 6 and bwlow:
# Some modules enforce no slash (/) at the end of the URL
# Else this rewrite block wouldn't be needed (GlobalRedirect)
#rewrite ^/(.*)$ /index.php?q=$1;
}
# For Munin
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass php-fpm;
}
# Fighting with Styles? This little gem is amazing.
# This is for D7 and D8
location ~ ^/sites/.*/files/styles/ {
try_files $uri @rewrite;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
如果需要,我也可以发布php-fpm配置文件。
谢谢,
能
答案 0 :(得分:1)
尝试替换您的PHP块
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass php-fpm;
}
这样,取决于您的PHP版本,
PHP 5 :
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php5-fpm.sock;
}
或 PHP 7 :
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
然后重启nginx。
答案 1 :(得分:1)
将fastcgi_read_timeout
参数增加到600
帮助我解决了我的问题。现在,加载网站的速度有点慢。但是我至少可以预览和管理网站。感谢您的回复@NullDev。