Config Mullti Host Wordpress
ตั้งค่าให้เว็บ wordpress สามารถมีหลาย domain name ได้แต่ยังอยู่ใน server เดียวกัน และเป็นเว็บเดียวกัน
เริ่มจากเข้าไปสร้างไฟล์ config nginx ของตัวเว็บโดเมนเนมนั้น
nano /etc/nginx/sites-available/ply01.unddev.net
คัดลอก file config ใส่ลงไปในไฟล์ และเปลี่ยน server name เป็น domain name ที่ต้องการ
server {
listen 80;
root /var/www/html/wordpress;
index index.php index.html index.htm;
server_name ply-01.unddev.net;
access_log /var/log/nginx/wordpress_access.log;
error_log /var/log/nginx/wordpress_error.log;
client_max_body_size 64M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_read_timeout 3600s;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
}
}
หลังจากนั้นจะใช้คำสั่ง ln เพื่อสร้าง soft link ไฟล์จากโฟลเดอร์ site-available ไปยัง site-enable เพื่อที่จะใช้งานหน้าเว็บได้
ln -s /etc/nginx/site-available/ply01.unddev.net /etc/nginx/site-enabled/
หลังจากนั้น restart nginx
systemctl restart nginx.service
ตรวจสอบการทำงานของ nginx ว่าระบบมีอะไร error หรือไม่
systemctl status nginx.service
domain name ที่2 ก็ทำเหมือนวิธีแรกแค่เปลี่ยนชื่อไฟล์ และ server name
ตั้งค่า url ให้กับเว็บ wordpress
ไปที่ตั้งค่า และ ทั่วไป หลังจากนั้นใส่ url ลงไปในที่อยู่
เสร็จแล้วมันก็จะให้ login ใหม่ ซึ่งตรงนี้จะมีปัญหาคือ ล็อกอินเข้าไปไม่ได้ พาสเวิร์ดไม่ถูกต้อง จะแก้ปัญหาโดยเข้าลิงค์
http://ply-01.unddev.net/login
แล้ว login เข้าไปใหม่ก็จะเข้าได้แล้ว
และถ้าหากว่าเข้าผ่าน domain name แล้วหน้าเว็บไม่ขึ้นและดูใน error log ขึ้น http status code เป็น 302 (Redirect) ก็จะต้องแก้ไข host file ในเครื่องของตนเอง
C:\Windows\System32\drivers\etc\hosts