下面我将详细讲解如何使用FastCGI部署Python的Django应用的攻略.
FastCGI是一种Web服务器与应用程序交互的协议,用于快速部署Python的Django应用.本文将介绍如何使用FastCGI部署Django应用.
安装Flup(FastCGI的Python实现)
在Ubuntu系统中,可以通过以下命令安装Apache服务器:
sudo apt-get install apache2
在终端中输入以下命令创建Django项目:
django-admin startproject myproject
在终端中输入以下命令创建Django应用:
cd myproject
python manage.py startapp myapp
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello World!")
from django.conf.urls.defaults import patterns, url
from myapp.views import hello
urlpatterns = patterns('',
url(r'^hello/$', hello),
)
使用以下命令安装Flup:
pip install flup
编写myproject.fcgi脚本:
#!/usr/bin/env python
from flup.server.fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
WSGIServer(WSGIHandler()).run()
ServerName myproject.com
ServerAlias www.myproject.com
Require all granted
Alias /static/ /var/www/myproject/static/
Alias /media/ /var/www/myproject/media/
Require all granted
Require all granted
SetHandler fastcgi-script
RewriteEngine On
RewriteRule ^/static/(.*)$ /static/$1 [QSA,L]
RewriteRule ^/media/(.*)$ /media/$1 [QSA,L]
FastCGIExternalServer /var/www/myproject/myproject.fcgi -socket /var/run/myproject.sock
Alias /myproject.fcgi /var/www/myproject/myproject.fcgi
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
使用以下命令重启Apache:
sudo service apache2 restart
现在你可以通过浏览器访问http://myproject.com/hello/来查看效果.
在Ubuntu系统中,可以使用以下命令安装Nginx服务器:
sudo apt-get install nginx
同样的,使用以下命令创建Django项目:
django-admin startproject myproject
同样的,使用以下命令创建Django应用:
cd myproject
python manage.py startapp myapp
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello World!")
from django.conf.urls.defaults import patterns, url
from myapp.views import hello
urlpatterns = patterns('',
url(r'^hello/$', hello),
)
pip install flup
#!/usr/bin/env python
from flup.server.fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
WSGIServer(WSGIHandler()).run()
打开文件/etc/nginx/sites-available/default,在server块中添加以下内容:
server {
listen 80;
server_name myproject.com;
location / {
rewrite ^/$ /hello/;
alias /var/www/myproject/;
try_files $uri @django;
}
location /hello/ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/myproject.sock;
fastcgi_param SCRIPT_FILENAME /var/www/myproject/myproject.fcgi;
}
location @django {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/myproject.sock;
fastcgi_param SCRIPT_FILENAME /var/www/myproject/myproject.fcgi;
}
location /static/ {
alias /var/www/myproject/static/;
}
location /media/ {
alias /var/www/myproject/media/;
}
}
使用以下命令重启Nginx:
sudo service nginx restart
到此为止,就完成了使用FastCGI部署Python的Django应用的攻略,希望可以对你有所帮助.
以上就是土嘎嘎小编为大家整理的使用FastCGI部署Python的Django应用的教程相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!