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 相关文章推荐
详解Golang 与python中的字符串反转
Jul 21 Python
python并发2之使用asyncio处理并发
Dec 21 Python
python3+PyQt5实现自定义流体混合窗口部件
Apr 24 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
Jun 24 Python
pandas的连接函数concat()函数的具体使用方法
Jul 09 Python
Python 3.8正式发布重要新功能一览
Oct 17 Python
Python3常用内置方法代码实例
Nov 18 Python
使用PyTorch训练一个图像分类器实例
Jan 08 Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 Python
详解PyQt5信号与槽的几种高级玩法
Mar 24 Python
用ldap作为django后端用户登录验证的实现
Dec 07 Python
利用Python过滤相似文本的简单方法示例
Feb 03 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
ftp类(myftp.php)
2006/10/09 PHP
PHP Document 代码注释规范
2009/04/13 PHP
php面向对象全攻略 (九)访问类型
2009/09/30 PHP
探讨php define()函数及defined()函数使用详解
2013/06/09 PHP
解析strtr函数的效率问题
2013/06/26 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
JavaScript 调试器简介
2009/02/21 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
js获取时间(本周、本季度、本月..)
2013/11/22 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
详解vue axios中文文档
2017/09/12 Javascript
zTree jQuery 树插件的使用(实例讲解)
2017/09/25 jQuery
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
vue组件入门知识全梳理
2020/09/21 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
Python中除法使用的注意事项
2014/08/21 Python
Python入门篇之正则表达式
2014/10/20 Python
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
如何使用Python多线程测试并发漏洞
2019/12/18 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
Python抓包并解析json爬虫的完整实例代码
2020/11/03 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
浅谈html5 响应式布局
2014/12/24 HTML / CSS
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
办公室主任先进事迹
2014/01/18 职场文书
优秀求职信范文分享
2014/01/26 职场文书
2015年保险公司内勤工作总结
2015/05/23 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
导游词之潮音寺
2019/09/26 职场文书
redis数据结构之压缩列表
2022/03/21 Redis