Total Pageviews

Sunday, 11 May 2014

uWSGI

-----------------

Ubuntu Server 14.04.2 LTS 配置 Nginx + Uwsgi + Django



本文主要讲解Ubuntu Server 14.04.2 LTS 下配置 Nginx + Uwsgi + Django 的详细过程,希望对大家有所帮助。
0.目的是在将小巧玲珑的Nginx和Django 通过uwsgi整合
1.预备环境 Python 2.7.8 @ ubuntu server 14.04.2版本
2.安装Django(这里使用的是pip,当然easy_install也是可以的)
sudo pip install django==1.8
3.安装 Nginx
sudo apt-get install nginx
4.安装 uwsgi
sudo apt-get install uwsgi
5.创建个Django项目+app
>>python django-admin.py startproject cloud_shield
>>cd cloud_shield
>>python manage.py startapp cloud_proxy
6.分别上代码和配置图
(这里只给出的主要的几个需要修改的文件的配置图)
1.首先完善django 的app,即在 cloud_proxy/views.py中写个简单的回复request请求的方法
这里写图片描述
settings.py中添加  app和 static_URL
 还有urls.py中添加对用的(r^$ 'cloud_proxy.views.cs_receive_request'),的过滤器
 其实上面这些对于熟悉Django的同学来说都不用赘述,但是为了让大家不管是否有基础都看清楚细节,还是截图了~
  1. 上面完成了django的配置,下面来配置nginx;在项目根目录的配置文件 cloud_shield_nginx.conf
这个文件还要给放在nginx的目录下一份软连接,让nginx知道这个配置文件,这个软链接一定要配置好,配好后在sites-enabled中是也能用vi查看的;
>> sudo ln -s /home/bw/cloud_shield/cloud_shield_nginx.conf /etc/nginx/sites-enabled/
还有个小细节,在/etc/nginx/nginx.conf 开头第一行有个 user www-data; 这个要改成 user 当前的系统用户; (如果是为服务器专门定制一个小权限的账户就更赞了~)
  1. 最后配置uwsgi
    这里写图片描述
这里在中间配置过程中可能会出现502等错误,解决办法如下:
当系统服务如nginx无法启动时:>>tail /var/log/syslog
当服务器内部错误时:>>tail ~/bw/cloud_shield/uwsgi/uwsgi.log
想让服务器check错误:
>>nginx -c some_conf_file
这里只能check nginx自己的file.

Ubuntu 12.04 下部署 Nginx+uWSGI+Flask http://www.linuxidc.com/Linux/2014-01/96007.htm
你应该使用 Nginx + uWSGI http://www.linuxidc.com/Linux/2013-07/87286.htm
uWSGI + Nginx 部署 Flask Web 应用 http://www.linuxidc.com/Linux/2013-06/85828.htm
Linux下Nginx+uWSGI部署Python应用 http://www.linuxidc.com/Linux/2012-10/72443.htm
Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境 http://www.linuxidc.com/Linux/2012-05/60639.htm