我目前在同一台服务器上安装了 nginx 和 gunicorn,但希望将它们安装在不同的服务器上并将文件上传到.Gunicon 在本地网络上,无法从外部访问。我有一个从我的应用程序到外部硬盘驱动器的符号链接。在 server3 上我有 nginx,可以从外部访问,它是 nginx 的代理在 server2 上。我不希望 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
服务器3 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;
}
谢谢