nginx+uwsgi+django环境部署及测试

默认系统自带的python2.6.6

第一步(安装setuptools)

wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz  --no-check-certificate

tar zxvf setuptools-0.6c11.tar.gz

cd setuptools-0.6c11

python setup.py install

第二步(安装pip)

这里有较新版的pip https://pypi.python.org/pypi/pip/(需要新的版本,下面版本太旧)

下载:wget https://pypi.python.org/packages/22/f3/14bc87a4f6b5ec70b682765978a6f3105bf05b6781fa97e04d30138bd264/pip-8.0.3.tar.gz#md5=8f000fc101e47f4f199fa29df1e0b0df

解压:tar zxvf pip-8.0.3.tar.gz

cd pip-8.0.3

python setup.py install

pip list查看当前已经安装的东西

第三步(通过pip安装django)

pip install django==1.6(指定版本)

至此django的环境已经可以了,可以测试一下是否成功

第四步 (测试django)

进入目录/home/shifeixiang/python/django

创建一个django项目--django-admin.py startproject mysite

这样就能看到自己的django项目

cd ./mysite

可以看到一个文件夹,一个文件

接下来启动django自带的服务

python manage.py runserver 0.0.0.0:8011(端口是8011,0.0.0.0表示任意地址访问)

在自己电脑打开浏览器

ip地址是django所在的主机的地址

这表明django可以执行了

第五步(安装相关的软件,为nginx和uwsgi的安装做准备)

sudo yum groupinstall "Development tools" sudo yum install openssl openssl-devel sqlite-devel zlib-develbzip2-devel  ncurses-devel readline-devel tk-devel  sudo yum install pcre pcre-devel pcre-static

安装python-devel

yum install python-devel

否则出现错误:

Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-PY2Y2u/uwsgi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-QoUtnM-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-PY2Y2u/uwsgi/

第六步(安装uwsgi)

sudo pip install uwsgi

在主目录下会有mysite/wsgi.py文件

因此在项目的主目录执行

uwsgi --http 0.0.0.0:8011 --module mysite.wsgi

在本地的浏览器中输入ip和端口,如下,表示uwsgi和django可以连通:

此时的服务方式如下:

the web client <-> uWSGI <-> Django

通过ctrl+c 停止

第七步(安装nginx)

sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm #安装nginx yum源 sudo yum info sudo yum install nginx

查看版本 nginx -v

第八步(配置相关信息)

在django项目所在的目录下面,也就是manage.py同级的目录

创建django_wsgi.py文件:

#coding=utf-8

import os

#设置系统的DJANGO_SETTINGS_MODULE参数指向django项目的settings.py文件

os.environ['DJANGO_SETTINGS_MODULE']='test_project.settings'

import  django.core.handlers.wsgi

application=django.core.handlers.wsgi.WSGIHandler()

在项目主目录下配置uwsgi,mysite_uwsgi.ini

[uwsgi]

socket = 0.0.0.0:8078

listen = 16

#env = PYTHONPATH=/home/shifeixiang/workspace/python/django/mysite/3rd-packages/

processes = 8

module = django_wsgi

chdir = /home/shifeixiang/workspace/python/django/mysite

pidfile = /usr/local/nginx/uwsgi_mysite.pid

enable-threads = true

pythonpath = /home/shifeixiang/workspace/python/django/mysite

daemonize = /data/logs/mysite_uwsgi.log

socket:地址和端口号,与Nginx的uwsgi_pass配置对应

listen:设置socket的监听队列大小

env:设置一个系统环境变量

processes:开启的进程数量

pidfile:存放pid的文件

module:运行的python模块的名称

pythonpath:运行的python模块所在的路径

enable-threads:是否允许运行线程

daemonize:使进程在后台运行,并将日志打到指定的日志文件

touch-reload:当该文件被touch的时候,重启uWSGI

最后配置nginx文件

server {

listen 80;

server_name hd3.mingchao.com www.testmysite.com;

root /home/shifeixiang/python/django/mysite;

error_log /data/logs/update.center.mcmysite.com;

location / {

uwsgi_read_timeout 600;

uwsgi_send_timeout 600;

uwsgi_pass 0.0.0.0:8079;

include  uwsgi_params;

}

location /static/{

alias /home/shifeixiang/python/django/mysite/static/;

break;

}

}

listen:Nginx对外的端口,也就是用浏览器访问的端口

server_name:该服务端的域名

error_log:错误日志会输出到这个文件

location:上面第一个location的配置表示的把服务器/目录的请求通过本地的9099端口重定向给uwsgi

这里可以设置uwsgi的参数,例如uwsgi_read_timeout表示等待uwsgi返回数据的超时时间,uwsgi_send_timeout表示向uwsgi发动请求的超时时间

第二个location是设置静态文件,表示/static/目录的请求,返回服务器/data/web/mcyw_test_project/static/目录下的文件

第九步(启动uwsgi和nginx)

启动uwsgi

uwsgi mysite_uwsgi.ini

启动nginx

service nginx restart

登陆时默认的是80端口,在nginx中配置listen 80;

这种服务方式为:

浏览器 <-> nginx <-> uWSGI <-> Django(python)

nginx作为反向代理

如需域名访问,需要在本地设置hosts文件,添加ip与域名的映射,或者设置DNS

成功

centos6.5安装nginx+python+uwsgi+django的更多相关文章

  1. Nginx+Python+uwsgi+Django的web开发环境安装及配置

    Nginx+Python+uwsgi+Django的web开发环境安装及配置 nginx安装 nginx的安装这里就略过了... python安装 通常系统已经自带了,这里也略过 uwsgi安装 官网 ...

  2. 安装nginx python uwsgi环境 以及模拟测试

    uwsgi帮助文档: http://uwsgi-docs-cn.readthedocs.io/zh_CN/latest/WSGIquickstart.html http://uwsgi-docs.re ...

  3. centos6.5 安装nginx

    安装之前先安装VMware tools(方便于从windows上拷贝文件到linux) 1. nginx安装环境 nginx是C语言开发,建议在linux上运行,本次使用Centos6.5作为安装环境 ...

  4. centos6.3安装nginx

    一般使用linux系统的不少网友可能都是直接使用一键安装包进行安装的,以前作者也这样,但是很多时候这些一键安装方便是方便但是可能在升级及其他很多地方不是很好,本文就说下在centos6.3安装ngin ...

  5. Centos6 下安装Nginx+Mysql+PHP

    安装nginx https://segmentfault.com/a/1190000007928556 添加源 $ wget http://nginx.org/packages/centos/6/no ...

  6. Centos6 yum安装nginx

    1.Centos6系统库中默认是没有nginx的rpn包的,所以我们需要先更新下rpm依赖库 (1):使用yum安装nginx,安装nginx库 rpm -Uvh http://nginx.org/p ...

  7. CentOS6.5安装nginx及负载均衡配置

    所有的安装包可以去以下地址下载,或者自行去官网下载,下面都有介绍. 所有安装包地址:http://download.csdn.net/detail/carboncomputer/9238037 原文地 ...

  8. Centos6.6安装Nginx

    1.在安装nginx之前,需要先安装该模块需要依赖包 yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel 2.安 ...

  9. nginx+vue+uwsgi+django的前后端分离项目部署

    Vue+Django前后端分离项目部署,nginx默认端口80,数据提交监听端口9000,反向代理(uwsgi配置)端口9999 1.下载项目文件(统一在/opt/luffyproject目录) (1 ...

随机推荐

  1. Linux设备树(六 memory&chosen节点)

    六 memory&chosen节点 根节点那一节我们说过,最简单的设备树也必须包含cpus节点和memory节点.memory节点用来描述硬件内存布局的.如果有多块内存,既可以通过多个memo ...

  2. Java反射、反射练习整理

    反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语 ...

  3. 【.net】未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法

    #错误描述: 在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错: “未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序” # ...

  4. I/O模型

    目录: IO模型 阻塞IO 非阻塞IO IO多路复用 异步IO 总结: 1.阻塞IO模型 多线程 多进程 线程池 进程池 全是阻塞IO 2.非阻塞IO 协程是一种非阻塞IO 1.setblocking ...

  5. [再寄小读者之数学篇](2014-06-22 求导数 [中国科学技术大学2014年高等数学B考研试题])

    设 $f(x)=x^2\ln(x+1)$, 求 $f^{(n)}(0)$. 解答: 利用 Leibniz 公式易知 $f'(0)=f''(0)=0$, $f^{(n)}(0)=(-1)^{n-3} n ...

  6. python之用unittest实现接口参数化示例

    示例中获取参数的方法有三种: 1. 从文件(txt)中读取参数 2. 从Excel中读取参数 3. 在代码中直接写参数 def login(username,password): return 'ok ...

  7. pt-online-schema-change VS oak-online-alter-table【转】

    前言 在上篇文章中提到了MySQL 5.6 Online DDL,如果是MySQL 5.5的版本在DDL方面是要付出代价的,虽然已经有了Fast index Creation,但是在添加字段还是会锁表 ...

  8. 【全网最全的博客美化系列教程】08.自定义地址栏Logo

    全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...

  9. 【原创】大数据基础之Oozie(3)Oozie从4.3升级到5.0

    官方文档如下: http://oozie.apache.org/docs/5.0.0/AG_OozieUpgrade.html 这里写的比较简单,大概过程如下:1 下载5.0代码并编译:2 解压5.0 ...

  10. Vuex数据可视化

    参考:https://gitee.com/hjm100/codes/46towe9v28a1bxfqhc7kl34 Vuex虽然能存储数据,但是一刷新就没有了,如果要实现数据持久化,就需要用vuex- ...