綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門(mén)排行|軟件分類(lèi)|軟件專(zhuān)題|廠(chǎng)商大全

綠色資源網(wǎng)

技術(shù)教程
您的位置:首頁(yè)服務(wù)器類(lèi)Web服務(wù)器 → Ubuntu中Nginx服務(wù)器安裝配置教程

Ubuntu中Nginx服務(wù)器安裝配置教程

我要評(píng)論 2013/04/02 11:53:17 來(lái)源:綠色資源網(wǎng) 編輯:m.sonlywya.cn [ ] 評(píng)論:0 點(diǎn)擊:252次

Nginx是一個(gè)非常輕量級(jí)的HTTP服務(wù)器,也是一個(gè)高性能的HTTP和反向代理服務(wù)器,同時(shí)還是一個(gè)IMAP/POP3/SMTP 代理服務(wù)器。

1.對(duì)PHP支持

目前各種web 服務(wù)器對(duì)PHP的支持一共有三種:

(1)通過(guò)web 服務(wù)器內(nèi)置的模塊來(lái)實(shí)現(xiàn),例如Apache的mod_php5,類(lèi)似的Apache內(nèi)置的mod_perl可以對(duì)perl支持。

(2)通過(guò)CGI來(lái)實(shí)現(xiàn),這個(gè)就好比之前perl的CGI,該種方式的缺點(diǎn)是性能差,因?yàn)槊看畏?wù)器遇到這些腳本都需要重新啟動(dòng)腳本解析器來(lái)執(zhí)行腳本然后將結(jié)果返回給服務(wù)器;另一方面就是不太安全;該方面幾乎很少使用了。

(3)最新出現(xiàn)一種叫做FastCGI。所謂FastCGI就是對(duì)CGI的改進(jìn)。它一般采用C/S結(jié)構(gòu),一般腳本處理器會(huì)啟動(dòng)一個(gè)或者多個(gè)daemon進(jìn)程,每次web 服務(wù)器遇到腳本的時(shí)候,直接交付給FastCGI的進(jìn)程來(lái)執(zhí)行,然后將得到的結(jié)果(通常為html)返回給瀏覽器。

1.1 Apache+mod_php模式

我們很久一段時(shí)間使用經(jīng)典的Apache+mod_php。

Apache對(duì)PHP的支持是通過(guò)Apache的模塊來(lái)支持的。如果從源代碼編譯安裝PHP的話(huà),如果希望Apache支持PHP的話(huà),

在./configure步驟需要指定--with-apxs2=/usr/local/apache2/bin/apxs 表示告訴編譯器通過(guò)Apache的mod_php5/apxs來(lái)提供

對(duì)PHP5的解析;而且在最后一步make install的時(shí)候我們會(huì)看到將動(dòng)態(tài)鏈接庫(kù)libphp5.so拷貝到apache2的安裝目錄的modules目錄

下,并且還需要在httpd.conf配置文件中添加LoadModule語(yǔ)句來(lái)動(dòng)態(tài)將libphp5.so 模塊加載進(jìn)來(lái),從而實(shí)現(xiàn)Apache對(duì)php的支持。

1.2 Nginx+FastCGI模式

Nginx完全是輕量級(jí)的,必須借助第三方的FastCGI處理器才可以對(duì)PHP進(jìn)行解析,因此其實(shí)這樣看來(lái)Nginx是非常靈活的,它可以

和任何第三方提供解析的處理器實(shí)現(xiàn)連接從而實(shí)現(xiàn)對(duì)PHP的解析(在nginx.conf中很容易設(shè)置)。

Nginx可以使用spwan-fcgi。在早期版本中需要安裝lighttpd,但是在9.10版本以后直接安裝spawn-fcgi就可以?,F(xiàn)在出現(xiàn)了新的

第三方的PHP的FastCGI處理器,叫做PHP-FPM,可以了解一下。本文是基于spawn-fcgi實(shí)現(xiàn)對(duì)PHP模塊的支持。

1.3安裝FastCGI

/usr/bin/spawn-fcgi這個(gè)文件來(lái)管理 FastCGI,它原屬于lighttpd這個(gè)包里面,但 9.10 后,spawn-fcgi 被分離出來(lái)單獨(dú)成包。

(1)使用apt-get在線(xiàn)安裝命令如下:

$sudo apt-get install spawn-fcgi

(2)源代碼安裝如下,下載地址為:

http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz

解壓縮以后,進(jìn)入目錄下執(zhí)行如下安裝命令:

$./configure

$make

$make install

安裝之后,spawn-fcgi命令就可以直接使用了,它的可執(zhí)行文件在/usr/local/bin/spawn-fcgi。

2.Nginx安裝

2.1安裝Nginx

(1)在線(xiàn)安裝

$sudo apt-get install nginx

Nginx的版本是1.2.1

ubuntu安裝Nginx之后的文件結(jié)構(gòu)大致為:

所有的配置文件都在/etc/nginx下,并且每個(gè)虛擬主機(jī)已經(jīng)安排在了/etc/nginx/sites-available下

啟動(dòng)程序文件在/usr/sbin/nginx

日志放在了/var/log/nginx中,分別是access.log和error.log

并已經(jīng)在/etc/init.d/下創(chuàng)建了啟動(dòng)腳本nginx

默認(rèn)的虛擬主機(jī)的目錄設(shè)置在了/usr/share/nginx/www

(2)源代碼安裝

下載地址:http://nginx.org/download/

我這里下載的是 nginx-1.3.9.tar.gz,安裝過(guò)程很簡(jiǎn)單,如下:

$./configure

$make

$make install

安裝成功之后,nginx放置在/usr/local/nginx目錄下,主要的配置文件為conf目錄下的nginx.conf,nginx的啟動(dòng)文件在sbin目錄

下的nginx文件。

2.2啟動(dòng)Nginx

(1)在線(xiàn)安裝的啟動(dòng)過(guò)程

$sudo /etc/init.d/nginx start

(2)源代碼安裝的啟動(dòng)過(guò)程

$cd /usr/local/nginx

$sbin/nginx

然后就可以訪(fǎng)問(wèn)了,http://localhost/, 一切正常!如果不能訪(fǎng)問(wèn),先不要繼續(xù),看看是什么原因,解決之后再繼續(xù)。

如果你的機(jī)器同時(shí)安裝了Apache,那上面的訪(fǎng)問(wèn)方式就不能使用了,而且nginx都可能啟動(dòng)不了,這是因?yàn)樗鼈兌际怯昧?0這個(gè)端口。我們這里將nginx的端口修改為8080,這里主要修改nginx的配置文件nginx.conf,將一下這一行

listen 80;

修改為

listen 8080;

然后就可以訪(fǎng)問(wèn)了,http://localhost:8080/。

23安裝PHP和MySQL

$sudo apt-get install php5-cliphp5-cgimysql-server php5-mysql

2.4測(cè)試Nginx對(duì)PHP的支持

(1)重新啟動(dòng)nginx:

$/etc/init.d/nginx restart

(2)啟動(dòng)FastCGI:

$spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi

spawn-fcgi啟動(dòng)出現(xiàn)錯(cuò)誤時(shí),查看php-cgi是否安裝,如果么有的話(huà),安裝php5-cgi。

$sudo apt-get install php5-cgi

(3)測(cè)試

打開(kāi)http://localhost/phpinfo.php

3.Nginx配置

Nginx的配置文件是/etc/nginx/nginx.conf,其中設(shè)置了一些必要的參數(shù),我們發(fā)現(xiàn)其中這樣的語(yǔ)句:

include /etc/nginx/sites-enabled/*

可以看出/etc/nginx/sites-enabled/default文件也是一個(gè)核心的配置文件,其中包含了主要的配置信息,如服務(wù)器跟目錄、服務(wù)器名稱(chēng)、location信息和server信息。

對(duì)于源代碼安裝的nginx,配置文件為/usr/local/nginx/conf/nginx.conf。

下面主要說(shuō)明location的匹配規(guī)則:

(1)= 前綴的指令嚴(yán)格匹配這個(gè)查詢(xún)。如果找到,停止搜索。

(2)剩下的常規(guī)字符串,最長(zhǎng)的匹配優(yōu)先使用。如果這個(gè)匹配使用 ^~ 前綴,搜索停止。

(3)正則表達(dá)式,按配置文件里的順序,第一個(gè)匹配的被使用。

(4)如果第三步產(chǎn)生匹配,則使用這個(gè)結(jié)果。否則使用第二步的匹配結(jié)果。

在location中可以使用常規(guī)字符串和正則表達(dá)式。

如果使用正則表達(dá)式,你必須使用以下規(guī)則:

(1)~* 前綴選擇不區(qū)分大小寫(xiě)的匹配

(2)~ 選擇區(qū)分大小寫(xiě)的匹配

例子:

location = / {

    # 只匹配 / 查詢(xún)。

    [ configuration A ]
}

  location / {

    # 匹配任何查詢(xún),因?yàn)樗姓?qǐng)求都以 / 開(kāi)頭。

# 但是正則表達(dá)式規(guī)則和長(zhǎng)的塊規(guī)則將被優(yōu)先和查詢(xún)匹配。

    [ configuration B ]

  }

  location ^~ /images/ {

    # 匹配任何以 /images/ 開(kāi)頭的任何查詢(xún)并且停止搜索。

# 任何正則表達(dá)式將不會(huì)被測(cè)試。

    [ configuration C ]

  }

  location ~* \.(gif|jpg|jpeg)$ {

# 匹配任何以 gif、jpg 或 jpeg 結(jié)尾的請(qǐng)求。

# 然而所有 /images/ 目錄的請(qǐng)求將使用 Configuration C。

   [ configuration D ]

  }

這里你還要對(duì)正則表達(dá)式有一定的了解?。?!

關(guān)鍵詞:Ubuntu,Nginx服務(wù)器

閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!

  • 1 歡迎喜歡
  • 1 白癡
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙視