Centos部署django服务nginx+uwsgi的方法


Posted in Python onJanuary 02, 2019

1.安装python3

yum -y install wget gcc make zlib-devel readline-devel bzip2-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel openssl-devel
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
xz -d Python-3.6.1.tar.xz
tar -xvf Python-3.6.1.tar
cd Python-3.6.1
./configure --prefix=/usr/local/python3.6 --enable-optimizations
make
make install
ln -s /usr/local/python3.6/bin/python3 /usr/bin/python3
 ln -s /usr/local/python3.6/bin/pip3 /usr/bin/pip3

这是通过编译的方式来安装的

输入 python3 ?version 和 pip3 ?version 进行测试

2. 安装nginx

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
sudo yum install -y nginx
sudo systemctl start nginx.service

通过你的域名或IP来访问你的Web页面来预览一下Nginx的默认页​面进行测试

3.下载代码,上传到服务器的/var/www 目录

4. 安装依赖

pip3 install django
pip3 install uwsgi
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3

5. 独立运行进行测试

cd /var/www/dexundjango
python3 manage.py runserver 0.0.0.0:8014

测试通过后,Ctrl + C 停止运行

6.uwsgi

sudo mkdir -p /etc/uwsgi/sites
sudo mkdir -p /var/log/uwsgi
cd /etc/uwsgi/sites
sudo vi /etc/uwsgi/sites/mysite.ini
[uwsgi]
socket = 127.0.0.1:10000
chdir=/var/www/dexundjango
module=mysite.wsgi:application
master=True
pidfile=/tmp/project-master.pid
vacuum=True
max-requests=5000
daemonize=/var/log/uwsgi/mysite.log

7. nginx 配置

vi /usr/local/nginx/conf/nginx.conf (根据本地的配置路径)
find / -name uwsgi_params 来替换下面的uwsgi_params路径
server {
  listen 8014; #暴露给外部访问的端口
  server_name localhost;
    charset utf-8;
  location / {
    include /usr/local/nginx/conf/uwsgi_params;
    uwsgi_pass 127.0.0.1:10000; # 必须和uwsgi.ini配置的端口一致
  }
  location /static/ {
    alias /home/www/dexundjango/trade/static/; #项目静态路径设置
  }

8. 启动uwsgi

uwsgi3 --ini /etc/uwsgi/sites/mysite.ini

9. 开机启动uwsgi

vi /etc/init.d/uwsgi
#!/bin/bash
# chkconfig: - 85 15
uwsgi=/usr/bin/uwsgi3
api_conf=/etc/uwsgi/sites/mysite.ini

case $1 in
  start)
    echo -n "Starting uWsgi"
    nohup $uwsgi -i $api_conf >/var/log/uwsgi/project-api.log 2>&1 &
    echo " done"
  ;;

  stop)
    echo -n "Stopping uWsgi"
    killall -9 uwsgi
    echo " done"
  ;;

  restart)
    $0 stop
    $0 start
  ;;

  show)
    ps -ef|grep uwsgi
  ;;

  *)
    echo -n "Usage: $0 {start|restart|stop|show}"
  ;;

esac
chmod +x /etc/init.d/uwsgi
chkconfig --add uwsgi
chkconfig uwsgi on

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python概率计算器实例分析
Mar 25 Python
Python统计日志中每个IP出现次数的方法
Jul 06 Python
python 用opencv调用训练好的模型进行识别的方法
Dec 07 Python
Python地图绘制实操详解
Mar 04 Python
python如何实现数据的线性拟合
Jul 19 Python
python Django里CSRF 对应策略详解
Aug 05 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
Aug 18 Python
python带参数打包exe及调用方式
Dec 21 Python
手把手教你安装Windows版本的Tensorflow
Mar 26 Python
pandas to_excel 添加颜色操作
Jul 14 Python
Python定时任务框架APScheduler原理及常用代码
Oct 05 Python
Python实现生活常识解答机器人
Jun 28 Python
Python 一句话生成字母表的方法
Jan 02 #Python
使用python将请求的requests headers参数格式化方法
Jan 02 #Python
浅谈python requests 的put, post 请求参数的问题
Jan 02 #Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
Apr 18 #Python
Python装饰器语法糖
Jan 02 #Python
Python WEB应用部署的实现方法
Jan 02 #Python
Python功能点实现:函数级/代码块级计时器
Jan 02 #Python
You might like
php 将excel导入mysql
2009/11/09 PHP
PHP引用的调用方法分析
2016/04/25 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
php 无限分类 树形数据格式化代码
2016/10/11 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
jQuery 动画弹出窗体支持多种展现方式
2010/04/29 Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
jQuery随便控制任意div隐藏的方法
2013/06/28 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
2015/08/24 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
2016/02/27 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
vue左侧菜单,树形图递归实现代码
2018/08/24 Javascript
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
使用typescript构建Vue应用的实现
2019/08/26 Javascript
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
Python实现获取操作系统版本信息方法
2015/04/08 Python
利用python画出折线图
2018/07/26 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
FitFlop澳大利亚官网:英国符合人体工学的鞋类品牌
2017/06/05 全球购物
经典c++面试题四
2015/05/14 面试题
会计专业毕业生自我评价
2013/09/25 职场文书
超市促销活动方案
2014/03/05 职场文书
个人承诺书
2014/03/26 职场文书
大学学习计划书范文
2014/05/02 职场文书
企业承诺书怎么写
2014/05/24 职场文书
护理专科学生自荐书
2014/07/05 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
python not运算符的实例用法
2021/06/30 Python