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中Collection的使用小技巧
Aug 18 Python
python中readline判断文件读取结束的方法
Nov 08 Python
把项目从Python2.x移植到Python3.x的经验总结
Apr 20 Python
Python编程修改MP3文件名称的方法
Apr 19 Python
python使用fcntl模块实现程序加锁功能示例
Jun 23 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 Python
Python实现基本数据结构中栈的操作示例
Dec 04 Python
PYTHON基础-时间日期处理小结
May 05 Python
Python中的枚举类型示例介绍
Jan 09 Python
python实现维吉尼亚算法
Mar 20 Python
通过实例简单了解Python中yield的作用
Dec 11 Python
python中property和setter装饰器用法
Dec 19 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编程之高级技巧——利用Mysql函数
2006/10/09 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
YII动态模型(动态表名)支持分析
2016/03/29 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
Javascript 继承实现例子
2009/08/12 Javascript
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
2014/12/19 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
2017/08/14 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
详解如何用VUE写一个多用模态框组件模版
2018/09/27 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
2020/11/11 Javascript
总结Python编程中三条常用的技巧
2015/05/11 Python
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
Python模拟百度登录实例详解
2016/01/20 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
详解python中*号的用法
2019/10/21 Python
Python调用scp向服务器上传文件示例
2019/12/22 Python
公务员培训自我鉴定
2013/09/19 职场文书
实用求职信范文分享
2013/12/25 职场文书
仓库规划计划书
2014/04/28 职场文书
七一讲话心得体会
2014/09/05 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
初中政治教学反思
2016/02/23 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
Golang gRPC HTTP协议转换示例
2022/06/16 Golang