Mac os X 配置 django + uWSGI + nginx 简单构建过程分享

作者: jjsologuy
发布时间:2015-07-29 11:30:40

python的安装就不多说了

一.Django的安装,从https://www.djangoproject.com/download/,Django官网参考下载方式

我用的方法是:

First, download Django-1.6.2.tar.gz (checksums). Then:

tar xzvf Django-1.6.2.tar.gz
cd Django-1.6.2
sudo python setup.py install
过程基本没出错,那么接下来就构建一个Django程序吧,按照官方文档的来很快能构建一个Django程序,如mysite


二.安装 uWSGI,并运行起 mysite

从uWSGI官网下载 uwsgi-2.0.1.tar.gz 

解压后

1.运行 sudo python uwsgiconfig.py --build

            sudo python setup.py install

2.建立 uWSGI 的软链

     sudo ln -s /uwsgi解压地址/uwsgi /usr/local/bin/uwsgi

建立完成,任意目录都可调用 uwsgi 命令

3.在Django mysite工程下 ,同manage.py同一目录 建立文件django_uwsgi.py(文件名随意)

django_uwsgi.py内容:

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

(高版本Django会在工程mysite/mysite 中自带wsgi.py,内容一样)

4.配置uwsgi ini配置文件,协助 uwsgi启动,配置文件启动方式比较优雅。。。总比你敲半天敲错舒服多了。其他启动方式可查看uwsgi官网

ugsgi.ini 内容如下:

[uwsgi]

socket = 127.0.0.1:8077

chdir = /工程目录路径

pythonpath = ..

env = DJANGO_SETTINGS_MODULE=mysite.settings

module = django_wsgi  #此处,django_wsgi就是我们写的那个模块,uwsgi是根据这个模块进入控制的

processes = 4

threads = 2

stats = 127.0.0.1:9191

对于初学python的朋友们我提个醒,(会的也不会看我这入门级blog了)

socket = 127.0.0.1:8077  此句,是指明了uwsgi的启动方式和端口。

当 uwsgi用socket方式启动时,是不能直接解析http请求的,及在它之前还会有另外一个服务器进行处理,如nginx

如果启动起来想查看一下是否成功,通过http请求的话,修改配置为 http = 127.0.0.1:8077

OK,配置完成后,启动工程查看一下:

uwsgi uwsgi.ini

访问127.0.0.1:8087就能看的你的工程了


三. nginx的安装 与 配置

我安装nginx时有点取巧,直接下载 macports工具

然后终端执行:

port search "nginx"

port查看资源,得到nginx版本

sudo port install "nginx"

自动下载且安装挖成,nginx软连接也已添加

自动安装的nginx路径为:/opt/local/etc/nginx


接下来将几个文件“解放"出来

nginx安装目录下 ls -al 查看文件,会发现几个.default拓展文件

执行 sudo cp 解放 mime.types ,nginx.conf,uwsgi_params

配置 nginx.conf文件 sudo vim uwsgi.conf

找到server,修改为:


配置上 nginx对 uwsgi的监控端口

将uwsgi.ini的配置 http修改为 socket

启动服务器:

sudo nginx

uwsgi uwsgi.ini

服务器启动后,查看127.0.0.1:80端口,就能看的你的web页面了~



这已经是最基本最简单的了吧,如果出现有问题的地方,欢迎提出,真挚感谢。

望能帮助需要的朋友


版权声明:本文为博主原创文章,未经博主允许不得转载。

来源:http://blog.csdn.net/jjsologuy/article/details/19834883

推荐: