CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇
Posted 不当咸鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇相关的知识,希望对你有一定的参考价值。
CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境
Python环境搭建
Python2 3共存
python -V 查看Python版本
安装Python3
下载安装相关包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
备份
cd /usr/bin
mv python python.bak
安装
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz
解压
tar -xvJf Python-3.6.3.tar.xz
切换进入
cd Python-3.6.3
编译安装
./configure prefix=/usr/local/python3
make && make install
Python 2 3共存
添加Python3软链
rm /usr/bin/python
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
升级pip3到最新版本
pip3 install –upgrade pip
这时候在执行命令python -v和python2 -V,应该就能看到python3和python2的版本了。
因为执行yum需要python2版本,所以我们还要修改yum的配置,执行:
vi /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
文件里面的#! /usr/bin/python 也要修改为#! /usr/bin/python2
MySQL环境搭建
下载MySQL源安装包, 还是用57吧
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装MySQL源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
yum install mysql-devel
安装MySQL
yum install mysql-community-server
进入MySQL目录
cd /usr/bin
启动MySQL
systemctl start mysqld
查看MySQL状态
systemctl status mysqld
设置MySQL开机启动
systemctl enable mysqld
修改root本地登录密码(密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位)
grep ‘temporary password’ /var/log/mysqld.log
mysql -uroot -p
set password for ‘root’@’localhost’=password(‘!2Qw32sd’);
uwsgi安装配置
uwsgi 安装
使用pip3安装
pip3 install uwsgi
创建uwsgi软链接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3
测试uwsgi是否可用
- 建立测试脚本test.py
- 运行脚本
uwsgi –http :8000 –wsgi-file test.py
浏览器输入IP:端口: 如果可以看到 ‘hello uwsgi’, 配置完成
uwsgi 设置
进入项目目录
cd /var/www/myproject
创建编辑 uwsgi 配置文件(文件名自起)
vim uwsgiset.xml
内容如下
在项目目录( /var/www/myproject )下启动:
uwsgi3 -x uwsgiset.xml
提醒 [uWSGI] parsing config file myproject.xml 则启用成功
注意仅仅是启用成功
Nginx安装配置
Ngxin安装
直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html
推荐选择稳定版下载 : 当前版本 1.12.2
解压
tar -zxvf nginx-1.12.2.tar.gz
编译前初始化配置
cd nginx-1.12.2 # 进入nginx目录
./configure # 使用默认配置
编译安装
make
make install
查找安装路径
[[email protected] nginx-1.12.2]#whereis nginx
nginx: /usr/local/nginx
启动、停止 nginx
cd /usr/local/nginx/sbin/ # 进入 nginx sbin 目录
./nginx # 启动 nginx
./nginx -s quit # 此方式停止步骤是待 nginx 进程处理任务完毕进行停止
./nginx -s stop # 此方式相当于先查出 nginx 进程id再使用kill命令强制杀掉进程
./nginx -s reload # 重新加载
查询 nginx 进程:
ps aux|grep nginx
配置Nginx文件
cd /usr/local/nginx/conf/
vim nginx.conf
保存nginx.conf执行
nginx -t 命令检查配置文件是否有错
./nginx -s reload 重启Nginx
以上是关于CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇的主要内容,如果未能解决你的问题,请参考以下文章