我拥有一个python + uwsgi + nginx应用程序。 我可以通过这个docker-compose文件启动这个应用程序: 版本:' 3.4'
services:
backend:
restart: always
image: backend:0.1
depends_on:
- db
expose:
- 5001
volumes:
- share_vol_lab:/home/ubuntu/data
frontend:
restart: always
image: frontend:1.1
depends_on:
- backend
ports:
- 443:443
db:
restart: always
image: postgres:1.1
environment:
expose:
- 5432
volumes:
- data_lab:/var/lib/postgresql/data
volumes:
data_lab: {}
share_vol_lab: {}
一切都在接受,这意味着我可以访问网址:
的https:// 主机IP /登录
我想在同一台主机上再运行我的应用程序,以充当不同的环境。 我将docker-compose文件复制到不同的文件夹更改前端端口443:443到444:443,以防止端口冲突,在浏览器中:
的https:// 主机IP :444 /登录
并且第一页(静态html)确实已成功加载。 当我尝试登录时,请求应该从nginx反向代理到后端服务,但根本没有响应。 这是nginx conf:
server {
listen 80;
charset utf-8;
location / {
rewrite ^ https://$host$request_uri? permanent;
}
}
server {
listen 443 ssl;
error_page 497 301 =307 https://$host/login;
root /usr/share/nginx/html;
charset utf-8;
location ~ ^/(scripts.*js|styles|images) {
gzip_static on;
expires 1y;
add_header Cache-Control public;
add_header ETag "";
break;
}
location / {
try_files $uri /index.html;
}
location /api/v1 {
include uwsgi_params;
uwsgi_pass backend:5001;
uwsgi_read_timeout 60s;
uwsgi_send_timeout 60s;
uwsgi_connect_timeout 60s;
}
}
和我的uwsgi.ini:
[uwsgi]
module = app.api:app
processes = 5
master = true
socket = :5001
protocol = uwsgi
lazy-apps = true
harakiri = 30
希望得到你们的任何帮助,谢谢!