Me estoy frustrando con mi configuración nginx, por lo que solicito ayuda para escribir mi archivo de configuración para servir múltiples proyectos desde subdirectorios en la misma raíz. Este no es un alojamiento virtual, ya que todos usan el mismo valor de host. Quizás un ejemplo aclare mi intento:
- solicitud
192.168.1.1/
debe servirindex.php
de/var/www/public/
- solicitud
192.168.1.1/wiki/
debe servirindex.php
de/var/www/wiki/public/
- solicitud
192.168.1.1/blog/
debe servirindex.php
de/var/www/blog/public/
Estos proyectos están usando PHP y usan fastcgi.
Mi configuración actual es muy mínima.
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;
}
}
He intentado varias cosas con alias
y rewrite
no pude configurar las cosas correctamente para fastcgi. Parece que debe haber una manera más elocuente que escribir bloques de ubicación y la duplicación root
, index
, SCRIPT_FILENAME
, etc.
Se agradece cualquier sugerencia que me lleve en la dirección correcta.
Respuestas:
Dado que sus proyectos no están realmente en la misma raíz, debe usar varias ubicaciones para esto.
Además, coloque fastcgi_index en su archivo fastcgi_params e inclúyalo a nivel del servidor, de esa manera mantendrá sus ubicaciones de php lo más pequeñas posible.
fuente
Resuelve por ubicación + alias:
fuente
Esto es lo que probé, más detalles en http://programmersjunk.blogspot.com/2013/11/nginx-multiple-sites-in-subdirectories.html
fuente