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 条件判断的缩写方法
Sep 06 Python
打开电脑上的QQ的python代码
Feb 10 Python
Python PyQt5实现的简易计算器功能示例
Aug 23 Python
使用 Python 实现文件递归遍历的三种方式
Jul 18 Python
对Python3 序列解包详解
Feb 16 Python
Python3enumrate和range对比及示例详解
Jul 13 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
Aug 23 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
推荐值得学习的12款python-web开发框架
Aug 10 Python
python实现单机五子棋
Aug 28 Python
Pycharm如何自动生成头文件注释
Nov 14 Python
Python数据分析之pandas读取数据
Jun 02 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中exec函数和shell_exec函数的区别
2014/08/20 PHP
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
PHP实现的购物车类实例
2015/06/17 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
Laravel如何创建服务器提供者实例代码
2019/04/15 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
Javascript注入技巧
2007/06/22 Javascript
扩展JavaScript功能的正确方法(译文)
2012/04/12 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
JS 清除字符串数组中,重复元素的实现方法
2016/05/24 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
2016/06/16 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
详解Vue 单文件组件的三种写法
2020/02/19 Javascript
vue.js click点击事件获取当前元素对象的操作
2020/08/07 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
详解python之协程gevent模块
2018/06/14 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
Keras搭建自编码器操作
2020/07/03 Python
python利用opencv实现颜色检测
2021/02/23 Python
技术副厂长岗位职责
2013/12/26 职场文书
应用化学专业职业生涯规划书
2013/12/31 职场文书
在校硕士自我鉴定
2014/01/23 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
运动会广播稿150字
2014/02/19 职场文书
服务质量承诺书
2014/03/27 职场文书
信用卡工资证明范本
2014/10/17 职场文书
化工见习报告范文
2014/10/31 职场文书
爱国影片观后感
2015/06/18 职场文书
先进党支部事迹材料2016
2016/02/26 职场文书