了解了python的flask后,我尝试着将flask项目部署到阿里云服务器上,以便他人可以访问。
1.首先得有个服务器(在虚拟机上部署自己玩也行)
2.Linux的话,我熟悉centos7,所以用centos7
3.部署流程:
3.1 安装所需依赖
yum install epel-release -y
3.2 安装nginx
yum install nginx -y
3.3 安装python
yum install python3 python3-devel python3-pip -y
3.4 创建个目录,位置随意。我就在根目录下创建,并创建python的虚拟环境:
mkdir /flaskproject;cd flaskproject; python3 -m venv my_venv
3.5.激活虚拟环境(我这里的用的绝对路径)
source /flaskproject/my_venv/bin/activate
激活后,终端名前面会有显示
3.6 安装python的flask模块
pip install Flask
如果安装失败,可能是网的问题
pip install Flask -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn
添加-i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn 就是换成清华源下载
3.7配置nginx
systemctl start nginx 启动
systemctl enable nginx 开机自启
systemctl status nginx 查看nginx启动状态
nginx -t 检查一下配置文件是否正确
nginx -s reload 修改完配置文件后重载
再编写nginx.conf文件(不同机器安装路径可能不同,自己找找)
提示:查找包含nginx.conf的文件:
find / -name nginx.conf
只需要修改serer块,server块我写的是这样,其他不用动。
我理解的意思是:当有用户通过www.nmdtmd.com并以80端口访问时,nginx会拦截下来,将请求转发至本服务器上的5000端口,然后将本机5000端口上的内容返回给用户。
3.8 将python的flask项目上传到服务器上的/flaskproject/my_venv下
用lrzsz,sftp等服务都可以,自行尝试。
3.9 上传成功后,再确认你的my_venv目录下是否有flask项目。并确认哪个py文件包含了app.run()
我的在qixichangshi.py
3.10 运行flask项目
请确认你是在python的虚拟环境下,也就是这个命令source /flaskproject/my_venv/bin/activate
进入你的flask项目下
cd /flaskproject/my_venv/你的flask项目
export FLASK_APP=qixichangshi 看自己的文件名叫啥,我的就这个
flask run --host 0.0.0.0 --port 80
运行成功的话,就类似于这样。这个什么172.22是内网地址,我是因为服务器用公网ip,不用管他给的地址
访问,成功了
有帮助的话,给个赞吧。