我想承載一個網站,由django應用程序和tilestache服務的地圖瓷磚組成。我可以讓他們運行,並通過使用Nginx conf爲兩個gunicorn應用程序(django和tilestache)
gunicorn_django -b 0.0.0.0:8000
爲Django應用程序,或
gunicorn "TileStache:WSGITileServer('tilestache.cfg')"
爲tilestache分別提供內容服務。我已經嘗試守護django應用程序,並在不同的端口上使用tilestache進程同時運行它們(8080
),但tilestache不起作用。我認爲問題在於我的nginx的conf:
server {
listen 80;
server_name localhost;
access_log /opt/django/logs/nginx/vc_access.log;
error_log /opt/django/logs/nginx/vc_error.log;
# no security problem here, since/is alway passed to upstream
root /opt/django/;
# serve directly - analogous for static/staticfiles
location /media/ {
# if asset versioning is used
if ($query_string) {
expires max;
}
}
location /static/ {
# if asset versioning is used
if ($query_string) {
expires max;
}
}
location/{
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 10;
proxy_read_timeout 10;
proxy_pass http://localhost:8000/;
}
# what to serve if upstream is not available or crashes
error_page 500 502 503 504 /media/50x.html;
}
我可以只添加其他server
塊在conf爲proxy_pass http://localhost:8080/
?此外,我對這個堆棧非常陌生(我非常依賴Adrián Deccico的教程here來讓django部分啓動並運行),所以任何「哇,這是一個明顯的錯誤」或建議將不勝感激。
您將如何區分這兩個應用 - 他們使用不同的領域 - 像www.mydjangoapp.com和www.mytilestache.com?或者他們共享相同的域名,但使用不同的/路徑/? – Tisho 2012-07-17 07:46:19
@Tisho相同的域名,不同的路徑。我已經看到了很多地圖示例,它們將tile服務器放在子域上,並且可以開放。 – Chris 2012-07-17 07:48:44