flask项目上线部署
此例为个人博客项目部署
上线部署准备工作
-
安装mysql
-
安装redis
安装: apt-get install redis-server
从进程中查看是否启动: ps -aux|grep redis 端口 6379
-
安装uginx
安装: sudo apt install nginx
systemctl status nginx 查看nginx的状态
systemctl start/stop/enable/disable nginx 启动/关闭/设置开机启动/禁止开机启动
或者是如下命令:
service nginx status/stop/restart/start
注意:nginx的配置文件中加载自定义的nginx的配置文件
vim /etc/nginx/nginx.conf
在server中加入以下配置:
include /home/app/conf/*.conf;
-
安装uwsgi
pip install uwsgi 安装到虚拟环境下
vim /etc/nginx/nginx.conf
在server中加入以下配置:
include /home/app/conf/*.conf;
注意:将window上项目文件移动到与服务器
scp -r D:\/file\/wordspace\/axf root@47.112.15.210(云服务器ip):/home/code scp -r D:\/file\/wordspace\/axf-vue\/dist root@47.112.15.210:/home/code
本地服务器操作
使用 Git Bash终端 将项目提交到github:
注意: windows下进入目录反向斜杠/
-
在需要的本地目录下clone远程仓库,将整个项目放进去
-
在本地仓库目录下
-
git add . 提交到本地仓库
-
git commit -m ' 提交项目 '
-
git push -u 远程仓库地址(ssh需要配密钥, http) 后面推送无需加 -u
配置准备:
1.进入阿里云网页,在防火墙中打开80端口服务
2.在阿里云服务器端,安装mysql,配置数据库,设置阿里云服务器远程访问权限
阿里云服务器端操作
1.创建工作目录,home下创建code 和 env 用来存放代码和虚拟环境
2.在code目录下clone远程仓库到阿里云服务器
在env目录下创建虚拟环境blogenv (首先得安装虚拟环境包)
3.进入blogenv/bin目录下安装所需要的库文件
-
激活虚拟环境: source activate
-
在虚拟环境下安装项目所需的三方库: pip3 install -r requirement.txt的绝对路径
非虚拟环境下安装三方库: pip3的绝对路径 install -r requirement.txt的绝对路径
4.启动项目
方式一: 虚拟环境中python3的绝对路径 manage.py的绝对路径 runserver -p 80 -h 0.0.0.0
例: /home/env/blogenv/bin/python3 /home/code/flask/blog/manage.py runserver -p 80 -h 0.0.0.0
方式二: 在code目录下创建run_blog.sh文件: touch run_blog.sh, 将以上启动命令存入该文件.使用nohup去运行它,会生成一个nohup.out日志文件
-
修改权限: chmod -R 777 run__blog.sh
-
后台挂载应用 &: nohup ./run_blog &
-
查看nohup.out日志文件
-
cat nohup.out: 查看全部
-
tail -n 5 nohup.out :查看最后五条记录
-
tail -f nohup.out: 动态查看应用运行日志
-
启动时端口被占用,需查看端口杀死占用端口进程:
-
查看端口:
法1: ps -aux | grep 80(指定查找字段)
法2: netstat -lntp
-
杀死进程:
kill -9 进程PID
方式三: 使用 uginx 和 uwsgi 挂载项目
-
配置nginx
新建 blognginx.conf 文件
server {
listen 8880; # 监听8880端口
server_name 47.112.15.210;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000; # 访问8880端口,请求跳转到8000端口
uwsgi_param UWSGI_CHDIR /home/code/flask/blog; # blog路径
uwsgi_param UWSGI_SCRIPT manage:app;
}
}
-
配置uwsgi
新建 bloguwsgi.ini 文件
[uwsgi]
master=true
socket=127.0.0.1:8000
chdir=/home/code/flask/blog/
pythonpath=/home/env/blogenv/bin/python3
callback=app
logto=/home/logs/bloguwsgi.log
作者: Deaseyy
出处: http://www.cnblogs.com/Deaseyy/
新手一枚,请大佬们多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接