簡單的Apache+FastCGI+Django配置指南

來源:互聯網
上載者:User
在Apache和FastCGI上使用Django,你需要安裝和配置Apache,並且安裝mod_fastcgi。 請參見Apache和mod_fastcgi文檔: http://www.djangoproject.com/r/mod_fastcgi/ 。

當完成了安裝,通過 httpd.conf (Apache的設定檔)來讓Apache和Django FastCGI互相通訊。 你需要做兩件事:

  • 使用 FastCGIExternalServer 指明FastCGI的位置。
  • 使用 mod_rewrite 為FastCGI指定合適的URL。

指定 FastCGI Server 的位置

FastCGIExternalServer 告訴Apache如何找到FastCGI伺服器。 按照FastCGIExternalServer 文檔( http://www.djangoproject.com/r/mod_fastcgi/FastCGIExternalServer/ ),你可以指明 socket 或者 host 。以下是兩個例子:

# Connect to FastCGI via a socket/named pipe:FastCGIExternalServer /home/user/public_html/mysite.fcgi -socket /home/user/mysite.sock# Connect to FastCGI via a TCP host/port:FastCGIExternalServer /home/user/public_html/mysite.fcgi -host 127.0.0.1:3033

在這兩個例子中, /home/user/public_html/ 目錄必須存在,而 /home/user/public_html/mysite.fcgi 檔案不一定存在。 它僅僅是一個Web伺服器內部使用的介面,這個URL決定了對於哪些URL的請求會被FastCGI處理(下一部分詳細討論)。 (下一章將會有更多有關於此的介紹)
使用mod_rewrite為FastCGI指定URL

第二步是告訴Apache為符合一定模式的URL使用FastCGI。 為了實現這一點,請使用mod_rewrite 模組,並將這些URL重新導向到 mysite.fcgi (或者正如在前文中描述的那樣,使用任何在 FastCGIExternalServer 指定的內容)。

在這個例子裡面,我們告訴Apache使用FastCGI來處理那些在檔案系統上不提供檔案

 ServerName example.com DocumentRoot /home/user/public_html Alias /media /home/user/python/django/contrib/admin/media RewriteEngine On RewriteRule ^/(media.*)$ /$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ /mysite.fcgi/$1 [QSA,L]
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.