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 argv用法详解
Jan 08 Python
python实现识别相似图片小结
Feb 22 Python
Python基于OpenCV实现视频的人脸检测
Jan 23 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
pip指定python位置安装软件包的方法
Jul 12 Python
如何通过python的fabric包完成代码上传部署
Jul 29 Python
opencv设置采集视频分辨率方式
Dec 10 Python
python 解决tqdm模块不能单行显示的问题
Feb 19 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
Aug 11 Python
Django3中的自定义用户模型实例详解
Aug 23 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
Feb 24 Python
Pyhton爬虫知识之正则表达式详解
Apr 01 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 md5下16位和32位的实现代码
2008/04/09 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
2017/04/24 Python
Python字符串拼接的几种方法整理
2017/08/02 Python
Python实现的简单计算器功能详解
2018/08/25 Python
Python绘制股票移动均线的实例
2019/08/24 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
消防安全汇报材料
2014/02/08 职场文书
导游词开场白
2015/01/31 职场文书
2015年派出所民警工作总结
2015/04/24 职场文书
2015年社区工会工作总结
2015/05/26 职场文书
东京审判观后感
2015/06/01 职场文书
导游词之塘栖古镇
2019/12/04 职场文书
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs