本文已参与「新人创作礼」活动,一起开启掘金创作之路。 @TOC
安装python3(有python3直接跳过)
1.安装Python3的依赖包
yum install zlib-devel libffi-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc* make -y
则表示依赖包安装成功
2.下载Python3的tar包并且安装
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
如果安装失败,则
链接:pan.baidu.com/s/1ppXTkW-J…
提取码:s1pw
将Python-3.7.2.tar.xz放入opt目录下
解压:
tar -Jxvf Python-3.7.0.tar.xz
注意:
当出现下面这样的问题则表示,你是从window下直接脱进去的,这样可能会导致压缩包有缺失
解决方案:
可以使用vmware共享文件夹,或者xshell文件转换等软件(推荐),也可以多脱动几次(看运气)
**编译和安装:**
./confgure prefix=/usr/local/python3
编译成功:
安装:
make && make install
注意: 如果没有make命令则需要去网上的方法安装一下
3.创建软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
python3替换成国内源
mkdir ~/.pip
vim ~/.pip/pip.conf
[global]
timeout = 6000
index-url = https://pypi.mirrors.ustc.edu.cn/simple
trusted-host = pypi.mirrors.ustc.edu.cn
更新pip3
pip3 install --upgrade pip
安装Flask及其插件
根据自己项目需求来安装
安装Flask
pip3 install Flask
数据库
sqlite
pip3 install SQLAlchemy
mysql
pip3 install PyMySQL
选择性安装
Flask-Migrate
pip3 install Flask-Migrate
Flask-Script
pip3 install Flask-Script
Flask-WTF
pip3 install Flask-WTF
导入自己的项目
我在根目录下创建了test文件,并导入了自己的项目
将项目中的缓存文件(pycache)和.idea 删除。并且修改host=‘0.0.0.0’ 。端口号改成自己想要的端口 解压:
unzip Python_Flask.zip
![]()
安装uwsgi并配置
安装
pip3 install uwsgi
创建软连接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
配置uwsgi
-
在opt目录下创建 scripts目录
-
在scripts目录下创建uwsgi.ini 配置文件
该文档插入以下代码
[uwsgi]
socket=127.0.0.1:2020
pythonpath=/test/Python_Flask
module=manage
wsgi-file=/test/Python_Flask/manage.py
callable=app
processes=4
threading=2
daemonize=/opt/scripts/uwsgi.log
详细讲解
socket
socket表示url
我的url就是127.0.0.1:2020
pythonpath
pythonpath表示项目的路径 我的则在/test/Pytho_Flask
module
module表示运行模块
我的运行模块为manage.py
安装Nginx
编译和安装
我的nginx已经放在opt目录下了
解压:
tar -xvf nginx-1.12.2.tar.gz
编译:
./configure
安装:
make && make install
创造软连接
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
测试nginx是否可以运行
nginx #开启服务
nginx -s stop #关闭服务
nginx配置
找到nginx.conf
备份nginx.conf
cp nginx.conf nginx.conf.bak
修改配置文件
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:2020;
uwsgi_param UWSGI_CHDIR /test/Python_Flask;
uwsgi_param UWSGI_SCRIPT manage:app;
}
详细介绍
- include uwsgi_params; 导入uwsgi
- uwsgi_pass 和uwsgi.ini里的socket必须保持一致,意义一样
- uwsgi_param UWSGI_CHDIR uwsgi.ini中pythonpath意义一样,所以需要保持一致
- uwsgi_param UWSGI_SCRIPT 表示运行文件和module类似
- listen nginx的端口号
- server_name 表示服务器名称
运行
先启动 uwsgin
进入到scripts下
uwsgi --ini uwsgi.ini
在启动 nginx
nginx
访问:ip地址 即可。