最近在搞有关于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 nginx2、安装gunicorm,由于这个包是基于python编写的,因此可以用pip安装
pip install gunicorn3、运行开发服务器,确定整个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 collectstatic3、django工程中还要加入静态文件的路径STATIC_URL = '/static/'
STATIC_ROOT = 'static/'
本文介绍了如何使用Django框架搭建小型网站,并详细讲解了在Ubuntu 14.04环境下,通过Nginx和Gunicorn进行实际部署的步骤。从安装Nginx开始,到配置Nginx和Gunicorn,再到解决可能出现的问题,如端口占用和静态文件处理,提供了一套基础的部署方案。

7953

被折叠的 条评论
为什么被折叠?



