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

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

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

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

WordPress

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

PHP

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

Q&A

解決済

1回答

4145閲覧

nginx + wordpress パーマリンク設定

ShunItsuki

総合スコア13

nginx

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

WordPress

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

PHP

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

0グッド

1クリップ

投稿2019/11/05 02:48

編集2019/11/06 10:37

前提・実現したいこと

現在ワードプレスでWEBサイトを制作中です。
ワードプレスにて画面遷移を行いたいと思ったところ、
パーマリンク設定を変更した後からエラーが404エラーや file not found となっております。
現在色々と試しているところです。
お力添えいただけると幸いです。

エラーメッセージ

[error] 22496#0: *6662 "/Users/username/works/www/wordpress/自動下書き/index.html" is not found (2: No such file or directory)

usr/local/etc/nginx/nginx.conf

#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #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 logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #エラーため。too big header fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; #gzip on; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root /Users/username/works/www; index index.html index.htm index.php; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ .php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ .php$ { root /Users/username/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; #パーマリンクのため try_files $uri $uri/ /index.php?q=$uri; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} include servers/*; }

usr/local/etc/php/7.3/php-fpm.d/www.conf

(php-fpm.confのパーミッション644)
(www.confのパーミッション755に変更)

[www] user = nginx group = nginx listen = 127.0.0.1:9000 listen.owner = nginx listen.group = nginx listen.mode = 0660 pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3

試したこと

try_fileディレクティブを記載。
パーマリンクの設定変更→保存
パーマリンクは数字ベースです。

下記のlocation内にtry_files ディレクティブを記載 location / { root /Users/username/works/www; index index.html index.htm index.php; #パーマリンクのため try_files $uri $uri/ index.php?q=$uri; } →file not foundとなる・・・

下記エラー追記 : Fastcgiが機能していないのが原因かもしれない。

FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream ps auxすると下記となる。 --nodaemonizeなのが原因なのか? username 27243 0.0 0.0 4535556 952 ?? S 3:42PM 0:00.45 /usr/local/opt/php/sbin/php-fpm --nodaemonize username 27242 0.0 0.0 4513156 972 ?? S 3:42PM 0:00.96 /usr/local/opt/php/sbin/php-fpm --nodaemonize username 27241 0.0 0.0 4497836 3200 ?? S 3:42PM 0:00.19 /usr/local/opt/php/sbin/php-fpm --nodaemonize

数字ベースにすると404エラーとなっている。
usr/local/var/log/nginx/error.log

2019/11/06 17:37:03 [error] 27841#0: *7911 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /wordpress/archives/623 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost", referrer: "http://localhost/wordpress/"

開発環境

macos catalina/10.15
homebrew
Wordpress/5.2.4
PHP/7.3.10
nginx/1.17.3

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

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

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

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

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

guest

回答1

0

自己解決

下記の記事を参考に解決することができました。

nginxでwordpressのパーマリンクをデフォルト以外に対応する
https://qiita.com/egnr-in-6matroom/items/a08f4851bf16d0131e60

投稿2019/11/07 14:54

ShunItsuki

総合スコア13

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問