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 urls.py的三种配置写法实例详解
Apr 28 Python
解决Django模板无法使用perms变量问题的方法
Sep 10 Python
python中使用PIL制作并验证图片验证码
Mar 15 Python
Flask框架Flask-Login用法分析
Jul 23 Python
如何利用Boost.Python实现Python C/C++混合编程详解
Nov 08 Python
Django 视图层(view)的使用
Nov 09 Python
selenium+python自动化测试之环境搭建
Jan 23 Python
在Django下测试与调试REST API的方法详解
Aug 29 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
Python TestSuite生成测试报告过程解析
Jul 23 Python
pycharm部署django项目到云服务器的详细流程
Jun 29 Python
自动在Windows中运行Python脚本并定时触发功能实现
Sep 04 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
分析了一下JQuery中的extend方法实现原理
2015/02/27 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
2016/12/08 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
JavaScript实现随机数生成器(去重)
2017/10/13 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
2020/06/19 Javascript
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
Python虚拟环境virtualenv的安装与使用详解
2017/05/28 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
2018/07/09 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
提升Python效率之使用循环机制代替递归函数
2019/07/23 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
食品营养与检测应届生求职信
2013/11/08 职场文书
销售提升方案
2014/06/07 职场文书
会员活动策划方案
2014/08/19 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python
Js类的构建与继承案例详解
2021/09/15 Javascript
Oracle 多表查询基本语法实例
2022/04/18 Oracle