2014-01-22 39 views
0

我原來的錯誤是很多這樣的:獲得502 Nginx的機器上設置Laravel 4

nginx configuration for Laravel 4

但建議從多個論壇主題巨資修改Nginx的配置服務器模塊後,我要麼得到相同其中顯示錯誤的第一頁,但使用路由的任何鏈接返回404,否則我得到一個502

/nginx的/網站可用/默認:

server { 

listen 80; 
server_name sub.domain.com; 
set $root_path '/usr/share/nginx/html/laravel/public'; 
root $root_path; 

index index.php index.html index.htm; 

try_files $uri $uri/ @rewrite; 

location @rewrite { 
    rewrite ^/(.*)$ /index.php?_url=/$1; 
} 

location ~ \.php { 

    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index /index.php; 

    include /etc/nginx/fastcgi_params; 

    fastcgi_split_path_info  ^(.+\.php)(/.+)$; 
    fastcgi_param PATH_INFO  $fastcgi_path_info; 
    fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
} 

location ~* ^/(css|img|js|flv|swf|download)/(.+)$ { 
    root $root_path; 
} 

location ~ /\.ht { 
    deny all; 
} 
} 

錯誤日誌:

2014年1月22日16時51分12秒[錯誤] 14274#0:* 1連接()失敗(111: 連接被拒絕),同時連接到上游,客戶端: xxx.xxx.xxx.xxx,server:,請求:「GET/HTTP/1.1」,上游: 「fastcgi://127.0.0.1:9000」,主機:「xxx.xxx.xxx.xxx」

+0

你有一個'的/ etc/PHP5/FPM /池/'文件夾? –

+0

我有 /etc/php5/fpm/pool.d/www.conf @MohammadAbuShady –

+0

查看裏面有一行說'聽',你會發現2,但只有1會被取消註釋,它是什麼說? –

回答

3

看你的問題是你的php實際上並沒有聽到端口9000,試試替換

fastcgi_pass 127.0.0.1:9000; 

與此

fastcgi_pass unix:/var/run/php5-fpm.sock 

然後重新裝入nginx的

sudo service nginx reload 

502將會消失

+0

'2014/01/23 20:21:46 [error] 14274#0:* 112連接()失敗(111:連接被拒絕),同時連接上游,客戶端:xxx.xxx.xxx.xxx,服務器:,請求:「GET/HTTP/1.1」,上行:「fastcgi://127.0.0.1:9000」,主機:「xxx.xxx.xxx.xxx」 @MohammadAbuShady –

+0

我不確定我打錯了什麼,但在你的初始答案後,我也開始得到403錯誤。複製代碼從這個答案 http://stackoverflow.com/questions/19285355/nginx-403-error-directory-index-of-folder-is-forbidden 然後仔細查看差異和fastcgi_pass unix:/ var/run/php5-fpm.sock絕對在那裏。 –

+0

我在laravel僞造上得到了相同的錯誤消息。對我來說,重啓服務器就可以了。 –