jdango 部署之nginx+uwsgi

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdango 部署之nginx+uwsgi相关的知识,希望对你有一定的参考价值。

1,安装pip

sudo apt-get install python-pip

2,利用 pip 安装 Django

sudo pip install Django

3,检测Django是否安装成功

>>> import django

>>> django.VERSION
(1, 9, 2, ‘final‘, 0)
>>> 
>>> django.get_version()
‘1.9.2‘

4, 安装 nginx 

sudo apt-get install nginx

5,安装 uwsgi

sudo pip install uwsgi

6,测试uwsgi

7,

在django项目的根目录下创建test.py文件,添加源码如下:

# test.py
def application(env, start_response):
    start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])
    return ["Hello World"] # python2
    #return [b"Hello World"] # python3

然后,Run uWSGI:

uwsgi --http :8000 --wsgi-file test.py

参数含义:

  • http :8000: 使用http协议,8000端口
  • wsgi-file test.py: 加载指定文件 test.py

8,nginx配置

uwsgi_params文件拷贝到项目文件夹下。uwsgi_params文件在/etc/nginx/目录下

  • 在项目文件夹下创建文件mysite_nginx.conf,填入并修改下面内容:
  • server {
        listen      80;
        server_name localhost;    
        charset     utf-8;
    
        client_max_body_size 75M; 
        access_log /opt/bonker.log;
    
        location /media  {
            alias /home/bonker/web/webProject/media;  
        }
    
        location /static {
            alias /home/bonker/web/webProject/static; 
        }
    
        
        location / {
            uwsgi_pass   127.0.0.1:8001;
            include     /home/bonker/web/webProject/uwsgi_params; 
        }
    }

    /etc/nginx/sites-enabled目录下创建本文件的连接,使nginx能够使用它:

  • sudo ln -s ~/path/to/your/mysite/mysite_nginx.conf /etc/nginx/sites-enabled/

9,配置uwsgi

在项目文件夹下,创建文件mysite_uwsgi.ini,填入并修改下面内容:

[uwsgi]
chdir           = /home/bonker/web/webProject
module          = webProject.wsgi
master          = true
processes       = 2
socket          = 127.0.0.1:8001
vacuum          = true

  在项目目录下执行 

uwsgi --ini mysite_uwsgi.ini
在浏览器中输入localhost,就看到正常的Django页面了。

10,开机启动uwsgi

编辑文件/etc/rc.local, 添加下面内容到这行代码之前exit 0

/usr/local/bin/uwsgi --ini /home/bonker/web/webProject/webProject_uwsgi.ini

以上是关于jdango 部署之nginx+uwsgi的主要内容,如果未能解决你的问题,请参考以下文章

python3 + Django + uwsgi + nginx 配置部署笔记

uWSGI + Nginx + Django 部署

vue+uwsgi+nginx部署前后端分离项目

Flask+uwsgi+nginx 部署

python部署-Flask+uwsgi+Nginx

nginx + uwsgi 部署 Django+Vue项目