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 # 开机自启动
网友评论