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中的hashlib和base64加密模块使用实例
Sep 02 Python
pandas数值计算与排序方法
Apr 12 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
Python3按一定数据位数格式处理bin文件的方法
Jan 24 Python
Python3中的最大整数和最大浮点数实例
Jul 09 Python
Django单元测试工具test client使用详解
Aug 02 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
python数据爬下来保存的位置
Feb 17 Python
对pytorch的函数中的group参数的作用介绍
Feb 18 Python
python 等差数列末项计算方式
May 03 Python
pycharm中使用request和Pytest进行接口测试的方法
Jul 31 Python
关于PySnooper 永远不要使用print进行调试的问题
Mar 04 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
eAccelerator的安装与使用详解
2013/06/13 PHP
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
[JS]点出统计器
2020/10/11 Javascript
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
jquery ajax post提交数据乱码
2013/11/05 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
javascript中使用未定义变量或值的情况分析
2016/07/19 Javascript
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
Python实现删除Android工程中的冗余字符串
2015/01/19 Python
Python的gevent框架的入门教程
2015/04/29 Python
使用Python生成url短链接的方法
2015/05/04 Python
python 远程统计文件代码分享
2015/05/14 Python
Python中的super()方法使用简介
2015/08/14 Python
Python ftp上传文件
2016/02/13 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
python爬虫解决验证码的思路及示例
2019/08/01 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
Gap英国官网:Gap UK
2018/07/18 全球购物
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
简述进程的启动、终止的方式以及如何进行进程的查看
2013/07/12 面试题
自荐信的禁忌和要点
2013/10/15 职场文书
2014两会学习心得:时代的发展
2014/03/17 职场文书
就业协议书范本
2014/04/11 职场文书
副处级干部考察材料
2014/05/17 职场文书
活动费用申请报告
2015/05/15 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书
工作后的感想
2015/08/07 职场文书
2015年中秋放假通知范文
2015/08/18 职场文书
实现一个简单得数据响应系统
2021/11/11 Javascript
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript