在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. [Windows Powershell]-学习笔记(4)

    Powershell 定义变量 在powershell中变量名均是以美元符"$"开始,剩余字符可以是数字.字母.下划线的任意字符,并且powershell变量名大小写不敏感($a和 ...

  2. maven工具使用之常用maven命令(二)

    1.创建java web项目: # mvn archetype:generate -DgroupId=com.igoodful.sdxs      -DartifactId=hubu  -Darche ...

  3. 腾讯 微信春招nlp实习生一面二面(猝)

    一面: 1.算法题: 1 28数组中出现次数超过一半的数字 2 手写快排:八大排序算法总结(2) 2.项目介绍: 大多都是项目中涉及到的技术. TFIDF 的原理 word2vec的原理 3.算法原理 ...

  4. RabbitMQ学习之(二)_Centos6下安装RabbitMQ及管理配置

    首先yum方式安装依赖包 yum install ncurses-devel unixODBC unixODBC-devel 安装Erlang语言环境 wget http://erlang.org/d ...

  5. 一键安装lnmp-nginx(3)

    nginx(){cd $pathtar zxvf pcre-8.20.tar.gz cd pcre-8.20./configure --prefix=/usr/local/pcremakemake i ...

  6. 基于tomcat集群做session共享

    前端代理服务器nginx:192.168.223.136 tomcat服务器:采用的一台多实例192.168.223.146:8081,192.168.223.146:8082(如何构建多实例tomc ...

  7. xtrabackup备份脚本

    背景:现网环境全备份脚本:基于xtrabackup命令 #!/bin/sh # MySQL端口 PORT=' # 备份用户 USER='bkpuser' PAWD='bkpuser' Time=`da ...

  8. Java学习第三周摘要

    20145307<Java程序设计>第三周学习总结 教材学习内容总结 认识对象 类类型 Java可区分为基本类型和类类型两大类型系统,其中类类型也称为参考类型.sun就是一个类类型变量,类 ...

  9. 20145333茹翔 《Java程序设计》实验四 实验报告

    实验要求 完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办法(空洞的方法如"查网络&q ...

  10. Job流程:Shuffle详解

    此文承接Job流程:Mapper类分析.MapReduce为确保每个reducer的输入都按键排序,数据从map输出到reducer输入的这段过程成为Shuffle. map端 1).Spill溢写. ...