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

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

新規登録して質問してみよう
ただいま回答率
85.48%
nginx

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

PHP

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

Q&A

解決済

1回答

971閲覧

php-fpmでphpが表示されない

btakayab

総合スコア2

nginx

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

PHP

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

0グッド

0クリップ

投稿2021/03/29 08:12

現在nginxを使いPHP-fpm から PHPアプリを表示しようと思い実装していますが、File not findと出ます
簡単な構成ですが、メインはRailsアプリになっており、サブディレクトリにPHPアプリを入れている形です

エラーログ [error] 1874#0: *191 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 114.160.221.2, server: http://xxxxxx.com/, request: "GET /bank/ HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/www.sock:", host: "xxxxxxx.com"

nginx側の設定

/etc/nginx/nginx.conf

user ec2-user; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; server_tokens off; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; upstream unicornapp { server unix:/var/www/railsapp/tmp/unicorn.sock; } }

/etc/nginx/conf.d/app.conf

error_log /home/ec2-user/environment/var/log/nginx.error.log; access_log /home/ec2-user/environment/var/log/nginx.access.log; upstream unicorn_server { server unix:home/ec2-user/environment/var/www/diy/tmp/sockets/.unicorn.sock; } server { listen 80; client_max_body_size 4000M; server_name http://xxxxxx.com/; keepalive_timeout 5; proxy_max_temp_file_size 0; root home/ec2-user/environment/var/www; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; if (!-f $request_filename) { proxy_pass http://unicorn_server; break; } } location /bank/ { alias /home/ec2-user/environment/var/www/php/public/; index index.php; try_files $uri $uri/ /index.php; } location ~ /bank/(.+.php)$ { alias /home/ec2-user/environment/var/www/php/public/; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/ec2-user/environment/var/www/php/public/$1; include fastcgi_params; allow all; } }

/etc/nginx/conf.d/php-fpm.conf

upstream php-fpm { server unix:/run/php-fpm/www.sock; }

php-fpm側

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

; Start a new pool named 'www'. ; the variable $pool can we used in any directive and will be replaced by the ; pool name ('www' here) [ec2-user]
user = nginx group = nginx listen = /run/php-fpm/www.sock listen.owner = nginx listen.group = nginx listen.mode = 0666

現状の設定は上記のようになっております

エラーログからも読み取れるように、fastcgiが上手くできていないと思い

location ~ /bank/(.+.php)$ { alias /home/ec2-user/environment/var/www/php/public/; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; - fastcgi_param SCRIPT_FILENAME /home/ec2-user/environment/var/www/php/public/$1; + fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcgi_params; allow all; }

このように変更を加えてみたり、ディレクトリを変えてみたり等しました

同一ディレクトリ内のhtmlファイルは正常に表示されており、試しにphp-fpmをストップさせ
htmlを開いたときも正常に表示できていた為、php-fpm側に原因がありそうという状態です

どこの情報が必要か分からなかったので、現在操作している箇所をあげさせてもらってます

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

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

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

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

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

guest

回答1

0

自己解決

自己解決しました
fastcgi_paramの記載順に問題があったようでした

投稿2021/03/30 01:37

btakayab

総合スコア2

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問