django nginx 与 gunicorn入门级配置

本文介绍了如何使用Django框架搭建小型网站,并详细讲解了在Ubuntu 14.04环境下,通过Nginx和Gunicorn进行实际部署的步骤。从安装Nginx开始,到配置Nginx和Gunicorn,再到解决可能出现的问题,如端口占用和静态文件处理,提供了一套基础的部署方案。

最近在搞有关于web的东西,学习了有关于python的django框架,这个框架对于熟悉web的人来说非常容易上手,即使对于我这种之前对于web没有什么概念的人,用了十天左右也可以搭建出来一个小型的网站系统。django自带有一个开发服务器,运行代码为:

python manage.py runserver

这个命令后面可以跟参数,设定ip地址和端口号

实际测试时,这个开发服务器比较方便,实际部署时则不能使用这个简单的初级服务器,需要进行一定的配置,这里我选用的是nginx和gunicorn

先说明一下开发环境,由于django的版本一直是为人所诟病的,所以环境是非常重要的

服务器:腾讯云,搭载ubuntu14.04 64位操作系统

python :2.6

django: 1.9.1

配置步骤如下,注意这里只是最基础的配置:

1、安装nginx

sudo apt-get install nginx

2、安装gunicorm,由于这个包是基于python编写的,因此可以用pip安装

pip install gunicorn

3、运行开发服务器,确定整个django工程是正常的

4、配置nginx

切换到/etc/nginx/site-avaliable目录下,先备份一下default文件,然后修改,我的配置如下:

server {
     listen 8000;

     server_name 123.206.96.185;

     location / {
         proxy_pass http://0.0.0.0:8020;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     }
     location /static {
       alias  /home/ubuntu/Blog/blogApp/static;
    }	
}
注意几个点,一个是listen,也就是监听端口,二是server_name写公网ip或域名,另外proxy_pass是之后gunicorn绑定的ip地址和端口号,需要一致对应,最后就是静态文件的配置,地址写静态文件存放的地方,便于网页显示css、js等静态文件。

配置完毕后,用nginx -t命令检查配置文件,如果成功,则重启nginx ,命令为nginx retart

5、配置gunicorn,这个配置还是比较简单的,在django的setting.py文件中app目录加载上gunicorn然后在工程目录下直接运行启动代码

gunicorn appname.wsgi:application --bind 0.0.0.0:9090
按照实际工程配置路径和ip及端口号

6、此时再次重启nginx,此时如一切正常,则配置完毕。

注意几点

1、gunicorn启动时有时会出现error,大部分原因是端口号被占用了

2、静态文件如果没有集中在一起,在配置之前先要执行如下代码收集整个工程的静态文件

python manage.py collectstatic
3、django工程中还要加入静态文件的路径
STATIC_URL = '/static/'
STATIC_ROOT = 'static/'



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值