配置apache以fastcgi運行php

apache默認是用自帶的mod_php模塊運行php,如今咱們介紹使用fastcgi來執行php腳本。先說下fastcgi的優勢:
Fastcgi的優勢:php

  • 從穩定性上看, fastcgi是以獨立的進程池運行來cgi,單獨一個進程死掉,系統能夠很輕易的丟棄,而後從新分 配新的進程來運行邏輯.
  • · 從安全性上看,Fastcgi支持分佈式運算. fastcgi和宿主的server徹底獨立, fastcgi怎麼down也不會把server搞垮.
  • · 從性能上看, fastcgi把動態邏輯的處理從server中分離出來, 大負荷的IO處理仍是留給宿主server, 這樣宿主server能夠一心一意做IO,對於一個普通的動態網頁來講, 邏輯處理可能只有一小部分, 大量的圖片等靜態
  • IO處理徹底不須要邏輯程序的參與.
  • · 從擴展性上講, fastcgi是一箇中立的技術標準, 徹底能夠支持任何語言寫的處理程序 (php,java,perl,ruby,c++,python...)
  • · 適用操做系統,可在任何平臺上http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz使用

安裝apache

  1. wget http://apache.ziply.com//httpd/httpd-2.2.21.tar.gz
  2. tar xzf httpd-2.2.21.tar.gz
  3. cd httpd-2.2.21
  4. ./configure --prefix=/usr/local/apache
  5. make && make install

安裝fastcgi

  1. wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
  2. tar xzf mod_fastcgi-2.4.6.tar.gz
  3. cd mod_fastcgi-2.4.6
  4. cp Makefile.AP2 Makefile
  5. make top_dir=/usr/local/apache
  6. make top_dir=/usr/local/apache install

完成以後編輯httpd.conf配置文件,加入fastcgi模塊裝載代碼:html

  1. LoadModule fastcgi_module modules/mod_fastcgi.so

安裝php5.2

  1. wget http://us2.php.net/get/php-5.2.17.tar.gz/from/am.php.net/mirror
  2. tar xzf php-5.2.17.tar.gz
  3. cd php-5.2.17
  4. ./configure --prefix=/usr/local/php --enable-fastcgi --disable-cli
  5. make && make install

配置apache支持php

編輯httpd.conf文件,加入以下代碼:java

  1. ### fastcgi ###
  2. ScriptAlias /fcgi-bin/ "/usr/local/php/bin/"
  3. AddHandler php-fastcgi .php
  4. Action php-fastcgi /fcgi-bin/php-cgi
  5. AddType application/x-httpd-php .php
  6.  
  7. <IfModule mod_fcgid.c>
  8.     AddHandler fcgid-script. .php .fcgi   ### 暫時只配置支持.php
  9.     IdleTimeout 300
  10.     ProcessLifeTime 1800
  11.     MaxProcessCount 100
  12.     DefaultMinClassProcessCount 3
  13.     DefaultMaxClassProcessCount 8
  14.     IPCConnectTimeout 15
  15.     IPCCommTimeout 300
  16.     MaxRequestsPerProcess 100
  17. </IfModule>
  18. ### fastcgi ###

創建虛擬主機能夠這樣配置:python

  1. <VirtualHost *:80>
  2.  DocumentRoot /usr/local/apache/htdocs
  3.  ServerName localhost
  4.  Options +ExecCGI
  5.  AddHandler fastcgi-script .fcgi
  6.  AddType application/x-httpd-php .php
  7.  Action application/x-httpd-php /fcgi-bin/php-cgi
  8.  <Directory /usr/local/apache/htdocs>
  9.  Options Indexes ExecCGI
  10.  Order allow,deny
  11.  allow from all
  12.  </Directory>
  13. </VirtualHost>

詳細的fastcgi指令配置請看:http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.htmlc++

相關文章
相關標籤/搜索