16.Django部署

Django的部署其实蛮简单的,但是我刚开始弄的时候一直不知道如何部署,网上的文章 都是xxx+xxx+xxx+xxx一看这么多吓一跳,其实Django的部署蛮简单的,很多东西都 已经有了成熟的方案。

今天我们介绍一下使用Nginx + Gunicorn,来部署,gunicorn也可以换成uWSGI,本质原理差不多,懂了一个 另一个就好说了。

平日我们都是使用python manage.py runserver来运行Django,但这种方式都是在开发阶段使用,正式部署没有人 使用这种东西来部署服务器。

1.nginx nginx的安装,使用这里就不多少了,网上有很多教程。

2.Gunicorn 安装:

$ pip install gunicorn

部署 进入到项目根目录下面:

# DjangoProject是项目名称
$ gunicorn DjangoProject.wsgi:application -w1 -b0.0.0.0:8000

如果报错说字符集有问题需要在setting.py添加#--*--encoding:utf-8 --*--使用utf8的编码

如果DisallowedHost at / Invalid HTTP_HOST header: '0.0.0.0:8888'. You may need to add u'0.0.0.0' to ALLOWED_HOSTS. 需要在setting.py修改ALLOWED_HOSTS = ['*'] 表示允许访问的地址,表示所有可以可以写具体的ip和域名,最好不要写通配符.

-w:用于处理工作进程的数量,为正整数,默认为1; -b:ip加端口,绑定运行的主机; -c: CONFIG,配置文件的路径,通过配置文件启动;生产环境使用;

3.在后台运行 上面的方式我们无法退出终端。 需要在后台使用需要下面的命令

$ nohup gunicorn DjangoProject.wsgi:application -w1 -b0.0.0.0:8000 &

然后退出终端,服务也不会停止

声明:原创文章,版权所有,转载请注明出处,https://litets.com。