これは開発サイトでした。今朝の私のバックアップの時点で、ライブ環境にプッシュされていました。
システム
Ubuntu 18.04
Nginx
PHP 7.2
MYSQL
TLSv1フォームの証明書パスの削除に取り組んでいました。それを削除してテストすると問題なく動作しました。プラグインを使用してAPIを再適用し、正しいURLでコールバックするようにしました。現在、デフォルトのNginxページを取得しています。バックアップから新しいサーバーに復元し、サイトを実行しています。私はトリアージをしている最中であり、地獄が何が起こったのか理解できないようです。
NGINXのエラーログは次のとおりです。
2018/07/13 19:37:01 [error] 4593#4593: *206 open() "/usr/share/nginx/html/wp-admin/admin-ajax.php" failed (2: No such file or directory), client: 65.152.214.10, server: , request: "POST /wp-admin/admin-ajax.php HTTP/1.1", Host: "smokingquartz.com", referrer: "https://smokingquartz.com/wp-admin/plugins.php"
2018/07/13 19:39:01 [error] 4593#4593: *211 open() "/usr/share/nginx/html/wp-admin/admin-ajax.php" failed (2: No such file or directory), client: 65.152.214.10, server: , request: "POST /wp-admin/admin-ajax.php HTTP/1.1", Host: "smokingquartz.com", referrer: "https://smokingquartz.com/wp-admin/plugins.php"
2018/07/13 19:41:02 [error] 4593#4593: *213 open() "/usr/share/nginx/html/wp-admin/admin-ajax.php" failed (2: No such file or directory), client: 65.152.214.10, server: , request: "POST /wp-admin/admin-ajax.php HTTP/1.1", Host: "smokingquartz.com", referrer: "https://smokingquartz.com/wp-admin/plugins.php"
2018/07/13 19:43:03 [error] 4593#4593: *215 open() "/usr/share/nginx/html/wp-admin/admin-ajax.php" failed (2: No such file or directory), client: 65.152.214.10, server: , request: "POST /wp-admin/admin-ajax.php HTTP/1.1", Host: "smokingquartz.com", referrer: "https://smokingquartz.com/wp-admin/plugins.php"
2018/07/13 19:44:09 [error] 4593#4593: *218 open() "/usr/share/nginx/html/phpmyadmin/index.php" failed (2: No such file or directory), client: 96.88.66.233, server: , request: "POST /phpmyadmin/index.php HTTP/1.1", Host: "smokingquartz.com"
2018/07/13 19:45:03 [error] 4593#4593: *220 open() "/usr/share/nginx/html/wp-admin/admin-ajax.php" failed (2: No such file or directory), client: 65.152.214.10, server: , request: "POST /wp-admin/admin-ajax.php HTTP/1.1", Host: "smokingquartz.com", referrer: "https://smokingquartz.com/wp-admin/plugins.php"
2018/07/13 19:47:03 [error] 4593#4593: *222 open() "/usr/share/nginx/html/wp-admin/admin-ajax.php" failed (2: No such file or directory), client: 65.152.214.10, server: , request: "POST /wp-admin/admin-ajax.php HTTP/1.1", Host: "smokingquartz.com", referrer: "https://smokingquartz.com/wp-admin/plugins.php"
ルートフォルダーが/ usr/share/nginx/htmlに変更されているようです。これは、私のサイトで利用可能/有効に設定されているものではありません。
サイトで利用可能:
server {
## Basic Info ##
listen 80 default_server;
listen [::]:80 default_server;
server_name smokingquartz.com www.smokingquartz.com;
index index.php index.html index.htm index.nginx-debian.html;
root /var/www/html/smokingquartz/;
## WP Defender - Prevent PHP Execution ##
# Stop php access except to needed files in wp-includes
location ~* ^/wp-includes/.*(?<!(js/tinymce/wp-tinymce))\.php$ {
internal; #internal allows ms-files.php rewrite in multisite to work
}
# Specifically locks down upload directories in case full wp-content rule below is skipped
location ~* /(?:uploads|files)/.*\.php$ {
deny all;
}
# Deny direct access to .php files in the /wp-content/ directory (including sub-folders).
# Note this can break some poorly coded plugins/themes, replace the plugin or remove this block if it causes trouble
location ~* ^/wp-content/.*\.php$ {
deny all;
}
## WP Defender - End ##
## Rewrite for sitemap ##
rewrite ^/(.*/)?sitemap.xml /wp-content/uploads/sitemap.xml last;
## exact-matching loctation blocks ##
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(txt|xml|js)$ {expires 8d;}
location ~* \.(css)$ {expires 8d;}
location ~* \.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|mp4|m4v|ogg|webm|aac|eot|ttf|otf|woff|svg)$ {expires 8d;}
location ~* \.(jpg|jpeg|png|gif|swf|webp)$ {expires 8d;}
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php$is_args$args;
}
## pass PHP scripts to FastCGI server ##
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
# With php-cgi (or other tcp sockets):
#fastcgi_pass 127.0.0.1:9000;
}
## deny access to .htaccess files, if Apache's document root ##
## concurs with nginx's one ##
location ~ /\.ht {
deny all;
}
## GZIP ##
gzip on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_proxied any;
gzip_vary on;
gzip_types
application/atom+xml
application/javascript
application/json
application/ld+json
application/manifest+json
application/rss+xml
application/vnd.geo+json
application/vnd.ms-fontobject
application/x-font-ttf
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/bmp
image/svg+xml
image/x-icon
text/cache-manifest
text/css
text/plain
text/vcard
text/vnd.rim.location.xloc
text/vtt
text/x-component
text/x-cross-domain-policy;
# text/html is always compressed by gzip module}server{
listen [::]:443 ssl ipv6only=on ; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/smokingquartz.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/smokingquartz.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot}
これをバックアップファイルと比較しましたが、同じです。
ここにNGINX.confがあります
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
client_max_body_size 32M;
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Humming Bird Cache
##
server{
rewrite ^/(.*/)?sitemap.xml /wp-content/uploads/sitemap.xml last;
location ~* \.(txt|xml|js)$ {
expires 8d;
}
location ~* \.(css)$ {
expires 8d;
}
location ~* \.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|mp4|m4v|ogg|webm|aac|eot|ttf|otf|woff|svg)$ {
expires 10d;
}
location ~* \.(jpg|jpeg|png|gif|swf|webp)$ {
expires 8d;
}
}
##
# Gzip Settings
##
# Enable Gzip compression
gzip on;
# Compression level (1-9)
gzip_comp_level 5;
# Don't compress anything under 256 bytes
gzip_min_length 256;
# Compress output of these MIME-types
gzip_types
application/atom+xml
application/javascript
application/json
application/rss+xml
application/vnd.ms-fontobject
application/x-font-ttf
application/x-font-opentype
application/x-font-truetype
application/x-javascript
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/eot
font/opentype
font/otf
image/svg+xml
image/x-icon
image/vnd.Microsoft.icon
text/css
text/plain
text/javascript
text/x-component;
# Disable gzip for bad browsers
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
他に必要な場合は、この問題により困惑していることをお知らせください。
****修正されたタイプミスを編集: "Nginix"からNginxへ****
Nginxでは、URIに一致するlocation
がない場合、通常はデフォルトで/usr/share/nginx/html/
を検索します(同様にOpenResty /usr/openresty/nginx/html/
を使用)。そのため、URIの1つと一致せず、デフォルトの場所にフォールバックしているように見えます。
デフォルトの場所を見つける最も簡単な方法は、実行することです(これはデフォルトのプレフィックスパス+ htmlです)。
nginx -h
この動作は、location
エントリを含まない最小限のnginx.confファイルを作成し、デバッグモードをオンにして実行すると確認できます。
# Put in file /tmp/nginx-test.conf
error_log /dev/stderr debug;
daemon off;
events {
worker_connections 1024;
}
http {
server {
listen 8080;
}
}
次に、サーバーを実行します。
Sudo nginx -c /tmp/nginx-test.conf
そして、あなたはすべてのリクエストを見るでしょう(例えば別のウィンドウで:)
curl http://127.0.0.1:8080/test
/usr/share/nginx/html/
からファイルをopen()しようとします
そこには2つの異なるserver
ブロックがあります。 1つはHTTPでWordPress Webサイトを提供します。もう1つはcertbotによって作成され、HTTPSでnothingを提供します。関連する構成を2番目のserver
ブロックに追加するか、それらを組み合わせて、当面の問題を解決します。
残念ながら、certbotはWebサーバー構成の記述があまり得意ではありません。nginx構成自体をまとめて、certbotをcertonly webrootモードで実行することを常にお勧めします。このサイトの別の回答に サンプル設定 を投稿しました。