Saya merasa frustrasi dengan konfigurasi nginx saya dan karenanya saya meminta bantuan dalam menulis file konfigurasi saya untuk melayani beberapa proyek dari sub-direktori di root yang sama. Ini bukan hosting virtual karena mereka semua menggunakan nilai host yang sama. Mungkin contoh akan menjelaskan upaya saya:
- permintaan
192.168.1.1/
harus melayaniindex.php
dari/var/www/public/
- permintaan
192.168.1.1/wiki/
harus melayaniindex.php
dari/var/www/wiki/public/
- permintaan
192.168.1.1/blog/
harus melayaniindex.php
dari/var/www/blog/public/
Proyek-proyek ini menggunakan PHP dan menggunakan fastcgi.
Konfigurasi saya saat ini sangat minim.
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;
}
}
Saya sudah mencoba berbagai hal dengan alias
dan rewrite
tetapi tidak dapat mengatur semuanya dengan benar untuk fastcgi. Tampaknya harus ada cara yang lebih fasih daripada menulis blok lokasi dan duplikasi root
, index
, SCRIPT_FILENAME
, dll
Setiap petunjuk untuk mengarahkan saya ke arah yang benar dihargai.
Jawaban:
Karena proyek Anda sebenarnya tidak di root yang sama, Anda harus menggunakan beberapa lokasi untuk ini.
Juga, letakkan fastcgi_index di file fastcgi_params Anda dan sertakan di tingkat server, dengan cara itu Anda menjaga lokasi php sekecil mungkin.
sumber
Dipecahkan oleh lokasi + alias:
sumber
Inilah yang saya coba, rincian lebih lanjut di http://programmersjunk.blogspot.com/2013/11/nginx-multiple-sites-in-subdirectories.html
sumber