2016-04-18 38 views
1

CentOSにPHP7サーバーをインストールしてNginxをインストールしていて、多くのユーザーのように502の不良ゲートウェイに関する問題があります。私はすべての夜の長いページを私の問題を解決しようとするのを読むが、私はまだ同じ問題があります。私はここで説明しますので、もし誰かが何が起こっているのか考えているなら、私は助けてくれれば幸いです:-)さらに、NginxとPHP-FPMの問題で502の不良ゲートウェイエラーが発生する

最初に、nginxとphp-fpmのエラーログがあります。私は "ソケットメソッド"を使用し、127.0.0.1:9000を使用して "ネットワークメソッド"を試しましたが、何も変更されませんでした...だから私は設定をロールバックしました。ログによれば、それは許可が拒否された問題ではないようです。

注:htmlページはOKです。問題はPHPページでのみ表示されます。

nginx.log

2016/04/18 22:59:22 [error] 4705#0: *47 upstream sent invalid status "20 Site temporarily unavailable" while reading response header from upstream, client: 86.253.24.233, server: testvps.balusson.net, request: "GET /phpMyAdmin/ HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/www.sock:", host: "testvps.balusson.net" 


2016/04/18 23:46:09 [error] 6115#0: *95 upstream sent invalid status "20 Site temporairement indisponible" while reading response header from upstream, client: 86.253.24.233, server: testvps.balusson.net, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/www.sock:", host: "testvps.balusson.net" 

しかし、私は私の設定ファイルは非常に簡単であるPHP-FPMログ

[[email protected] ~]# tail /var/log/php-fpm/error.log 
[18-Apr-2016 21:46:48] NOTICE: fpm is running, pid 8008 
[18-Apr-2016 21:46:48] NOTICE: ready to handle connections 
[18-Apr-2016 21:59:41] NOTICE: Terminating ... 
[18-Apr-2016 21:59:41] NOTICE: exiting, bye-bye! 
[18-Apr-2016 22:11:12] NOTICE: fpm is running, pid 2886 
[18-Apr-2016 22:11:12] NOTICE: ready to handle connections 
[18-Apr-2016 22:11:15] NOTICE: Terminating ... 
[18-Apr-2016 22:11:15] NOTICE: exiting, bye-bye! 
[18-Apr-2016 22:11:15] NOTICE: fpm is running, pid 2913 
[18-Apr-2016 22:11:15] NOTICE: ready to handle connections 

に何も表示されません。

の/ etc/nginxの/サイト利用可能/ maisonrt2012.conf

server { 
    listen  80; 
    server_name testvps.balusson.net; 

    root /var/www/maisonrt2012/public_html; 
    index index.html index.htm index.php; 

    # Pass PHP scripts on to PHP-FPM 
    location ~* \.php$ { 
     try_files  $uri /index.php; 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     fastcgi_index index.php; 
     fastcgi_pass unix:/run/php-fpm/www.sock; 
     include   fastcgi_params; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     fastcgi_param SCRIPT_NAME  $fastcgi_script_name; 
    } 

     location /phpMyAdmin { 
       root /usr/share/; 
       index index.html index.htm index.php; 
     } 
} 

は、default.confがnginx.confファイルには、私のサイトで利用可能な設定ファイル

server { 
    listen  80; 
    server_name localhost; 


    location/{ 
     root /usr/share/nginx/html; 
     index index.html index.htm index.php; 
    } 


    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
     root /usr/share/nginx/html; 
    } 

    location ~ \.php$ { 
     root   /var/www/maisonrt2012/public_html/; 
     fastcgi_pass unix:/run/php-fpm/www.sock; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 
     include  fastcgi_params; 
    } 

} 

に応じて、UNIXソケットに設定され、ユーザーは、nginxのように指定されます。 www.sockの場所は、nginxのユーザーと権限を持つOKです

; Start a new pool named 'www'. 
[www] 

user = nginx 
group = nginx 

;listen = 127.0.0.1:9000 
listen = /run/php-fpm/www.sock 

listen.owner = nginx 
listen.group = nginx 
listen.mode = 0660 

;listen.acl_users = nobody 
;listen.acl_groups = 

listen.allowed_clients = 127.0.0.1 

/etc/php-fpm.d/www.conf 次のように私のPHP-FPM設定ファイルがある

user nginx; 
worker_processes 1; 

error_log /var/log/nginx/error.log warn; 
pid  /var/run/nginx.pid; 


events { 
    worker_connections 1024; 
} 

[[email protected] ~]# ls -l /run/php-fpm/ 
total 0 
srw-rw---- 1 nginx nginx 0 Apr 18 22:11 www.sock 

彼らは

(私は別のトピックでこれを見つけた)欠落していたので、私は、/ etc nginxの/ fastcgi_params /ファイル内の2次の行を追加しました
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
fastcgi_param PATH_INFO   $fastcgi_script_name; 

しかし、私はまだ私の問題を抱えています。 は誰のアイデアを持っている場合、私はもちろん

:-)いただければ幸いですので、私は今こだわっている、PHPとnginxのはよく適切なユーザー

[[email protected] ~]# ps aux | grep php 
root  2913 0.0 0.3 317080 6464 ?  Ss Apr18 0:00 php-fpm: master process (/etc/php-fpm.conf) 
nginx  2914 0.0 0.4 319436 8460 ?  S Apr18 0:00 php-fpm: pool www 
nginx  2915 0.0 0.4 319436 8460 ?  S Apr18 0:00 php-fpm: pool www 
nginx  2916 0.0 0.4 319436 8460 ?  S Apr18 0:00 php-fpm: pool www 
nginx  2917 0.0 0.4 319436 8460 ?  S Apr18 0:00 php-fpm: pool www 
nginx  2918 0.0 0.4 319436 8460 ?  S Apr18 0:00 php-fpm: pool www 
nginx  3705 0.0 0.4 319436 8460 ?  S Apr18 0:00 php-fpm: pool www 
root  9259 0.0 0.0 103304 892 pts/0 S+ 00:09 0:00 grep php 
[[email protected] ~]# ps aux | grep nginx 
nginx  2914 0.0 0.4 319436 8460 ?  S Apr18 0:00 php-fpm: pool www 
nginx  2915 0.0 0.4 319436 8460 ?  S Apr18 0:00 php-fpm: pool www 
nginx  2916 0.0 0.4 319436 8460 ?  S Apr18 0:00 php-fpm: pool www 
nginx  2917 0.0 0.4 319436 8460 ?  S Apr18 0:00 php-fpm: pool www 
nginx  2918 0.0 0.4 319436 8460 ?  S Apr18 0:00 php-fpm: pool www 
nginx  3705 0.0 0.4 319436 8460 ?  S Apr18 0:00 php-fpm: pool www 
root  4168 0.0 0.1 45556 2140 ?  Ss Apr18 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf 
nginx  6115 0.0 0.1 45560 2324 ?  S Apr18 0:00 nginx: worker process 
root  9261 0.0 0.0 103304 892 pts/0 S+ 00:09 0:00 grep nginx 

それは些細なことかもしれないと開始されますが、私はする必要があります私は混乱していると認めます... あなたの助けてくれてありがとう!

+0

これを 'unix:/ run/php-fpm/www.sock'から' unix:/var/run/php/php7.0-fpm.sock; 'に変更し、何が起こったかを表示してください。 – aldanux

+0

こんにちは!あなたの答えをありがとう。残念ながら、私はまだ同じログエラーがあります。私はphp7.0-fpm.sock(/ var/run/php/var/run/php-fpm /)のいくつかの場所を試しましたが、私はまだ同じログを持っています... '2016/04/19 21: 56:32 [エラー] 10376#0:*上流のクライアントからの応答ヘッダーを読み取っている間に、367上流が無効なステータス "20 Site temporaire indisponible"を送信しました:86.253.24.233、server:testvps.balusson.net、request: "GET/index。 php HTTP/1.1 "、アップストリーム:" fastcgi:// unix:/var/run/php/php7.0-fpm.sock: "、host:" testvps.balusson.net " – zebron

答えて

0

ソケットを127.0.0.1:9000に変更してphp-fpmで再起動します。再起動のnginxの

location/{ 
     root /var/www/maisonrt2012/public_html; 
     index index.php index.html index.htm; 

     location ~ \.php$ { 
      try_files $uri =404; 
      fastcgi_split_path_info ^(.+\.php)(/.+)$; 
      fastcgi_pass 127.0.0.1:9000; 
      fastcgi_index index.php; 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
      include fastcgi_params; 
     } 

     #error_page 404 404.html; 

    } 

、それを試してみる: は、その後、あなたのnginxのウェブサイトのconfで以下の設定を試してみてください。忘れないでください:www-dataはあなたのPHPファイルへのアクセス許可を読み込んで実行する必要があります。

同じ問題がありました。私はブルートフォースでそれを試しました:P。 これはおそらくあなたを助けます。

関連する問題