Django+Nginx+uwsgi 部署

简介:

先决条件:

    nginx(>0.8);uwsgi;django;

    flup 下载地址:

    wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz

安装:

    sudo apt-get libxml2-dev python-dev

    flup和django   都是用 python setup.py install

    tar zxvf uwsgi-0.9.9.2.tar.gz
    cd uwsgi-0.9.9.2
    make -f Makefile.Py27 #和你安装PYTHON版本一致
    cp uwsgi /usr/sbin/uwsgi

配置:

    建立项目主目录:

    django-admin.py startproject  my_django

    在django主目录中建立django_wsgi.py

    import  os,sys
    import  django.core.handlers.wsgi
    os.environ['DJANGO_SETTINGS_MODULE']='my_django.settings'   #这里的my_django.settings 表示 "项目名.settings"
    application=django.core.handlers.wsgi.WSGIHandler()

    在主目录下 创建 uwsgi.xml文件:

    
  <uwsgi>  
  <socket>0.0.0.0:3001</socket>  
  <listen>20</listen>  
  <master>true</master>  
  <pidfile>/usr/local/nginx/uwsgi.pid</pidfile>  
  <processes>2</processes>  
  <module>django_wsgi</module>
  <pythonpath>/data/my_django</pythonpath>  #刚才建立项目的路径
  <profiler>true</profiler>  
  <memory-report>true</memory-report>  
  <enable-threads>true</enable-threads>  
  <logdate>true</logdate>  
  <limit-as>6048</limit-as>  
  </uwsgi>    

    添加nginx配置:

server {  
        listen  80;  
        server_name  django.sigh.com.cn;  
        location / {  
            root /data/my_django;
            uwsgi_pass   127.0.0.1:3001;  
            include     uwsgi_params;  
         }
}

 

启动uwsgi和nginx

/usr/local/nginx/sbin/nginx
uwsgi -x /data/my_django/uwsgi.xml &

 

uwsgi 控制脚本:可以存放在 /etc/init.d/uwsgi_con

#!/bin/bash  

LOG=/var/log/uwsgi  
CONF=/data/my_django/uwsgi.xml 
  
case "$1" in  
  start)  
    echo  "Starting uwsgi"  
    if [ -n "$PID" ]; then  
      echo "uwsgi is already running"  
      exit  
    else  
      uwsgi -x $CONF -d $LOG &> /dev/null  
    fi  
    ;;  
  stop)  
    echo  "Stopping uwsgi"  
    killall -QUIT uwsgi &> /dev/null   
    ;;  
  restart)  
    $0 stop  
    sleep 1  
    $0 start  
    ;;  
  *)  
    echo "usage: $0 {start|stop|restart}"    
esac  
exit 0 

验证过程:






本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/1135578,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1456 4
|
3月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
186 5
|
11月前
|
应用服务中间件 PHP nginx
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
简介: 本教程介绍如何基于 Dragonwell 的 Ubuntu 镜像创建一个运行 Nginx 的 Docker 容器。首先从阿里云容器镜像服务拉取基础镜像,然后编写 Dockerfile 确保 Nginx 作为主进程运行,并暴露 80 端口。最后,在包含 Dockerfile 的目录下构建自定义镜像并启动容器,确保 Nginx 在前台运行,避免容器启动后立即退出。通过 `docker build` 和 `docker run` 命令完成整个流程。
436 25
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
|
6月前
|
存储 前端开发 应用服务中间件
Django 实战:静态文件与媒体文件从开发配置到生产部署
Django项目中,静态文件(Static Files)和媒体文件(Media Files)是两类不同用途的文件。本文详细介绍了它们的区别、配置方法以及在开发与生产环境中的处理方式,并结合用户头像上传功能进行实战演示,最后讲解了如何通过Nginx或OpenResty部署静态与媒体文件服务。
309 1
|
8月前
|
应用服务中间件 Linux 网络安全
技术指南:如何把docsify项目部署到基于CentOS系统的Nginx中。
总结 与其他部署方法相比,将docsify项目部署到基于CentOS系统的Nginx中比较简单。以上步骤应当帮助你在不花费太多时间的情况下,将你的项目顺利部署到Nginx中。迈出第一步,开始部署你的docsify项目吧!
371 14
|
中间件 应用服务中间件 nginx
Nginx+uWSGI+Django原理
Nginx+uWSGI+Django原理
|
监控 应用服务中间件 网络安全
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
1007 0
|
弹性计算 NoSQL 安全
在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4
一直以来想写一篇完整的在阿里云服务器上部署Django服务结合uwsgi,并且通过nginx做反向代理。因为网上的攻略鱼龙混杂,加上技术不断更新,一些年代久远的文章很容易让人在部署的过程中掉坑里,无法自拔,所以本篇文章以最新的阿里云服务器centos7.6为背景,完全阐述如何部署,亲测可用,其实要说难点完全没有,只要按部就班,就不会有问题。
在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4
|
Ubuntu Unix 应用服务中间件
详细拆分如何在ubuntu 上使用 nginx + uwsgi socket方式部署 Django 项目
详细拆分如何在ubuntu 上使用 nginx + uwsgi socket方式部署 Django 项目
375 0