【发布时间】:2013-09-02 19:14:44
【问题描述】:
我目前在同一台服务器上拥有 nginx 和 gunicorn,但希望在不同的服务器上拥有它们我尝试如下设置。Postgres 在另一台机器(server1)上,然后连接到 server2 上的 gunicorn。哪个 gunicon 保存并将文件上传到。Gunicon 在本地网络上,无法从外部访问。我有一个从我的应用程序到外部硬盘驱动器的符号链接。在 server3 上我有 nginx,可以从外部访问它是代理到 server2 上的 nginx。我不希望 gunicon 到服务器静态文件,所以我也做了一个 sshfs 链接到服务器上的挂载点,然后 ngix 现在直接服务器静态内容。这一切都很好,但是我不时注意到 sshfs 连接总是断开,这在生产中并不好。请任何人建议我在生产环境中执行此操作的正确方法。这是我的配置。
服务器2
# mount /dev/sde1 /home/me/HD
$ mkdir -p /home/me/HD/currentapp/static && mkdir -p /home/me/HD/currentapp/media
$ ln -s /home/me/HD/currentapp/media /allmyapps/currentapp/currentapp/media
$ ln -s /home/me/HDcurrentapp/static /allmyapps/currentapp/currentapp/static
服务器 3
$ mkdir -p /home/me/HD/currentapp/
# sshfs -p(port number here) me@Server2:/home/me/HD /home/me/HD -o uid=1000 -o gid=33 -o allow_other
server3 nginx
upstream my_server {
server server2:port fail_timeout=0;
}
location /static/ {
alias /home/me/HD/currentapp/static/;
}
location /media/ {
alias /home/me/HD/currentapp/media/;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://my_server;
break;
}
谢谢
【问题讨论】:
标签: django postgresql nginx gunicorn