ฉันผิดหวังกับการกำหนดค่า nginx ของฉันดังนั้นฉันจึงขอความช่วยเหลือในการเขียนไฟล์กำหนดค่าของฉันเพื่อให้บริการหลายโครงการจากไดเรกทอรีย่อยในรูทเดียวกัน นี่ไม่ใช่โฮสติ้งเสมือนเพราะพวกเขาทั้งหมดใช้ค่าโฮสต์เดียวกัน บางทีตัวอย่างจะอธิบายความพยายามของฉัน:
- คำขอ
192.168.1.1/
ควรทำหน้าที่index.php
จาก/var/www/public/
- คำขอ
192.168.1.1/wiki/
ควรทำหน้าที่index.php
จาก/var/www/wiki/public/
- คำขอ
192.168.1.1/blog/
ควรทำหน้าที่index.php
จาก/var/www/blog/public/
โครงการเหล่านี้ใช้ PHP และใช้ fastcgi
การกำหนดค่าปัจจุบันของฉันน้อยมาก
server {
listen 80 default;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
root /var/www;
index index.php index.html;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
}
}
ฉันได้ลองทำสิ่งต่าง ๆ ด้วยalias
และrewrite
ไม่สามารถตั้งค่าสิ่งที่ถูกต้องสำหรับ fastcgi ได้ ดูเหมือนจะมีควรจะเป็นวิธีที่มีคารมคมคายกว่าการเขียนบล็อกสถานที่และการทำซ้ำroot
, index
, SCRIPT_FILENAME
ฯลฯ
พอยน์เตอร์ที่จะพาฉันไปในทิศทางที่ถูกต้องจะได้รับการชื่นชม