flask(三)Ubuntu 系统中docker+nginx+flask
最新推荐文章于 2024-09-18 21:14:27 发布
原创最新推荐文章于 2024-09-18 21:14:27 发布·1.3k 阅读
2·
·
0
·
0
2·CC 4.0 BY-SA版权
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
本文介绍如何在虚拟机上使用Docker部署Flask应用,并通过Nginx进行端口映射使得外部局域网可以访问。具体步骤包括安装配置Nginx、设置端口映射、重启Nginx服务等。虚拟机上docker部署flask项目,外部局域网无法访问接口,需要通过Nginx进行端口映射实现。
1、安装Nginx
sudo apt-get install nginx2、配置
切换到nginx 的配置文件夹目录下:
cd /etc/nginx/conf.d
创建default.conf文件,将80端口映射到5000端口上。
修改读写文件权限:sudo chmod -R 777 *
service_name:虚拟机地址
server { listen 8088; server_name 192.168.1.125:8088; include /etc/nginx/default.d/*.conf; location / { proxy_pass http://127.0.0.1:5000; # 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP # proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host:8088; #proxy_set_header X_Nginx_Proxy true; } error_page 404 /404.html; location = /40x.html{} error_page 500 502 503 504 /50x.html; location = /50x.html{}}3、重启Nginx
sudo service nginx restart查看5000端口是否启动:netstat -tulnp | grep 5000
4、flask运行测试
python3 app.py

在虚拟机上的有两个地址均可访问:
127.0.0.1:5000

192.168.1.125:8088

外部局域网postman访问:

5、docker运行测试
虚拟机上运行容器:
docker run -d -p 127.0.0.1:5000:5000 --name demo flaskdemo
在虚拟机上的有三个地址均可访问:
127.0.0.1:5000

172.17.0.3:5000

192.168.1.125:8088

外部局域网postman访问:


参与评论您还未登录,请先登录后发表或查看评论

















1075
















































