前言
- 最近在学习CentOs服务器环境,刚好做腾讯小程序设计大赛,项目需要用到flask和爬虫写后端。本文记录了如何部署flask项目
- 若是在Ubuntu上用nginx+uwsgi部署flask项目,可以参考我的另外一篇文章。
- 版本:python3.5.0,CentOs7.6
一.环境准备
- python3.5.0
- setuptools
- pip3
- uwsgi
- flask
-
安装python3.5.0
- 下载python的包
[root@VM_0_15_centos local]# wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
[root@VM_0_15_centos local]# tar -zxvf python3.5.0
[root@VM_0_15_centos local]# cd Python3.5.0
[root@VM_0_15_centos local]# ./configure
[root@VM_0_15_centos local]# make &&make install
- 现在python3.5.0已经安装好了,但是很可能你输入
python3 --version
会发现找不到python - 解决办法:看第二步
- 下载python的包
-
uwsgi(/nginx/python/pip3等)安装好后,command not found的解决办法
find / -name uwsgi
- 假设找到的地址为
/usr/local/bin/uwsgi
- 建立软连接
sudo ln -s /usr/local/bin/uwsgi /usr/bin/uwsgi
- 注意:建立软链接时最好sudo,不然很可能还是command not found
-
安装setuptools
- 同样下载setuptools的包
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
- 解压
tar -zxvf setuptools-19.6.tar.gz
cd setuptools-19.6
- 分别执行
python3 setup.py build
,python3 setup.py install
-
顺利的话:
Processing dependencies for setuptools==19.6 Finished processing dependencies for setuptools==19.6
- 同样下载setuptools的包
-
安装pip
- 同样下载pip的包
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
- 解压
tar -zxvf pip-8.0.2.tar.gz
cd pip-8.0.2
- 分别执行
python3 setup.py build
,python3 setup.py install
-
顺利的话:
Processing dependencies for pip==8.0.2 Finished processing dependencies for pip==8.0.2
- 同样下载pip的包
-
安装pip需要的openssl和openssl-devel
执行yum install openssl
和yum install openssl-devel
注意很可能还需
yum -y install python3-devel
- 安装uwsgi
pip3 install uwsgi
-
安装flask和项目需要的一些包(只是本项目需要的包)
首先进入到项目目录里pip3 install flask
pip3 install virtualenv
pip3 install flask_sqlalchemy
pip3 install sqlalchemy
pip3 install flasgger
pip3 install flask_cors
二.代理服务器配置
-
配置文件uwsgi.ini
sudo vim uwsgi.ini
基本内容:[uwsgi] chdir=/home/dbc/gameEvent callable=app wsgi-file=app.py processes = 5 http=0.0.0.0:8001 chmod-socket=666 max-requests=1000
-
nginx配置
进入nginx的conf目录下(目录结构不一样哟!)cd /www/server/nginx/conf
sudo vim flask.conf
server{ listen 8001; server_name 0.0.0.0; #访问ip location / { include uwsgi_params; uwsgi_pass 127.0.0.1:5000; #代理到uwsgi.ini里兼容的ip和端口 } }
- 生成uwsgi日志目录
mkdir /var/log/uwsgi
- 跑起来
uwsgi uwsgi.ini -d /var/log/uwsgi.log
最后
- 参考链接:1,2
发表回复