Flask,Gunicorn,NGINX,Docker:configurationSERVER_NAME和proxy_pass的方法是什么?
我使用Flask , gunicorn , NGINX和Docker来设置docker项目,如果我没有在Flask的setting.py文件中添加SERVER_NAME ,这个工作正常。
目前的configuration是:
gunicorn
gunicorn -b 0.0.0.0:5000
泊坞窗,compose.yml
services: application: #restart: always build: . expose: - "5000" ports: - "5000:5000" volumes: - .:/code links: - db nginx: restart: always build: ./nginx links: - application expose: - 8080 ports: - "8880:8080"
NGINX .conf
server { listen 8080; server_name application; charset utf-8; location / { proxy_pass http://application:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
然后我在Flask的setting.py中设置了SERVER_NAME
SERVER_NAME = '0.0.0.0:5000'
当我向浏览器inputurl 0.0.0.0:8880时 ,我得到了来自nginx的响应404。 Flask的setting.py中应该正确地使用SERVER_NAME ?
提前致谢。
最后find解决办法,我必须为proxy_set_header指定特定的端口
proxy_set_header Host $host:5000;
- docker nginx无法与web容器build立连接
- 为什么Docker容器的图片变得如此庞大,同时在UBUNTU 16.04上倚靠python3.6,Virtualenv,Flask,Gunicorn
- 如何在docker上运行gunicorn
- 了解Docker / Docker-Compose上的Gunicorn和Flask
- Docker和Nginx的proxy_pass之间的容器
- Gunicorn被困在docker运行命令与Flask应用程序
- docker + gunicorn + nginx需要supervisord吗?
- 为什么我的gunicorn Python / Flask工人退出信号术语?
- docker桥和猎鹰gunicorn