[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
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