ฉันติดตั้ง NGINX + PHP FPM เซิร์ฟเวอร์ด้วย เวสต้า แผงควบคุม ทุกอย่างทำงานได้อย่างรวดเร็ว แต่ฉันพบปัญหาหนึ่ง เวิร์ดเพรส ให้ 404 เกิดข้อผิดพลาดในทุกหน้า (ยกเว้นแผงหลักและแผงควบคุม) และฉันจำเป็นต้องเขียนทับลิงก์ถาวร ในการทำเช่นนี้ ฉันไปที่แผงควบคุม Vesta และแก้ไขไฟล์ nginx.conf โดยเพิ่มบรรทัดต่อไปนี้ในไฟล์
ที่ตั้ง / {
try_files $uri $uri/ /index.php?q=$uri$args;
}
สวัสดีทุกคน! ฉันติดตั้งเซิร์ฟเวอร์ NGINX + PHP FPM ด้วยแผงควบคุม VESTA ทุกอย่างทำงานได้อย่างรวดเร็ว แต่ฉันพบปัญหาหนึ่ง WordPress แสดงข้อผิดพลาด 404 ในทุกหน้าและฉันต้องเขียนทับลิงก์ถาวร ในการดำเนินการนี้ ฉันลงชื่อเข้าใช้แผงควบคุม Vest และแก้ไขไฟล์ nginh.conf โดยเพิ่มบรรทัดต่อไปนี้ในไฟล์
ฉันยังลองใช้ตัวเลือกอื่นเช่น
ที่ตั้ง / {
try_files $uri $uri/ /index.php?$args;
ดัชนี index.html index.htm index.php;
}
และนี่
ตำแหน่ง ~ / {
ดัชนี index.php index.cgi index.pl index.html index.xhtml index.htm index.shtml;
try_files $uri $uri/ /index.php$is_args$args;
}
และตัวเลือกที่คล้ายกันมากมาย แต่ผลลัพธ์ไม่เปลี่ยนแปลง เพื่อตรวจสอบว่าพาเนลทำการเปลี่ยนแปลงที่ฉันทำหรือไม่ ฉันเชื่อมต่อผ่าน SSH และดูที่ไฟล์ nginx.conf ผ่านโปรแกรมแก้ไข NANO ทำการเปลี่ยนแปลงสำเร็จและผ่านการตรวจสอบไวยากรณ์
ตอนนี้ไฟล์คอนฟิกูเรชันเซิร์ฟเวอร์ของฉันมีลักษณะดังนี้ แต่ก็ยังใช้งานไม่ได้ สิ่งเดียวกันนี้เกิดขึ้นเมื่อฉันพยายามเปลี่ยนเส้นทางจาก http ถึง https
#เซิฟเวอร์โกลบอล
ผู้ใช้ www-data;
worker_processes อัตโนมัติ
worker_rlimit_nofile 65535;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
# การกำหนดค่าคนงาน
เหตุการณ์ {
worker_connections 1024;
ใช้ epol;
เปิด multi_accept;
}
http {
# การตั้งค่าหลัก
ส่งไฟล์บน;
tcp_nopush บน;
tcp_nodelay บน;
client_header_timeout 60 วินาที;
client_body_timeout 60 วินาที;
client_header_buffer_size 2k;
client_body_buffer_size 256k;
client_max_body_size 256m;
large_client_header_buffers 4 8k;
send_timeout 60 วินาที;
keepalive_timeout 30 วินาที;
เปิด reset_timedout_connection;
ปิด server_tokens;
server_name_in_redirect ปิด;
server_names_hash_max_size 512;
server_names_hash_bucket_size 512;
#รูปแบบบันทึก
log_format main '$remote_addr - $remote_user [$time_local] $request'
'"สถานะ $" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format ไบต์ '$body_bytes_sent';
#access_log /var/log/nginx/access.log หลัก;
access_log off;
# การตั้งค่าละครใบ้
รวม /etc/nginx/mime.types;
แอปพลิเคชัน default_type/octet-stream;
#การบีบอัด
เปิด gzip;
เปิด gzip_static;
gzip_vary บน;
gzip_comp_level 6;
gzip_min_length 1024;
gzip_buffers 16 8k;
ข้อความ gzip_types/ข้อความธรรมดา/ข้อความ css/ข้อความจาวาสคริปต์/ข้อความ js/แอปพลิเคชัน xml/แอปพลิเคชัน json/แอปพลิเคชันจาวาสคริปต์/แอปพลิเคชัน x-javascript/แอปพลิเคชัน xml/แอปพลิเคชัน xml+rss/รูปภาพ x-font-ttf/svg+xml แบบอักษร/opentype ;
gzip_proxyed ใด ๆ ;
gzip_disable "MSIE [1-6]\.";
# การตั้งค่าพร็อกซี
ปิด proxy_redirect;
proxy_set_header โฮสต์ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_pass_header Set-Cookie;
proxy_buffers 32 4k;
proxy_connect_timeout 30 วินาที;
proxy_send_timeout 90 วินาที;
proxy_read_timeout 90 วินาที;
# Cloudflare https://www.cloudflare.com/ips
set_real_ip_ จาก 103.21.244.0/22;
set_real_ip_ จาก 103.22.200.0/22;
set_real_ip_ จาก 103.31.4.0/22;
set_real_ip_ จาก 104.16.0.0/13;
set_real_ip_ จาก 104.24.0.0/14;
#set_real_ip_จาก 104.16.0.0/12;
set_real_ip_ จาก 108.162.192.0/18;
set_real_ip_ จาก 131.0.72.0/22;
set_real_ip_ จาก 141.101.64.0/18;
set_real_ip_ จาก 162.158.0.0/15;
set_real_ip_ จาก 172.64.0.0/13;
set_real_ip_ จาก 173.245.48.0/20;
set_real_ip_ จาก 188.114.96.0/20;
set_real_ip_ จาก 190.93.240.0/20;
set_real_ip_ จาก 197.234.240.0/22;
set_real_ip_ จาก 198.41.128.0/17;
#set_real_ip_จาก 2400:cb00::/32;
#set_real_ip_จาก 2606:4700::/32;
#set_real_ip_จาก 2803:f800::/32;
#set_real_ip_จาก 2405:b500::/32;
#set_real_ip_จาก 2405:8100::/32;
#set_real_ip_จาก 2c0f:f248::/32;
#set_real_ip_จาก 2a06:98c0::/29;
real_ip_header CF-Connecting-IP;
# การปฏิบัติตาม SSL PCI
ssl_session_cache ที่ใช้ร่วมกัน: SSL:20m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE- RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128- SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256: DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES- CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS";
เปิด ssl_prefer_server_ciphers;
#เพจผิดพลาด
error_page 403 /error/403.html;
error_page 404 /error/404.html;
error_page 502 503 504 /error/50x.html;
# การตั้งค่าแคช
proxy_cache_path /var/cache/nginx levels=2 keys_zone=cache:10m inactive=60m max_size=1024m;
proxy_cache_key "$host$request_uri $cookie_user";
proxy_temp_path /var/cache/nginx/temp;
proxy_ignore_headers หมดอายุการควบคุมแคช;
ข้อผิดพลาด proxy_cache_use_stale หมดเวลา invalid_header http_502;
proxy_cache_valid 1d;
# บายพาสแคช
แผนที่ $http_cookie $no_cache {
เริ่มต้น 0;
~ ช่วงที่ 1;
~wordpress_logged_in 1;
}
# การตั้งค่าแคชไฟล์
open_file_cache สูงสุด = 10,000 ไม่ใช้งาน = 30 วินาที;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
ปิด open_file_cache_errors;
#ไวด์การ์ดประกอบด้วย
รวม /etc/nginx/conf.d/*.conf;
เซิร์ฟเวอร์ {
ที่ตั้ง /
{
try_files $uri $uri/ /index.php?$args;
}
เขียนใหม่ /wp-admin$ $scheme://$host$uri/ ถาวร;
}
}
ฉันใช้เพียง 1 ไซต์บน VPS ของฉัน บางทีฉันควรใช้การตั้งค่าเหล่านี้กับบางไดเร็กทอรี
ฉัน จะขอบคุณ ความคิดหรือความช่วยเหลือใด ๆ ขอบคุณ