在CentOS上部署Django+Nginx+Uwsgi环境

奇谭  2016-09-01 评论

VirtualEnv的作用:创建隔离的Python环境,解决模块或库的版本冲突或依赖。
安装virtualenv见CentOS上搭建virtualenv虚拟环境

在这里我们以实际部署一个项目为例,看看django+nginx+uwsgi的环境是怎么部署的

首先通过virtualenv创建python虚拟环境

$ virtualenv imaojia

然后激活虚拟环境并安装django

$ pip install django -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

接着新建一个项目并通过runserver方式启动测试

$ cd /data/wwwroot/
$ django-admin startproject imaojia

![/media/pictures/2016/09/01/django-app.png)

$ cd imaojia/
$ python manage.py runserver 0.0.0.0:8082

打开我们的浏览器,看到如下内容表明我们的项目已经正常跑起来了

ok,现在开始编写uwsgi配置

$ cat > uwsgi.ini <<EOF
[uwsgi]
home=/home/qitanl/imaojia
chdir=/data/wwwroot/imaojia
module=imaojia.wsgi:application
master=True
pidfile=/data/wwwroot/imaojia/imaojia.pid
vacuum=True
max-requests=1000
daemonize=/data/wwwroot/imaojia/uwsgi.log
socket = 0.0.0.0:10000
#http = 0.0.0.0:10000
EOF

接着安装uwsgi并运行

## 通过pip安装uwsgi,已安装的可以忽略
$ pip install uwsgi -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
$ uwsgi --ini uwsgi

ok,现在安装nginx并编写nginx配置文件

## 通过yum快速安装nginx,已安装的忽略
$ yum -y install nginx
$ cat > /etc/nginx/conf.d/imaojia.conf <<EOF
server
{
listen 8082;
server_name soms.imaojia.com; access_log /data/wwwroot/imaojia/imaojia.access.log main; location / {
root /data/wwwroot/imaojia; ## uwsgi配置的端口
uwsgi_pass 127.0.0.1:10000;
include uwsgi_params;
uwsgi_param UWSGI_CHDIR /data/wwwroot/imaojia;
uwsgi_param UWSGI_SCRIPT wsgi;
}
location ~ .*\.(log|php|pl|py|sh|cgi)$ {
return 403;
}
location /static/ {
root /data/wwwroot/imaojia;
access_log off;
}
location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
root /data/wwwroot/imaojia;
expires 30d;
}
location ~ .*\.(js|css)?(.*)
{
root /data/wwwroot/imaojia;
expires 12h;
}
}
EOF

嗯,现在启动nginx并访问看看

$ sudo systemctl start nginx
$ curl http://soms.imaojia.com:8082/

 

CentOS上部署Django+Nginx+Uwsgi环境的更多相关文章

  1. centos 下部署django nginx+uwsgi

    为了建立一个工作站,也是麻烦了.... 感谢该博主: https://www.cnblogs.com/levelksk/p/7921066.html 1.安装centos 后首先安装python,下载 ...

  2. CentOS7部署Django,nginx,uwsgi,redis

    前期准备 把所有的软件都传到这个tools文件夹 cd - mkdir tools cd tools/ mkdir /application 安装nginx yum install pcre pcre ...

  3. Django+Nginx+Uwsgi环境配置

    nginx.conf : server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.acces ...

  4. centos上部署flask项目之环境配置-MySQL的安装

    1.添加mysql 的yum源 wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'    rpm ...

  5. 如何一步步在生产环境上部署django和vue

    本文由云+社区发表 本文主要讲述了如何一步步在生产环境上部署django和vue,操作系统默认为centos 说明:后文中出现的以下字符串均表示具体的路径或者名称,含义如下: DJANGO_DIR-- ...

  6. ubuntu+Django + nginx + uwsgi 部署

    ubuntu+Django + nginx + uwsgi 部署 0.前期准备 注意:以下几件事都必须在激活虚拟环境下完成 运行以下命令生成项目所需的依赖列表,会在项目根目录生成一个requireme ...

  7. CentOS 6.5下安装Python+Django+Nginx+uWSGI

    1.安装Python31.1先安装zlib库及其他三方库安装uWSGI时需要使用zlib,否则执行python uwsgiconfig.py --build时会报ImportError,就是因为在安装 ...

  8. Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器

    Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 闲着无聊的时候部署了一个Django项目玩,用vm虚拟机部署的. 准备工作 我使用的系统是Ubuntu16 ...

  9. 在CentOS上部署kubernetes1.9.0集群

    原文链接: https://jimmysong.io/kubernetes-handbook/cloud-native/play-with-kubernetes.html (在CentOS上部署kub ...

随机推荐

  1. Zen Cart屏蔽中文语言浏览器

    在根目录下的index.php前面加上以下这段代码即可: if(preg_match("/zh-cn/is",$_SERVER['HTTP_ACCEPT_LANGUAGE'])){ ...

  2. PKU 2352 Stars(裸一维树状数组)

    题目大意:原题链接 就是求每个小星星左小角的星星的个数.坐标按照Y升序,Y相同X升序的顺序给出由于y轴已经排好序,可以按照x坐标建立一维树状数组 关键是要理解树状数组中的c[maxn]数组的构成方式, ...

  3. 手写ArrayList、LinkedList

    ArrayList package com.hjp.labs; import org.omg.CORBA.PRIVATE_MEMBER; /* 一.ArrayList的底层是Object类的数组,默认 ...

  4. CodeForces - 528D Fuzzy Search (FFT求子串匹配)

    题意:求母串中可以匹配模式串的子串的个数,但是每一位i的字符可以左右偏移k个位置. 分析:类似于 UVALive -4671. 用FFT求出每个字符成功匹配的个数.因为字符可以偏移k个单位,先用尺取法 ...

  5. Web前端页面的浏览器兼容性测试心得(三)总结一些IE8兼容问题的解决方案

    由于IE8不支持HTML5,而它又是Win7的默认浏览器,我们即使讨厌它,在这几年却也拿它没办法. 最近做了个需要兼容IE8的项目,不可避免地用了HTML5+CSS3,甚至canvas和svg,做兼容 ...

  6. 前端使用html2canvas截图,在canvas上绘制图片及保存图片

    1.使用html2canvas 存在的问题: 不同的机型绘制位置不同的问题. 这个主要因为Html动态设置了html的dpr.(dpr可以解决屏幕显示不了1pxborder和无法显示小于12px的文字 ...

  7. servlet的总结

    tomcat在启动的时候 加载webapp下面的web.xml,加载里面定义的servlet. web.xml文件有两部分:servlet类定义和servlet映射定义每个被载入的servlet类都有 ...

  8. 在VS2012中采用C++中调用DLL中的函数(4)

    转自:http://www.cnblogs.com/woshitianma/p/3683495.html 这两天因为需要用到VS2012来生成一个DLL代码,但是之前并没有用过DLL相关的内容,从昨天 ...

  9. javascript 面向对象 new 关键字 原型链 构造函数

    JavaScript面向对象JavaScript 语言使用构造函数(constructor)作为对象的模板.所谓"构造函数",就是专门用来生成实例对象的函数.它就是对象的模板,描述 ...

  10. z-albert之开启博文之路

    其实注册博客园已经蛮久的了,一直都只是停留在看,却没有自己动手一篇属于自己的技术博文.之所以以前一直没写,以前没有工作,一直都是小白.然而今天为什么感写了呢,并不是自己比以前懂得多多少,而是希望将自己 ...