[Linux] Ubuntu 下部署 Nginx Flup Django

Nginx
  nginx:("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,作用和apache的类似。
它可以处理一些静态文件的请求,而对于动态的文件的请求,它可以通过fastcgi方式,
来分发请求给不同的动态语言处理。

安装nginx
apt-get install nginx
全新安装 apt-get --purge remove

启动nginx
sudo /etc/init.d/nginx start

django
  基于python的一个web框架,它可以我们做一些基础性的东西,比如cookie,session管理,模板机制,权限管理等等。

安装django
wget -c http://www.djangoproject.com/download/1.0.2/tarball/
tar xzvf Django-1.0.2-final.tar.gz
cd Django-1.0.2-final
sudo python setup.py install

测试django
cd ~
django-admin.py startproject shanshan
cd shanshan
python manage.py runserver 192.168.1.18:8000

Flup
  本身是一个使用python写的web服务器软件,它可以接受nginx发来的请求,执行相应的python代码,将结果返回给nginx。

安装 flup
sudo apt-get install python-flup

以fastcgi运行django
python manage.py runfcgi method=threaded host=192.168.1.18 port=8000

配置nginx

在/etc/nginx 目录下增加一个fastcgi_params.django的文件
内容如下:
fastcgi_param  QUERY_STRING       $query_string; 
fastcgi_param  REQUEST_METHOD     $request_method; 
fastcgi_param  CONTENT_TYPE       $content_type; 
fastcgi_param  CONTENT_LENGTH     $content_length; 
fastcgi_param  PATH_INFO    $document_root$fastcgi_script_name; 
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name; 
fastcgi_param  REQUEST_URI        $request_uri; 
fastcgi_param  DOCUMENT_URI       $document_uri; 
fastcgi_param  DOCUMENT_ROOT      $document_root; 
fastcgi_param  SERVER_PROTOCOL    $server_protocol; 
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1; 
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version; 
fastcgi_param  REMOTE_ADDR        $remote_addr; 
fastcgi_param  REMOTE_PORT        $remote_port; 
fastcgi_param  SERVER_ADDR        $server_addr; 
fastcgi_param  SERVER_PORT        $server_port; 
fastcgi_param  SERVER_NAME        $server_name; 


 修改/etc/nginx/sites-enabled/default
       location / { 
          fastcgi_pass 192.168.1.18:8000;    #端口自己定义
          root /home/user/www/testdjango; #django项目路径 
 
          include /etc/nginx/fastcgi_params.django; #导入上面生成的文件
      } 

 然后 启动 manage.py runfcgi host=192.168.1.18 port=8000




原文地址:https://www.cnblogs.com/abeen/p/1952916.html