Nginx
連接到上游時連接()失敗(111:連接被拒絕)
訪問目錄 ( )
502 Gateway
中的 PHP 文件時遇到錯誤。http://example.com/dev/index.php
日誌只是這樣說:2011/09/30 23:47:54 [error] 31160#0: *35 connect() failed (111: Connection refused) while connecting to upstream, client: xx.xx.xx.xx, server: domain.com, request: "GET /dev/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "domain.com"
我以前從未經歷過這種情況。此類
502 Gateway
錯誤的解決方案是什麼?這是
nginx.conf
:user www-data; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
聽起來您還沒有為 Nginx 啟動和配置後端。在上下文中啟動
php-fpm
並添加以下內容:nginx.conf``http
server { listen 127.0.0.1; server_name localhost; error_log /var/log/nginx/localhost.error_log info; root /var/www/localhost/htdocs; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; fastcgi_intercept_errors on; error_page 404 /error/404.php; } }
此答案僅適用於出現以下錯誤的人:
連接到上游、客戶端時,connect() 失敗(111:連接被拒絕)…. fastcgi://
$$ ::1 $$:9000
重寫你的 nginx 配置以使用 ip,而不是 dns。例如,
127.0.0.1
代替localhost
,或從 /etc/hosts 中刪除 ipv6 別名。