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解析html开发库pyquery使用方法
Feb 07 Python
理解Python中的With语句
Feb 02 Python
详解Python当中的字符串和编码
Apr 25 Python
Python中字典的浅拷贝与深拷贝用法实例分析
Jan 02 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
Jan 08 Python
Python实现简单层次聚类算法以及可视化
Mar 18 Python
Python实现定时执行任务的三种方式简单示例
Mar 30 Python
python简单的三元一次方程求解实例
Apr 02 Python
python爬虫请求头设置代码
Jul 28 Python
python ssh 执行shell命令的示例
Sep 29 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
Oct 15 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
Jan 28 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读注册表
2006/10/09 PHP
PHP学习 运算符与运算符优先级
2008/06/15 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
2018/05/12 PHP
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
2017/09/25 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
Vue中Axios从远程/后台读取数据
2019/01/21 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
Vue实现小购物车功能
2020/12/21 Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
Django中的文件的上传的几种方式
2018/07/23 Python
python命令行参数用法实例分析
2019/06/25 Python
pip安装python库的方法总结
2019/08/02 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
2020/02/21 Python
Python datetime 如何处理时区信息
2020/09/02 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
计算机专业个人求职信范例
2013/09/23 职场文书
教师见习期自我鉴定
2014/04/28 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
付款证明格式范文
2015/06/19 职场文书
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js