美文网首页
CentOS7 部署 Flask

CentOS7 部署 Flask

作者: 龃龉前行 | 来源:发表于2020-05-11 09:59 被阅读0次
1. 添加一个用户

[root@localhost ~]# cat /etc/redhat-release # 查看linux版本
CentOS Linux release 7.7.1908 (Core)

[root@localhost ~]# adduser flask # 添加用户
[root@localhost ~]# passwd flask # 设置密码

[root@localhost ~]# gpasswd -a flask wheel # 将flask加入wheel组
[root@localhost ~]# sudo -iu flask # 切换到flask用户

2. 初始化环境

sudo yum install epel-release # 初始化仓库
sudo yum install gcc nginx # 安装gcc和nginx

3. 安装anaconda

下载地址:https://www.anaconda.com/products/individual

wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh # 下载anaconda
sh Anaconda3-2020.02-Linux-x86_64.sh # 安装anaconda

按默认设置安装即可,可以简单归纳就是“yes 回车 yes”!

4. 创建python虚拟环境

source anaconda3/bin/activate # 激活anaconda
pip install virtualenv # 安装virtualenv
mkdir ~/myweb # 创建目录
cd ~/myweb
virtualenv myweb # 创建虚拟环境目录
source myweb/bin/activate # 激活新建的虚拟环境

5. 安装flask和配置uwsgi

pip install uwsgi flask # 安装flask和uwsgi
sudo firewall-cmd --permanent --add-port=5000/tcp # 打开防火墙端口,请根据实际打开相应端口
sudo firewall-cmd --reload # 应用防火墙设置

将flask项目复制到myweb目录中,先执行 python manage.py runserver 测试是否可以正常运行,之后在项目目录(myweb)下建立uwsgi配置文件(myweb.ini),并粘贴以下内容。

vi myweb.ini

[uwsgi]
master=true

#uwsgi启动时,所使用的地址和端口(这个是http协议的)
http=0.0.0.0:5000

#指向网站目录
chdir=/data/www/myweb

#python 启动程序文件
wsgi-file=manage.py

#python 程序内用以启动的application 变量名
callable=app

#处理器数
processes=2

#线程数
threads=50

#日志
logto=/data/www/myweb/myweb.log

#PID文件
pidfile=/data/www/myweb/myweb.pid

设置完成后回到命令行,使用以下命令启动一个uwsgi服务器

uwsgi --ini myweb.ini

6. 创建自启动Systemd配置

sudo vi /etc/systemd/system/myweb.service

输入下面内容

[Unit]
Description=uWSGI instance to serve Myweb
After=network.target

[Service]
User=flask
WorkingDirectory=/data/www/myweb
Environment="PATH=/data/www/myweb/bin"
ExecStart=/data/www/myweb/bin/uwsgi --ini /data/www/myweb/myweb.ini
Restart=always
Type=notify
NotifyAccess=all
StandardError=syslog
KillSignal=SIGQUIT

[Install]
WantedBy=multi-user.target

sudo systemctl start myweb.service # 启动服务
sudo systemctl enable myweb.service # 开机自启动

相关文章

网友评论

      本文标题:CentOS7 部署 Flask

      本文链接:https://www.haomeiwen.com/subject/oxaaghtx.html