文章目录
一、flask部署
跟之前的Django项目部署类似:首先保证有在centos操作环境下,之前电脑装过虚拟机,里面也有Python2和Python3共存;
1. 通过Xshell和Xftp连接虚拟机
在Xshell中进行linux操作命令
通过Xftp将文件上传虚拟机指定文件夹
2. 通过在pycharm中导出的依赖包来下载依赖包
导出当前环境的所有第三方包 导入到txt文件中,使项目能在linux服务器下运行
pip freeze > package.txt
在虚拟机中下载依赖包(在/opt下批量下载,这是一个系统预留给我们的文件夹,用来安装一些包,配置文件的)
pip3 install -r package.txt
3. 同步表结构
命令如下:
python manage.py db init
python manane.py db migrate
python manage.py db upgrade
在这里我们用的是sqlite数据库,(项目中已经存在)不用同步;而用到mysql数据库的时候,必须先创建库,再进行表结构的同步
4. 启动项目(先试运行)
python3 manage.py runserver -h 0.0.0.0 -p 5000
5. 安装uwsgi并修改配置
在这之前已经进行过Django项目的部署;因此已经安装过uwsgi和nginx
- 在 /usr/local/python3/bin/ 目录下安装uwsgi
pip3 install uwsgi
- 创建软链接
创建软连接(软连接就是我们在任何路径下都可以使用uwsgi命令)
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
- 测试uwsgi(要在manage.py同一级目录下,相当于python manage.py runserver)
uwsgi --http 192.168.1.69:8000 --file OurBlog/wsgi.py --static-map=/static=static
http后加ip:端口号,–file 后面为你的项目名
上述方法可以实现uwsgi驱动django,但是在工作当中,开发者更改配置文件的形式启动uwsgi
- 在/opt目录下创建script,在script下创建uwsgi.ini文件,并进入编写
cd /opt
mkdir script
cd script
touch uwsgi.ini
- 编写配置文件uwsgi.ini
[uwsgi]
socket = 127.0.0.1:8000
pythonpath = /opt/flasknew
module = manage
wsgi-file = /opt/flasknew/manage.py
callable = app
process = 4
threads = 2
daemonize = /opt/script/uwsgi.log
- 启动uwsgi
cd /opt/script
uwsgi --ini uwsgi.ini ## 使用ini文件启动uwsgi
- 停止uwsgi
pkill -9 uwsgi
6. 下载并配置nginx 编写nginx.conf
- 下载NGINX包(在/opt目录下)
wget -c https://nginx.org/download/nginx-1.12.2.tar.gz
- 解压NGINX包并编译
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure \
make && make install
- 创建软链接
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
- 启动nginx查看效果(浏览器访问(80端口)查看 (nginx默认是80端口))
nginx
- 修改NGINX的配置文件
cd /usr/local/nginx/conf/
为防止改错或删除配置文件,都要对其进行备份
进行配置文件备份(一般备份名都是.bak结尾)
- 修改配置文件如下:
- 检测配置文件是否修改成功
nginx -t
- 停止nginx
nginx -s stop
- 强制杀死进程
ps -aux | grep nginx
- 若要禁止外部ip访问uwsgi可修改uwsgi(即允许访问ip)
uwsgi跟nginx中127.0.0.1:8000一样访问