1. 程式人生 > >Linux安裝Nginx1.7.4、php5.5.15和配置

Linux安裝Nginx1.7.4、php5.5.15和配置

5.5 x86 針對 dsm open params 決定 最新 apt-get

Nginx是一個輕量級的高性能Webserver、反向代理server、郵件(IMAP/POP3/SMTP)server,是Igor Sysoev為俄羅斯訪問量第二的Rambler.ru網站開發,第一個公開版本號0.1.0公布於2004年10月4日。以類BSD許可證的形式公布。

Nginx選擇epoll and kqueue 作為開發模型並使用C編寫,在系統資源和CPU使用率上比Apache有著較大的優勢。同一時候安裝很easy,配置文件簡潔(支持perl語法),啟動easy,差點兒能夠做到7*24小時不間斷執行,即時執行數月也不須要重新啟動,同一時候支持不間斷服務的情況下進行軟件版本號升級。

此前一直是在用Apacheserver。php作為apache的一個模塊執行。同一時候也在網上見到非常多比較過兩者的文章和資料,眾說紛紜。決定親自來嘗試一下。本文作為嘗試的一個記錄。供以後備忘和回想。

本文安裝環境:

Linux 2.6.32-358.el6.x86_64 Red Hat Enterprise Linux Server release 6.4 (Santiago)

單核為Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz 的8核處理器。內存為32G

一、安裝Nginx

Nginx安裝須要依賴三個基礎包,這是最基礎的三個包,很多其它擴展模塊可通過手冊安裝。

  • zlib:主要用於支持將http內容進行gzip壓縮,用於降低網絡傳輸流量
cd  /usr/local    #選定安裝的文件夾
wget    http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf  zlib-1.2.8.tar.gz
cd  zlib-1.2.8
./configure
make
make install
  • pcre:用於支持nginx的正則表達式。配置文件裏都須要用到正則表達式
cd   /usr/local
wget   ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz
tar  -zxvf  pcre-8.35.tar.gz
cd pcre-8.35
./configure
make
make install
  • openssl:用於nginx支持https請求
cd  /usr/local
wget    http://www.openssl.org/source/openssl-1.0.1i.tar.gz
tar -zxvf openssl-1.0.1i.tar.gz
cd openssl-1.0.1i
./configure
make
make install

這裏使用Nginx眼下最新版1.7.4,下載地址為http://nginx.org/download/nginx-1.7.4.tar.gz。 安裝過程中須要指定之前安裝的三個包的路徑。

這裏指定的pcre文件夾不是安裝好的文件夾,而是源代碼文件夾。另外假設出現例如以下錯誤:

src/core/ngx_regex.h:15:18: fatal error: pcre.h: No such file or directory
是由於nginx版本號的不同,缺少開發依賴包,須要安裝:
apt-get install libpcre3-dev
對於指定openssl的路徑。假設系統默認安裝了。那麽使用例如以下命令找出openssl所在路徑:
which openssl
然後將這個路徑放在nginx的--with-openssl選項後。
tar -zxvf nginx-1.7.4.tar.gz
cd nginx-1.7.4
./configure  --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre-8.35  --with-zlib=/usr/local/zlib-1.2.8  --with-openssl=/usr/local/openssl-1.0.1i
make
make install
管理:
  • 啟動: /usr/local/nginx/sbin/nginx
  • 停止:kill -QUIT `cat /usr/local/nginx/logs/nginx.pid`
  • 重新啟動:kill -HUP `cat /usr/local/nginx/logs/nginx.pid` 或者 /usr/local/nginx/sbin/nginx -s reload
  • 改動配置文件:vim /usr/local/nginx/conf/nginx.conf
  • 加入到自啟動:echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
Nginx眼下不能直接支持php,必須借助fastcgi來驅動php,一般使用php-fpm來使nginx支持php,並且php-fpm在php5.3之後就集成到php源代碼中了。不需另外下載安裝。比較方便。

二、php安裝

首先針對php可能依照須要安裝php的依賴包:libxml2、libpng、libjpeg、libcurl、freetype等,這裏不再贅述。

tar -zxvf php-5.5.11.tar.gz
cd php-5.5.11
./configure --prefix=/usr/local/php5.5 --enable-mbstring --with-mcrypt --with-mhash ................. --enable-fasecgi --enable-fpm
make && make install
configure中省略的是其它的依賴包選項,能夠自行取舍,最後的--enable-fpm選項一定要加上。nginx就是通過php-fpm來驅動php的。配置文件在 /usr/local/php5.5/php-fpm.conf進行配置:
<value name="listen_address">127.0.0.1:9000</value>改動為<value name="listen_address">IP:9000</value>  
<value name="sendmail_path">/usr/sbin/sendmail -t -i</value> 
<value name="display_errors">1</value> 

<value name="user">nobody</value>   //去凝視  
<value name="group">nobody</value>  //去凝視  
<value name="allowed_clients">127.0.0.1</value>   //同意連接的PC,本機就用127.0.0.1 
啟動php-fpm# /usr/local/php/sbin/php-fpm start加入到自啟動# echo "/usr/local/php/sbin/php-fpm start">>/etc/rc.local

之後改動/usr/local/nginx1.7.4/conf/nginx.conf文件,使得nginx支持php:
location / {  
 root   $documentroot;  
 index  index.html index.htm index.php;  
 expires 30m;  
}  
  
location ~ /.php$ {  
    root           html;  
    fastcgi_pass   127.0.0.1:9000;  
    fastcgi_index  index.php;  
    fastcgi_param  SCRIPT_FILENAME $documentroot$fastcgi_script_name;  
    include        fastcgi_params;  
}  

Nginx是通過php-fpm監聽的9000port來解析PHP請求的。



Linux安裝Nginx1.7.4、php5.5.15和配置