1,添加一个用户
adduser antpython
修改密码
passwd antpython
添加用户组
gpasswd -a antpython wheel
切换用户
sudo -iu antpython
2初始化环境
初始化仓库
sudo yum install epel-release
安装gcc和nginx
sudo yum install gcc nginx
3安装anaconda
下载地址 https://repo.anaconda.com/archive/
文件下载地址 https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
安装anaconda
sh Anaconda3-2019.10-Linux-x86_64.sh
默认目录
/home/antpython/anaconda3
4创建python虚拟环境
激活anaconda
source anaconda3/bin/activate
安装virtualenv
pip install virtualenv
创建目录
mkdir ~/myproject
cd ~/myproject/
创建虚拟环境目录
virtualenv myprojectenv
激活新创建的虚拟环境
source myprojectenv/bin/activate
5初始化一个简单地的flask应用
安装flask和uwsgi
pip install uwsgi flask
创建一个flask文件
vim ~/myproject/myproject.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return "hello flask there"
if __name__ == '__main__':
app.run(host='0.0.0.0')
启动测试flask
python myproject.py
启动不了的话liunx放行5000端口
firewall-cmd --permanent --add-port=5000/tcp
从起防火墙
firewall-cmd --reload
6创建一个wsgi入口
vim ~/myproject/mywsgi.py
from myproject import application
if __name__ == '__main__':
application.run()
#启动wsgi
uwsgi --socket 0.0.0.0:5000 --protocol=http -w mywsgi
启动不了
查看缺失的资源包
ldd ~/myproject/myprojectenv/bin/uwsgi
解决方案
[root@localhost ~]# ln -s /home/antpython/anaconda3/lib/libicui18n.so.58 /lib64/libicui18n.so.58
[root@localhost ~]# ln -s /home/antpython/anaconda3/lib/libicuuc.so.58 /lib64/libicuuc.so.58
[root@localhost ~]# ln -s /home/antpython/anaconda3/lib/libicudata.so.58 /lib64/libicudata.so.58
缺失CXXABI_ 之类的东西
那么就把 anaconda3 下的libstdc++.so.6移到/lib64下面
把libstdc++.so.6.0.26拷贝到/lib64目录下。
cp libstdc++.so.6.0.26 /lib64/
删除原来的libstdc++.so.6符号连接。
rm -rf libstdc++.so.6
新建新符号连接。
ln -s libstdc++.so.6.0.26 libstdc++.so.6
再次执行查看结果符合就哦了。
7配置uwsgi的配置文件
vim ~/myproject/myproject.ini
[uwsgi]
#模块
module = mywsgi
master = true
#5个进程
processes = 5
#100个线程
threads = 100
http = 0.0.0.0:5000
virtualenv = /home/antpython/myproject/myprojectenv
die-on-term = true
启动
uwsgi --ini myproject.ini
8,创建自启动Systemd配置
sudo vim /etc/systemd/system/myproject.service
#自启动
[Unit]
Description=uWSGI instance to serve myproject
After=network.target
[Service]
User=antpython
Group=nginx
WorkingDirectory=/home/antpython/myproject
Environment="PATH=/home/antpython/myproject/myprojectenv/bin"
ExecStart=/home/antpython/myproject/myprojectenv/bin/uwsgi --ini myproject.ini
[Install]
WantedBy=multi-user.target
#启动服务
sudo systemctl start myproject.service
#开机自启动服务
sudo systemctl enable myproject.service
#重新启动服务
sudo systemctl reload myproject.service
查看httpd的开机启动状态列表
systemctl list-unit-files
liunx下python flask环境搭建
最新推荐文章于 2024-03-25 14:16:51 发布