現在の環境
Dockerを使ってPhpベースのNginxサーバーを立てて開発中です。
利用しているコンテナ
Nginx:1.21.1
Php:7.4.9
Mysql:8.0.26
PhpMyAdmin:latest
(今回お聞きしたいことと関係ないコンテナ)
こちらの記事を参考に構築しました。
起こった問題 & 行った対処
・CSS,Javascriptなどに記述したプログラムが正常に機能しない
しっかりとPHPファイルにLinkRelでCSSファイルを指定してスタイルを変えるコードを書いたのですが、全く適用されてませんでした。
JavascriptもCSSと同じような状態で機能していませんでした。
そこで、こちらの記事を見てサーバーから送信されたファイルの形式が違うと予想して、ネットワークコンソールからファイル形式を確認しましたが、すべて正常な形式だとわかり、この予想は違いました。
次に、ファイルのパスが問題だと考えましたが、ファイルが送信されているのでこの予想も違いました。
・CSS,Javascriptなどのファイルの内容がHTMLと同じ
次に、送信されたファイルのサイズがすべて同じという事に気づき、ソースを見てみたところ、なんとCSS,JSファイルもHTMLと同じコードが書かれている状態でした。
そこで、Nginxのconfigファイルを確認してみました。
conf
1server{ 2 listen 80; 3 index index.php index.html; 4 server_name localhost; 5 6 root /var/www; 7 8 location / { 9 try_files $uri $uri/ /index.php$is_args$args; 10 } 11 12 location ~ \.php$ { 13 fastcgi_split_path_info ^(.+\.php)(/.+)$; 14 fastcgi_pass php:9000; 15 fastcgi_index index.php; 16 include fastcgi_params; 17 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 18 fastcgi_param PATH_INFO $fastcgi_path_info; 19 } 20}
このコードはこちらの記事に記述されてるコードと同じなのですが、基本的なレスポンスとPHPへの接続処理ぐらいしか書いてなくて、PHPファイルのコードをCSSやJSとして返す記述などはされてないと思うし、しっかりとrootフォルダもPHPファイルがある場所を指定しているので、初心者の私には考えられる原因が見つからず、この問題の原因が特定できませんでした。
起こった問題を簡単にすると
CSS,JSファイルなどがPHPファイルのコードと同じ (CSS,JSファイルが機能しない)
お聞きしたいこと
・この問題の解決方法
・この問題が発生した考えられる理由
の二点です。
実はNginxやPHPは始めたばかりで、特にNginxの仕組みがわからなくて、根本的な所が間違っているかもしれないので、ぜひ助言していただけると助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。