您的位置:首页 > 运维架构 > Nginx

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

2014-02-24 18:16 836 查看
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页面了~

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

望能帮助需要的朋友
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息