liunx下python flask环境搭建

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值