🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
nginx

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

4回答

2477閲覧

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

ShunItsuki

総合スコア13

nginx

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2019/10/24 07:37

編集2019/10/25 03:23

前提・実現したいこと

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

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

自己解決

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

投稿2019/10/28 01:16

ShunItsuki

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

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/25 15:57

TaichiYanagiya

総合スコア12173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ShunItsuki

2019/10/28 01:06

ソケットファイルのパスを合わせましたがうまくいきませんでした。 ご回答ありがとうございます。
TaichiYanagiya

2019/10/28 01:17

状況、ログに変化はありませんでしたか?
ShunItsuki

2019/10/28 01:21

ソケット通信ではうまくいきそうになかったので、fastcgi_pass を 127.0.0.1:9000;に変更し て、合わせました。その後、進めて行ったのち、下記のパスになってしまいエラーなぜか/usr/local/Cellar/nginx/1.17.3_1/が含まれてしまい、詰まってしまいました。 nginx errorlogより ーーーーーー "/usr/local/Cellar/nginx/1.17.3_1/private/var/www/wordpress/index.php/index.html" is not found (2: No such file or directory), client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost
TaichiYanagiya

2019/10/28 01:27

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

2019/10/28 06:22

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

2019/10/28 09: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; }
guest

0

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

投稿2019/10/25 01:17

編集2019/10/28 10:19
ShunItsuki

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2019/10/24 08:22

hanhunhun

総合スコア100

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ShunItsuki

2019/10/24 08:40

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

2019/10/24 09:31

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問