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
查找安装路径
[root@Ryoma 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 开发环境, 记坑篇的更多相关文章
- Nginx + uWSGI部署中的一些小坑
1.invalid host in upstream报错 重新启动nginx : sudo /etc/init.d/nginx restart 原因是在配置负载均衡nginx.conf配置文件时,发现 ...
- Django Linux环境下部署CentOS7+Python3+Django+uWSGI+Nginx(含Nginx返回400问题处理、防火墙管理)
本文将介绍如何在Linux系统上部署Django web项目,本次部署基于下面的架构: CentOS7+ Python3.5 + Django1.11 + uWSGI + Nginx 亲测可行!!按照 ...
- Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统
Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统 这个是写好的Django程序在本地机运行的情况,一个查询接口. 准备工作 1.首先购买一台阿里云的EC ...
- 填坑!!!virtualenv 中 nginx + uwsgi 部署 django
一.为什么会有这篇文章 第一次接触 uwsgi 和 nginx ,这个环境搭建,踩了太多坑,现在记录下来,让后来者少走弯路. 本来在 Ubuntu14.04 上 搭建好了环境,然后到 centos7. ...
- nginx + uwsgi 部署django项目
因项目需求,需要部署django项目,这里是基础的nginx配合uwsgi部署django,后续会采用docker部署的方式 环境: centos7 python3.5.4 django2.1.4 u ...
- nginx + uwsgi 部署 Django+Vue项目
nginx + uwsgi 部署 Django+Vue项目 windows 本地 DNS 解析 文件路径 C:\Windows\System32\drivers\etc 单机本地测试运行方式,调用dj ...
- nginx+uwsgi部署Django项目到Ubuntu服务器全过程,以及那些坑!!!
前言:自己在windows上用PyCharm编写的Django项目,编写完后在windows上运行一点问题都没有,但是部署到服务器上时却Bug百出.百度,CSDN,sf,各种搜索寻求解决方案在历时3天 ...
- ubuntu+Django + nginx + uwsgi 部署
ubuntu+Django + nginx + uwsgi 部署 0.前期准备 注意:以下几件事都必须在激活虚拟环境下完成 运行以下命令生成项目所需的依赖列表,会在项目根目录生成一个requireme ...
- centos6.5+Django+mysql+nginx+uwsgi
centos6.5+Django+mysql+nginx+uwsgi 1.nginx的安装.这里采用nginx-1.6.0, 建立一个shell脚本然后执行. #!/bin/bash nginx_ve ...
随机推荐
- go学习资料
go书单 1.代码规范 https://github.com/golang/go/wiki/CodeReviewComments 2.基础知识 先看: https://github.com/mikel ...
- java数字签名算法之RSA
© 版权声明:本文为博主原创文章,转载请注明出处 实例 1.项目结构 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0 ...
- Maven常见异常及解决方法(本篇停更至16-4-12)
本篇文章记录了老猫在学习整合Maven和SSH过程中遇到的问题,有的问题可以解决.有的问题还不能解决. 方法不一定适合全部的环境.但绝对是本人常遇到的常见异常.在这里做一个笔记和记录,也分享给大家,希 ...
- Babel中的stage-0,stage-1,stage-2以及stage-3
大家知道,将ES6代码编译为ES5时,我们常用到Babel这个编译工具.大家参考一些网上的文章或者官方文档,里面常会建议大家在.babelrc中输入如下代码: { "presets" ...
- ORACLE 表空间使用率查询
SELECT A.TABLESPACE_NAME, A.BYTES / (1024 * 1024 * 1024 ) TOTAL, B.BYTES / (1024 * 1024 * 1024 ) USE ...
- zip文件压缩
zip文件结构 上面中的每一行都是一个条目,zip文件就是由一个或者多个条目组成. 条目在Java中对应ZipEntry类 创建zip压缩文件 知 ...
- git修改用户名以及邮箱
git 修改当前的project的用户名的命令为:git config user.name 你的目标用户名; git 修改当前的project提交邮箱的命令为:git config user.emai ...
- android的DrawerLayout用法
DrawerLayout的关键点(我认为的)就在于layout文件的layout_gravity属性的值,只有左右,两种选择,不能从上下滑出来,就算有这个效果也不是这个套路弄出来的. <?xml ...
- 生成JNI的DLL时提示找不到jni.h的解决的方法Cannot open include file: 'jni.h': No such file or directory
解决的方法: 就是到jdk的安装文件夹下include下把下面对应的文件,拷贝到vc文件夹下的include文件夹下 \jdk\include\jni.h \jdk\include\win32\jaw ...
- hdu 4902 Nice boat(线段树区间改动,输出终于序列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4902 Problem Description There is an old country and ...