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发送邮件实例讲解(python发邮件附件可以使用email模块实现)
Dec 03 Python
Python中正则表达式的用法实例汇总
Aug 18 Python
python实现2048小游戏
Mar 30 Python
python中安装模块包版本冲突问题的解决
May 02 Python
python 基本数据类型占用内存空间大小的实例
Jun 12 Python
Django Celery异步任务队列的实现
Jul 24 Python
Python Django简单实现session登录注销过程详解
Aug 06 Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 Python
详解Python可视化神器Yellowbrick使用
Nov 11 Python
python百行代码自制电脑端网速悬浮窗的实现
May 12 Python
python删除文件、清空目录的实现方法
Sep 23 Python
Python 找出英文单词列表(list)中最长单词链
Dec 14 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 register_globals 值为on与off的理解
2013/09/26 PHP
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
jQuery操作JSON的CRUD用法实例
2015/02/25 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
2016/01/27 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
php结合js实现多条件组合查询
2019/05/28 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
jQuery实现的解析本地 XML 文档操作示例
2020/04/30 jQuery
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
编写简单的Python程序来判断文本的语种
2015/04/07 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
Python如何发布程序的详细教程
2018/10/09 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
北京大学自荐信范文
2014/01/28 职场文书
十佳护士获奖感言
2014/02/18 职场文书
业务员的岗位职责
2014/03/15 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书