ho già passato attraverso alcuni discussioni precedenti: How do I set subdirectory in nginx with Django how to deploy django under a suburl behind nginx Serving flask app on subdirectory nginx + uwsginginx servire Django in una sottodirectory attraverso uWSGI
La lezione di base è che si dovrebbe solo bisogno di configurare il sito (s-disponibili) per ottenere Questo. Ho provato varie permutazioni di
server {
listen 80;
server_name www.example.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /path/to/project;
}
location /project/ {
root /path/to/project;
include /etc/nginx/uwsgi_params;
uwsgi_param SCRIPT_NAME /project;
uwsgi_modifier1 30;
uwsgi_param PATH_INFO "$1";
uwsgi_pass unix:/tmp/project.sock;
}}
Tutto funziona perfettamente quando mi definisco posizione di essere "/" (e rimuovere SCRIPT_NAME, modifier1, PATH_INFO e la radice non ha importanza. Ma cercando di utilizzare una sottodirectory risultati sempre pagina non trovata (404):.?
Request URL: http://www.example.com/project/project
(edit) e 'l'aggiunta di una directory alla richiesta di cosa sto non capire
(forced_script_name provato - should't necessario utilizzare questo e dà altri tipi di mal di testa e impostazioni di configurazione uwsgi)
EDIT:
location /project/ {
root /path/to/project;
include /etc/nginx/uwsgi_params;
uwsgi_param SCRIPT_NAME /project;
uwsgi_pass unix:/tmp/project.sock;
}
non funziona ... La presa c'è e funziona quando ho configurato per/- non riesco proprio a vedere che cosa mi manca.
UPDATE:
location ~ /project(?<path_info>/.*|$) {
include /etc/nginx/uwsgi_params;
uwsgi_pass unix:/tmp/project.sock;
uwsgi_param PATH_INFO $path_info;
uwsgi_param SCRIPT_NAME /project;
}
Questo carica il sito, ma tutti i link puntano a http://example.com/link/to/something invece di http://example.com/project/link/to/something
django 1.9.2, uwsgi 2.07-debian (in esecuzione su server ubuntu 15.10) – Bjorn