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 相关文章推荐
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
Python类定义和类继承详解
May 08 Python
OpenCV-Python实现轮廓检测实例分析
Jan 05 Python
详解Python核心对象类型字符串
Feb 11 Python
Django+Ajax+jQuery实现网页动态更新的实例
May 28 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
django中上传图片分页三级联动效果的实现代码
Aug 30 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
python 读取数据库并绘图的实例
Dec 03 Python
基于Python测试程序是否有错误
May 16 Python
Django def clean()函数对表单中的数据进行验证操作
Jul 09 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和ACCESS写聊天室(五)
2006/10/09 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
php求今天、昨天、明天时间戳的简单实现方法
2016/07/28 PHP
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
Python脚本后台运行的几种方式
2015/03/09 Javascript
Js+php实现异步拖拽上传文件
2015/06/23 Javascript
url传递的参数值中包含&时,url自动截断问题的解决方法
2016/08/02 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条
2017/01/04 Javascript
基于jQuery实现选项卡效果
2017/01/04 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
canvas绘制爱心的几种方法总结(推荐)
2017/10/31 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
在Echarts图中给坐标轴加一个标识线markLine
2020/07/20 Javascript
[47:03]Ti4第二日主赛事败者组 LGD vs iG 2
2014/07/21 DOTA
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python采集博客中上传的QQ截图文件
2014/07/18 Python
浅谈python numpy中nonzero()的用法
2018/04/02 Python
用python生成1000个txt文件的方法
2018/10/25 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
美国创意之家:BulbHead
2017/07/12 全球购物
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
水产养殖学应届生求职信
2013/09/29 职场文书
中学生期末评语
2014/02/03 职场文书
三年级班级文化建设方案
2014/05/04 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
2016大学生党校学习心得体会
2016/01/06 职场文书
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js