nginx+uwsgi部署django应用

几个月之前写了一个django应用,现在记录一下部署过程,不然之后需要的时候就该忘了。

准备工作

项目完成之后首先运行开发服务器测试,确保无误。

python manage.py runserver

安装一些东西

sudo apt-get install python-dev

安装supervisor,用来管理uwsgi

sudo pip install supervisor

安装uwsgi

sudo pip install uwsgi

用uwsgi手动运行项目进行测试

uwsgi --http :8001 --chdir /path/to/project --home=/path/to/env --module project.wsgi

按理说我们应该使用supervisor来管理uwsgi,然而我这里遇到了一些麻烦。在我的ubuntu测试环境上,只要一启动supervisord,内存就会蹭蹭蹭往上涨,直到全部内存都吃掉之后卡死。

Image 055

反正我也没有那么多的项目要管理,所以直接放弃这货。

配置uwsgi

向uwsgi.ini中写入:

[uwsgi]
chdir=/path/to/project/
module=myproject.wsgi:application
socket=/tmp/project.sock
master=True
pidfile=/tmp/myproject-master.pid
vacuum=True
max-requests=5000
daemonize=/path/to/project/myproject.log

socket=/tmp/project.sock这行需要记住,我们一会需要把它和nginx关联

完成之后我们先要让uwsgi跑起来,另外你也可以把这条命令写入rc.local来实现自启动。

uwsgi --ini /path/to/conf/uwsgi.ini

配置nginx

upstream kotori_uwsgi
{
    server unix:///tmp/project.sock;
}
server
{
    listen 80;
    server_name example.com;
    charset utf-8;
    client_max_body_size 75M;
    location /media
    {
        alias /path/to/project/media;
    }
    location /static
    {
        alias /path/to/project/static;
    }
    location /
    {
        uwsgi_pass kotori_uwsgi;
        include /etc/nginx/uwsgi_params;
    }
}

测试并重启nginx。

关闭调试

测试无误后,需要将应用的调试模式关掉以确保安全。

进入settings.py

DEBUG = True

改为

DEBUG = False

一旦调试模式关闭,就必须设置下面的ALLOWED_HOSTS,否则访问时会报HTTP 400错误。

ALLOWED_HOSTS = ['*']

Done.

Show CommentsClose Comments

5 Comments

  • 随风漂流的星光
    Posted 2015 年 12 月 25 日 at 下午 9:24 0Likes
    Google Chrome 41.0.2255.0 Google Chrome 41.0.2255.0 Windows 7 x64 Edition Windows 7 x64 Edition

    Mark~

    • Frank
      Posted 2015 年 12 月 25 日 at 下午 9:33 0Likes
      Google Chrome 47.0.2526.73 Google Chrome 47.0.2526.73 Windows 10 x64 Edition Windows 10 x64 Edition

      哇,吼久不见

  • 冻酸奶泡芙_RKMBI
    Posted 2015 年 12 月 20 日 at 上午 7:34 0Likes
    Google Chrome 47.0.2526.83 Google Chrome 47.0.2526.83 Android 5.0.2 Android 5.0.2

    [哆啦A梦视奸]

    • Frank
      Posted 2015 年 12 月 20 日 at 下午 12:35 0Likes
      Google Chrome 48.0.2564.41 Google Chrome 48.0.2564.41 Windows 10 x64 Edition Windows 10 x64 Edition

      [哆啦A梦拉黑]

      • 冻酸奶泡芙_RKMBI
        Posted 2015 年 12 月 20 日 at 下午 3:04 0Likes
        Google Chrome 47.0.2526.106 Google Chrome 47.0.2526.106 Windows 10 x64 Edition Windows 10 x64 Edition

        [互粉]

Leave a comment