一、系统+环境版本
开发环境mac os 10.14,linux版本CentOS 7.7,nginx 1.17,python 3.7.2。
二、上传代码
scp -p xxx.tar.gz root/xxx.xx.xx.xx:/filename
如果不是root用户则切换成对应的用户和目录即可。
三、安装python3
CentOS 自带了Python2 如果需要安装python3请参考
# 下载 python 3.7.2
wget https://www.Python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
# 解压
tar -zxvf Python-3.7.2.tar.xz
# 进入 python-3.7.2 目录
cd Python-3.7.2
# 安装
./configure --prefix=/usr/local/python3 && make && make install
#创建软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
四、安装虚拟环境,一般用虚拟环境启动python 玩过的人都知道。。。
1、pip3 install virtualenv
2、cd 到你上传后的项目目录
3、/usr/local/python3/bin/virtualenv -p /usr/bin/python3 venv //创建虚拟环境venv
4、source venv/bin/activate //激活虚拟环境
5、pip3 install -r requirements.txt //添加依赖包
五、启动你的flask
博主这里是开发环境,写的是比较简单的例子,所以用manage.py 启动,具体根据你的项目来就好。
python3 manage.py runserver
后台启动 不受ctrl + c ,窗口关闭影响的启动方式为:
nohup python3 manage.py runserver &
这是比较方便的一个命令 也可以通过第三方软件了来控制,类似sup那些。。。
六、部署nginx
以下都是宝塔常规操作,创建一个站点,前面的配置就是域名,根目录填一下,php版本写静态,哦了
创建好了之后在 站点修改里面配置文件添加上以下代码(删除原来的静态代码):
location / {
proxy_pass http://localhost:5000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 5M;
}
保存,重启站点后。。。(也可以不重启啦)
七、页面访问:
输入你的域名加端口号+你的path即可访问
后记:也可以使用docker作为容器去部署,这样就不需要宝塔什么事了。