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

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

ただいまの
回答率

89.06%

nginxとphp-fpmを連携させたい。

解決済

回答 4

投稿 編集

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

ShunItsuki

score 13

前提・実現したいこと

nginx + php + で wordpressの環境構築をしたい。

上記の環境でwebサイト作成をしていきたいため、homebrewを使って環境構築をしています。

発生している問題・エラーメッセージ

terminal

$ sudo php-fpm
Password:
[24-Oct-2019 16:04:41] ERROR: [pool www] cannot get uid for user 'nginx'
[24-Oct-2019 16:04:41] ERROR: FPM initialization failed
と表示される。

nginx errorlog

2019/10/24 16:10:44 [crit] 74575#0: *4 
connect() to unix:usr/local/etc/php/7./php-fpm.d/php-fpm.sock failed 
(2: No such file or directory) while connecting to upstream, client: 127.0.0.1,
 server: localhost, request: "GET / HTTP/1.1", 
upstream: "fastcgi://unix:usr/local/etc/php/7./php-fpm.d/php-fpm.sock:",
 host: "localhost"


nginx accesslog

127.0.0.1 - - [24/Oct/2019:16:10:44 +0900] "GET / HTTP/1.1" 
502 494 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"

nginx.conf

  server {
        listen       80;
        server_name  localhost;


        location / {
            root   /var/www/wordpress;
            index  index.php;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ \.php$ {
            root           var/www/wordpress;
            fastcgi_pass   unix:usr/local/etc/php/7./php-fpm.d/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }
      }

www.conf

; Start a new pool named 'www'.
; the variable $pool can be used in any directive and will be replaced by the
; pool name ('www' here)
[www]

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = nginx
group = nginx

listen = usr/local/etc/php/7.3/php-fpm.d/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

試したこと

pathを通してみる
export PATH="$(brew --prefix homebrew/brew services start php)
→効果無し

nginx userがいないと言われるので、nginxuserを下記で作成
sudo dscl . -create /Users/nginx
→効果無し

追加で試したこと

追加で試したこと
/usr/local/etc/php/7.3/php-fpm.d/nginx.conf

下記の内容を成してみたがエラー。おそらく違う方法がある。

[nginx]
listen = usr/local/etc/php/7.3/php-fpm.d/php-fpm.sock
user = nginx
group = nginx
pm = dynamic
pm.max_children = 5
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 200


エラー文

[24-Oct-2019 18:18:34] ERROR: [pool www] unable to set listen address as it's already used in another pool 'nginx'
[24-Oct-2019 18:18:34] ERROR: failed to post process the configuration
[24-Oct-2019 18:18:34] ERROR: FPM initialization failed

パスを通してなかったので、通しました。バージョンは下記に。
パスを通したところ、アクセスすることはできました。エラーは下記に

"GET /wordpress/ HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"

バージョン

homebrewにて両方ともインストールしています。
バージョンは下記です。

OS
macos catalina10.15

 /usr/local/Cellar/php/7.3.10/bin/php -v
PHP 7.3.10 (cli) (built: Sep 30 2019 19:59:57) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.10, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.10, Copyright (c) 1999-2018, by Zend Technologies

→パスを通してなかったので、通した。上記から下記に
php -v
PHP 7.3.10 (cli) (built: Sep 30 2019 19:59:57) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.10, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.10, Copyright (c) 1999-2018, by Zend Technologies

nginx -v
nginx version: nginx/1.17.3


お力添えいただけると幸いです。
よろしくお願いいたします!

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 4

check解決した方法

0

結局うまくいかず。
自分のPC内の環境が煩雑でした。仮想環境として、fly by wheelの nginx+wordpress環境 vagrant + virtualboxのubuntuの環境、macOS上でhomebrew。と多くの環境で動作がうまくいかなかったのかと思います。
macを初期化して進めたいと思います。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

php-fpmのuserとgroupはnginxに変えましたか?

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/10/24 17:40

    php-fpm のuserとgroupは変えていないと思います。
    /usr/local/etc/php/7.3/php-fpm.d/www.confと
    /usr/local/etc/nginx/nginx.confのみ編集しています。
    新しくファイル作成するということでしょうか?

    キャンセル

  • 2019/10/24 18:31

    追加で試したところに追記しました。

    キャンセル

0

こちらの問題は解決しました。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

Typo なのかもしれませんが、nginx と php-fpm とで、ソケットファイルのパスを合わせる必要があります。

fastcgi_pass   unix:usr/local/etc/php/7./php-fpm.d/php-fpm.sock;
  ↓
fastcgi_pass   unix:/usr/local/etc/php/7.3/php-fpm.d/php-fpm.sock;
listen = usr/local/etc/php/7.3/php-fpm.d/php-fpm.sock
  ↓
listen = /usr/local/etc/php/7.3/php-fpm.d/php-fpm.sock

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/10/28 10:27

    「location ~ \.php$ { ... }」の root 「var/www/wordpress;」→「/var/www/wordpress;」ですね。
    あと、「fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;」も違うのでは?

    キャンセル

  • 2019/10/28 15:22

    ご教示ありがとうございます。
    しかしながら、macを初期化することにしました。
    お力添えありがとうございました。解決できず申し訳ございません。

    キャンセル

  • 2019/10/28 18:33

    macを初期した後、www.confは弄らず、nginx.confのみを書き編集した後 brew services start php 入力後、php-fpm起動、無事phpinfoを反映することができました。
    ご指摘いただいた通り、document_rootの書き漏れの可能性もございます。
    重ねてありがとうございました。

    server {
    listen 80;
    server_name localhost;

    #charset koi8-r;

    #access_log logs/host.access.log main;

    location / {
    root /Users/shun/works/www;
    index index.html index.htm index.php;
    }

    location ~ \.php$ {
    root /Users/shun/works/www;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

    キャンセル

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

  • ただいまの回答率 89.06%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

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