加入收藏
Ubuntu/Debian上安裝 PHP 5.3, Nginx 和 PHP-fpm
Ubuntu/Debian上安裝 PHP 5.3, Nginx 和 PHP-fpm
支持版本: dedev57
瀏覽:
2012-06-06  來源: 作者:天涯  編輯:admin

 

盡管Apache已經占據半片江山,但很多人仍然在尋找其他的方式去托管他們的站點,Apache不只是一個選擇,其他很多優秀的服務器程序例如lighthttp和nginx也是不錯的選擇。本教程將要向您展現如何在Ubuntu操作系統上面安裝,教程同樣適用在Debian,盡管有一點點小差別,但并沒有太大影響。怎么樣,下面我們開始吧。
 

0.開始注意

為了完成教程中提到的操作,我們假設您已經安裝了一個基本的Debian或者Ubuntu操作系統。怎么安裝系統這是不同的教程了,這里就不再詳細說明。本教程主要介紹如何簡單獲取Nginx+php的運行環境。
 

1.安裝Nginx

第一步要做的就是從庫中下載,這個操作是非常簡單的。
 
sudo apt-get install nginx
 
更改默認的虛擬站點配置,文件在:
 
sudo vim /etc/nginx/sites-available/default
 
一個漂亮的關鍵配置是:
server {
    listen   80;
    server_name  localhost;
    access_log  /var/log/nginx/localhost.access.log;
 
## Default location
    location / {
        root   /var/www;
        index  index.php;
    }
 
## Images and static content is treated different
    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
      access_log        off;
      expires           30d;
      root /var/www;
    }
 
## Parse all .php file in the /var/www directory
    location ~ .php$ {
        fastcgi_split_path_info ^(.+.php)(.*)$;
        fastcgi_pass   backend;
        fastcgi_index  index.php;
        fastcgi_param  script_FILENAME  /var/www$fastcgi_script_name;
        include fastcgi_params;
        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_intercept_errors        on;
        fastcgi_ignore_client_abort     off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }
 
## Disable viewing .htaccess & .htpassword
    location ~ /.ht {
        deny  all;
    }
}
upstream backend {
        server 127.0.0.1:9000;
}
 
好了,我們完成到這里,下面我們需要安裝PHP所需要的文件。
 

2.安裝PHP

很多站點都使用PHP提供動態內容,他們可能是一個wiki一個博客,或者一個論壇什么的。
如果你現在運行的是Ubuntu,我們首先需要解決兩種不同的deb包,如果你運行的是amd64版本,那需要更改i386為amd64
注意:如果是debian則不需要做這些
 
cd /tmp
 
wget http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb
 
wget http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb
 
sudo dpkg -i *.deb
 
再次說明,這個只需要在Ubuntu上面操作就可以了,如果是最新版本的12.04可以省略掉這個。
 
下面剩余部分將在Ubuntu和Debian上面都通用。
我們需要增加APT源來增加deb包,所以我們可以使用php5.3和php-fpm
 
sudo echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list
 
更新apt:
sudo apt-get update
 
下面我們開始安裝PHP(第一部分)
sudo apt-get install php5-cli php5-common php5-suhosin
 
 
我們需要安裝命令行,不然接下來就會出現些小問題
sudo apt-get install php5-fpm php5-cgi
 
如果你打算使用數據庫或者一些需要的模塊(例如:mcrypt,ldap,snmp等)你同樣可以安裝他們。
 
好了,我們現在已經安裝完了nginx和php
 
一個注意點:如果你使用"php的短標記(<?)",你需要在php.ini中開啟(fpm和cli同樣),如果你不改變這些,你將看到代碼以文本的方式顯示。
 

3.完成

重啟nginx服務器
 
sudo /etc/init.d/nginx restart
 
配置完成php.ini后需要重啟php5-fpm,使用命令
 
sudo /etc/init.d/php5-fpm restart
 
全部完成,你可以運行了。
 

4.測試

我們可以在/var/www中創建一個index.php的文件,內容如下:
<?php phpinfo(); ?>
通過瀏覽器訪問,你可以看到php的一個大致的信息,如果沒有則說明一些配置錯誤,需要重新檢查。
 

5.問題和最終提示

如果你沒有看到phpinfo,可能會出現一些錯誤,那可以執行:
sudo tail /var/log/nginx/error.log
查看錯誤日志,另外每次當你修改了php.ini后,需要重啟php5-fpm。無需重啟nginx。
 
在默認的配置中nginx是啟用了fastcgi的錯誤日志的,如果看到一個嚴重的錯誤(例如出現"cannot redeclare class xyz"),nginx可以看到這個“漂亮的”錯誤頁面,那可能是一些錯誤發生了。
 
如果這樣你可以關閉,如果php5-fpm不能運行,你的php文件將不會被解析,并且nginx會顯示一個錯誤頁面。
 
好了,我猜你已經完成了,并且現在使用nginx作為你的web服務器,nginx是一個小巧、漂亮并且你可以配置很多東西的一個東東,如果你需要偽靜態,注意nginx不會運行 .htaccess 文件,你需要偽靜態更改vhost配置。
 
如果對在Linux下感興趣的朋友可以查看《DedeCMS站點高級安全策略(Linux篇)
 
翻譯:天涯
原文:http://www.howtoforge.com/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian
 
 
 
× 以上內容是否解決了您的問題呢?
我還有問題,我想繼續:
更多最新發布問題
更多熱門問題
發表評論
昵稱:
驗證碼:
點擊我更換圖片
內容:
最新跟帖 >>有疑問的可以跟貼提問!
月排行
總排行
英超比赛下注 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>