docker+flask+爬虫+ngin项目部署
type
status
date
slug
summary
tags
category
icon
password
项目地址:
- git clone 拉取项目
git clone git@github.com:Bvbrutal/51job-reverse-crawler.git
- 利用ftp或者其他方法上传项目文件
- 在项目文件夹下运行docker利用dockerfile构建镜像与容器
dockerfile:
docker build -t my-python-app . && docker run -d -p 8080:80 my-python-app
- 建立站点,如果有域名可以添加解析,没有则跳过反向代理步骤只能通过IP+端口访问
- 配置反向代理
问题描述:
- 已经开放端口,但是无法访问
flask默认127.0.0.1不对外开放,需要0.0.0.0来监听所有ip
所以host 必须设置为 0.0.0.0,表示监听所有的 IP 地址。如果 host 使用 127.0.0.1,在容器外将无法访问服务。
0.0.0.0
和 127.0.0.1区别
这里假设我docker服务器的地址为 212.26.67.78,docker服务器和docker容器的端口映射为 9879:9879
官方教程给的示例代码如下:
from
flask
import
Flask
app
=
Flask(__name__)
@app
.
route("/")
def
hello_world
():
return
"<p>Hello, World!</p>"
假设我文件名为hello.py
要启动flask,需要在命令行输入如下命令(记得先CD到对应目录下):
$ export FLASK_APP=hello
$ flask run --port 9879
那么按理说,我在本地浏览器输入 212.26.67.78:9879 ,应该能看到一个显示“Hello, World!”的页面:
但是我输入 212.26.67.78:9879 后却显示502错误。
解决方法1:
把代码改成
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
app.run(host='0.0.0.0',port=9879)
解决方法2:
把命令行的输入替换成:
flask run --port 9879 --host 0.0.0.0
Last update: 2023-09-11
type
status
date
slug
summary
tags
category
icon
password
这里是关于我笔记,希望你能获取到你想要的知识 🧐