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 ...
随机推荐
- Iocomp控件教程之LinearGauge--线性刻度尺控件
线性刻度尺-线性刻度尺控件(LinearGauge)是一个具有线性表达式刻度的图像控件.支持多达5种颜色断面和4种指示器样式,相同功能,查看线性对数刻度尺(Linear Log Gauge)控件内容 ...
- systemd管理进程
systemd很强大的管理工具,这里简单用来管理一个进程: [Unit]Description=Imges Compress Server [Service]Type=simpleExecStart= ...
- rplidar 扫描角度设置
参考网站:: https://blog.csdn.net/sunyoop/article/details/78302090 https://blog.csdn.net/dzhongjie/arti ...
- Hibernate学习之二级缓存
© 版权声明:本文为博主原创文章,转载请注明出处 二级缓存 - 二级缓存又称“全局缓存”.“应用级缓存” - 二级缓存中的数据可适用范围是当前应用的所有会话 - 二级缓存是可插拔式缓存,默认是EHCa ...
- 运用Arc Hydro提取河网
Arc hydro 插件需要 spatial analyst 支持: 解决方法:Tools菜单>>Extensions...,勾选Spatial Analyst 1.设置存储路径 ApUt ...
- ssh不检查server变化
嵌入式linux开发时经常需要远程登录到板上,但由于开发过程还经常会重新下载内核和文件系统,导致登录时总提示host变了,blablabla,解决方案是在.ssh/config对应的Host项下面加上 ...
- [WebGL入门]二十五,点光源的光照
注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明.我会加上[lufy:].另外,鄙人webgl研究还不够深入,一些专业词语.假设翻译有误,欢迎大家指 ...
- Android DIY之路 (一) 指定区域多图片合成 放大 缩小 镜像 旋转 等(转)
惯例先看效果图 // 注意做类似这种模板功能时候 方位由后台数据提供,这里我们用假数据 4个点 或者xy 加区域来做示例 //一开始我们公司用的是透明盖住 操作图片 但发现 局限性较大.后来直接限定区 ...
- 打造一个高逼格的android开源项目——小白全攻略 (转)
转自:打造一个高逼格的android开源项目 小引子 在平时的开发过程中,我们经常会查阅很多的资料,最常参考的是 github 的开源项目.通常在项目的主页面能看到项目的简介和基本使用,并且时不时能看 ...
- c#脚本控制shader
如图所示,c#脚本控制shader颜色. public class ControlColor : MonoBehaviour { , , , ); public Material mat; publi ...