前天在一个python技术开发群里大家都在聊django开发相关内容时,突然有一个哥们蹦出来一句,谁能帮我搭建一个的django环境,nginx怎么跟django连接起来呀,对于这种问题,一般本能的感觉是不难,网上肯定一堆资料,照着敲就是了,所以很多人直接回复的是,上网上查,结果这哥们又来一句,自己都快被网上的资料整崩溃了,看了几十篇没一个能按着步骤搭建完成的,所以跑开发群里来求救来了,我看到后也上网大概搜了下,想看到合适的就发给这位兄台,但我看了几个文章后,非常失望,主要是网上的内容第一同质化内容太严重了,基本你看一篇其它都不用看了,基本都一样,另外最最主要的是文章内容没有价值,因为10篇有9篇都是很久以前的文章,就现在这IT技术的发展,尤其是使用开源的东西,基本每天都在变化,要按这些文章做,能搭建成才怪,所以为了避免大家浪费时间去看那些无用的内容,我就把之前的搭建的环境,整理下,发给大家做个参考,方便大家快速部署线上环境:

具体安装nginx, uwsgi,django不多说了,都是老步骤,除nginx,另外两个都可以通过pip安装,也很方便。

安装完后假设你还没有项目,我们一步一步来,新建一个:

\#cd /home


\#mkdir mytest

\#cd mytest

\#django-admin startproject my\_dj

这样就在/home/mytest/my\_jd下建立一个项目,目录结构如下:

my\_dj/

|-- manage.py

`-- my\_dj

|-- \_\_init\_\_.py

|-- settings.py

|-- urls.py

`-- wsgi.py

接下来配置nginx.conf文件,因为文件太长,我只贴关键行了:

server {

listen 80;

server\_name www.mindg.cn;

root /home/mytest/my\_dj;

index index.py index.htm;

access\_log /var/log/nginx/mindg.access.log;

location / {

include uwsgi\_params;

uwsgi\_pass 127.0.0.1:9001;

}

这样nginx就配置完毕了,然后启动uwsgi,启动命令如下:

uwsgi --socket 127.0.0.1:9001 --chdir /home/mytest/my\_dj/ --wsgi-file /home/mytest/my\_dj/my\_dj/wsgi.py -d uwsgi.log

注:具体的生成环境可以加自己需要的参数(这个网上真有),也可以写成一个xml或ini的配置文件, -d是后台运行,后跟的日志文件名

然后测试,在此我们需要一个简单的页面来测试,进入/home/mytest/my\_dj/my\_jd目录下,新建一个views.py文件,内容如下:

from django.http import HttpResponse

def index(request):

return HttpResponse('hello world')

然后修改urls.py如下,标红的是新加的:

from django.conf.urls import patterns, include, url

from django.contrib import admin

from .views import index

admin.autodiscover()

urlpatterns = patterns('',

# Examples:

# url(r'^$', 'my\_dj.views.home', name='home'),

# url(r'^blog/', include('blog.urls')),

url(r'^admin/', include(admin.site.urls)),

url(r'^$', index),

)

测试,在浏览器里输入:http://www.mindg.cn

将显示”hello world”,表示搭建成功。

标签: nginx, uwsgi, home, django, py, my, dj

相关文章推荐

添加新评论,含*的栏目为必填