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

來源:互聯網
上載者:User

標籤:server   listen   type   hat   net   壓縮   libxml2   index.php   dir   

Nginx是一個輕量級的高效能Webserver、反向 Proxyserver、郵件(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.gztar -zxvf  zlib-1.2.8.tar.gzcd  zlib-1.2.8./configuremakemake install
  • pcre:用於支援nginx的正則表達式。設定檔裡都須要用到正則表達式
cd   /usr/localwget   ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gztar  -zxvf  pcre-8.35.tar.gzcd pcre-8.35./configuremakemake install
  • openssl:用於nginx支援https請求
cd  /usr/localwget    http://www.openssl.org/source/openssl-1.0.1i.tar.gztar -zxvf openssl-1.0.1i.tar.gzcd openssl-1.0.1i./configuremakemake 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.gzcd 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.1imakemake 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.gzcd php-5.5.11./configure --prefix=/usr/local/php5.5 --enable-mbstring --with-mcrypt --with-mhash ................. --enable-fasecgi --enable-fpmmake && 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和配置

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.