您的位置:首页 > 运维架构 > Nginx

django nginx 与 gunicorn入门级配置

2016-07-12 21:25 549 查看
最近在搞有关于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/'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: