質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.39%

  • WordPress

    4751questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • CentOS

    2000questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • nginx

    608questions

    nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

nginxとphp-fpmでwordpressが502 bad gatewatになってしまう。

解決済

回答 1

投稿 2017/12/08 13:02 ・編集 2017/12/08 13:08

  • 評価
  • クリップ 1
  • VIEW 57

muro

score 87

wordpressの動作環境をapacheからnginxへの切り替え作業中です。
サーバのOSはcentOS7です。

https://gist.github.com/LeCoupa/e29a457841dc4dd60006
https://qiita.com/koni/items/05158e33b4c8aac07b59
まずは上記のサイトを参考に、下記のようなファイルを作成しました。

# etc/nginx/conf.d/wordpress.conf

##
# @server studio
# @host hackisition.com
# @desc nginx host rules
# @author Julien Le Coupanec <julien@gentlenode.com>
##

# HTTP Server
server {
    listen 80;
    server_name example.com;
    rewrite ^ https://$server_name$request_uri permanent;
}

# HTTPS Server
server {
    listen 443;
    server_name example.com;

    root /var/www/html;
    index index.php;
    error_log /var/log/nginx/example.com.log crit;

    ssl on;
    ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # do not use SSLv3 ref: POODLE

    client_max_body_size 20M;

    location / {
        try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        deny all;
    }

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

参考サイトでは「php5-fpm.sock」だったのですが、当環境はphp7で動作しており、5ではバージョンが合わないと思ったので、インストールの際は「yum install php-fpm」で行いました。

# /etc/php-fpm.d/www.conf

user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

# 残りの項目は変更なし

上記作成後、apacheを停止し、nginxとphp-fpmを起動してからwordpressを開いてみましたが、タイトルが「502 bad gateway」で、内容が真っ白のエラーページが表示されてしまいました。

「/var/run/php-fpm/php-fpm.sock」ファイルが作成自体はされているのですが、0バイトのファイルになっており、FTPから開くことやダウンロードすることができません。削除はできます。
「php-fpm」フォルダおよび「php-fpm.sock」のユーザとグループは、ともにnginxとなっていました。

また、エラーログには以下のように記載されていました。

# /var/log/nginx/example.com.log

2017/12/08 11:47:00 [crit] 3626#3626: *61 connect() to unix:/var/run/php-fpm/php-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: wiredpunch.com, request: "GET /....../ HTTP/2.0", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "wiredpunch.com", referrer: "https://......."

# 以下、同様のメッセージが延々と。数値やURLやIPアドレスの部分は変動。
# /var/log/php-fpm/error.log

[08-Dec-2017 12:32:43] NOTICE: Terminating ...
[08-Dec-2017 12:32:43] NOTICE: exiting, bye-bye!
[08-Dec-2017 12:32:43] NOTICE: fpm is running, pid 5584
[08-Dec-2017 12:32:43] NOTICE: ready to handle connections
[08-Dec-2017 12:32:43] NOTICE: systemd monitor interval set to 10000ms

# 以下同文。


「No such file or directory」が出るということは「php-fpm.sock」が見つからないということだと思われ、やはり0バイトになるのは異常なのでしょうか。
どうすれば正常に「php-fpm.sock」を作成させられるのでしょうか。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

0

自己解決しました。
https://qiita.com/noraworld/items/69e5032d161b1e05978d
上記サイトなどを参考にしてみると、足りない1行があったので追記したところ、wordpressが起動するようになりました。
なお、これで動作したということは、sockファイルは0バイトで正常ということでしょうか。

# wordpress.conf

# (前略)

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; # 今回追記した行。
        include fastcgi_params;
    }

# (後略)

投稿 2017/12/08 14:15

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.39%

関連した質問

同じタグがついた質問を見る

  • WordPress

    4751questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • CentOS

    2000questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • nginx

    608questions

    nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。