阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Nginx+uWSGI+Django环境搭建过程分享

156次阅读
没有评论

共计 2355 个字符,预计需要花费 6 分钟才能阅读完成。

如何搭建一个线上的 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.pyindex.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 文件,内容如下:

fromdjango.httpimportHttpResponse
 
defindex(request):
    return HttpResponse('hello world')

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

fromdjango.conf.urlsimportpatterns, include, url
 
fromdjango.contribimportadmin
from .viewsimportindex
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.linuxidc.com

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

更多参考

Nginx+uWSGI+Supervisor 在 Ubuntu 上部署 Flask 应用  http://www.linuxidc.com/Linux/2016-07/133064.htm

uWSGI+Django+Nginx 的工作原理流程与部署过程 http://www.linuxidc.com/Linux/2017-03/141785.htm

快速部署 Python 应用:Nginx+uWSGI 配置详解  http://www.linuxidc.com/Linux/2016-12/137830.htm

Nginx+uWSGI+Django+Python 应用架构部署  http://www.linuxidc.com/Linux/2015-10/124183.htm

Ubuntu Server 14.04.2 LTS 配置 Nginx + Uwsgi + Django  http://www.linuxidc.com/Linux/2015-04/116397.htm

Flask+uWSGI+Nginx+Ubuntu 部署教程 http://www.linuxidc.com/Linux/2016-06/132690.htm

Ubuntu 16.04 下安装部署 Nginx+uWSGI+Django1.9.7  http://www.linuxidc.com/Linux/2016-07/133484.htm

Nginx+uWSGI+Django 在 Ubuntu 下的部署  http://www.linuxidc.com/Linux/2016-07/133490.htm

Linux 上利用 Nginx 代理 uWSGI 处理 Flask Web 应用  http://www.linuxidc.com/Linux/2016-08/134164.htm

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-03/141805.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2355字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中