安裝nginx(轉(zhuǎn))

轉(zhuǎn)自博客園

1.Nginx介紹

Nginx是一個非常輕量級的HTTP服務(wù)器外莲,Nginx蚕捉,它的發(fā)音為“engine X”伯襟, 是一個高性能的HTTP和反向代理服務(wù)器啃匿,同時也是一個IMAP/POP3/SMTP 代理服務(wù)器馏锡。

2.對PHp支持

目前各種web 服務(wù)器對PHP的支持一共有三種:
(1)通過web 服務(wù)器內(nèi)置的模塊來實(shí)現(xiàn)雷蹂,例如Apache的mod_php5,類似的Apache內(nèi)置的mod_perl可以對perl支持杯道。
(2)通過CGI來實(shí)現(xiàn)匪煌,這個就好比之前perl的CGI,該種方式的缺點(diǎn)是性能差党巾,因?yàn)槊看畏?wù)器遇到這些腳本都需要重新啟動腳本解析器來執(zhí)行腳本然后將結(jié)果返回給服務(wù)器萎庭;另一方面就是不太安全;該方面幾乎很少使用了齿拂。
(3)最新出現(xiàn)一種叫做FastCGI驳规。所謂FastCGI就是對CGI的改進(jìn)。它一般采用C/S結(jié)構(gòu)署海,一般腳本處理器會啟動一個或者多個daemon進(jìn)程吗购,每次web 服務(wù)器遇到腳本的時候,直接交付給FastCGI的進(jìn)程來執(zhí)行砸狞,然后將得到的結(jié)果(通常為html)返回給瀏覽器捻勉。

2.1 Apache+mod_php模式

我們很久一段時間使用經(jīng)典的Apache+mod_php。
Apache對PHP的支持是通過Apache的模塊來支持的趾代。如果從源代碼編譯安裝PHP的話贯底,如果希望Apache支持PHP的話,在./configure步驟需要指定--with-apxs2=/usr/local/apache2/bin/apxs 表示告訴編譯器通過Apache的mod_php5/apxs來提供對PHP5的解析撒强;而且在最后一步make install的時候我們會看到將動態(tài)鏈接庫libphp5.so拷貝到apache2的安裝目錄的modules目錄下禽捆,并且還需要在httpd.conf配置文件中添加LoadModule語句來動態(tài)將libphp5.so模塊加載進(jìn)來,從而實(shí)現(xiàn)Apache對php的支持飘哨。

2.2 Nginx+FastCGI模式

Nginx完全是輕量級的胚想,必須借助第三方的FastCGI處理器才可以對PHP進(jìn)行解析,因此其實(shí)這樣看來Nginx是
非常靈活的芽隆,它可以和任何第三方提供解析的處理器實(shí)現(xiàn)連接從而實(shí)現(xiàn)對PHP的解析(在nginx.conf中很容易設(shè)置)浊服。Nginx可以使用spwan-fcgi统屈。在早期版本中需要安裝lighttpd,但是在9.10版本以后直接安裝spawn-fcgi就可以⊙捞桑現(xiàn)在出現(xiàn)了新的第三方的PHP的FastCGI處理器愁憔,叫做PHP-FPM,可以了解一下孽拷。本文是基于spawn-fcgi實(shí)現(xiàn)對PHP模塊的支持吨掌。

2.3 安裝FastCGI

/usr/bin/spawn-fcgi這個文件來管理 FastCGI,它原屬于lighttpd這個包里面脓恕,但 9.10 后膜宋,spawn-fcgi
被分離出來單獨(dú)成包。
(1)使用apt-get在線安裝命令如下:
$sudo apt-get install spawn-fcgi
(2)源代碼安裝如下
解壓縮以后炼幔,進(jìn)入目錄下執(zhí)行如下安裝命令:
$./configure
$make
$make install
安裝之后秋茫,spawn-fcgi命令就可以直接使用了,它的可執(zhí)行文件在/usr/local/bin/spawn-fcgi乃秀。

3.Nginx安裝

3.1 安裝Nginx

(1)在線安裝

  $sudo apt-get install nginx

Nginx的版本是1.2.1
ubuntu安裝Nginx之后的文件結(jié)構(gòu)大致為:
所有的配置文件都在/etc/nginx下肛著,并且每個虛擬主機(jī)已經(jīng)安排在了/etc/nginx/sites-available下
啟動程序文件在/usr/sbin/nginx
日志放在了/var/log/nginx中,分別是access.log和error.log
并已經(jīng)在/etc/init.d/下創(chuàng)建了啟動腳本nginx
默認(rèn)的虛擬主機(jī)的目錄設(shè)置在了/usr/share/nginx/www
(2)源代碼安裝
下載地址:http://nginx.org/download/
我這里下載的是 nginx-1.3.9.tar.gz跺讯,安裝過程很簡單策泣,如下:

$./configure
$make
$make install

安裝成功之后,nginx放置在/usr/local/nginx目錄下抬吟,主要的配置文件為conf目錄下的nginx.conf,
nginx的啟動文件在sbin目錄下的nginx文件统抬。

3.2 啟動Nginx

(1)在線安裝的啟動過程

$sudo /etc/init.d/nginx start

(2)源代碼安裝的啟動過程

  $cd /usr/local/nginx
  $sbin/nginx

然后就可以訪問了火本,http://localhost/](http://localhost/) , 一切正常聪建!如果不能訪問钙畔,先不要繼續(xù),看看是什么原因金麸,解決之后再繼續(xù)擎析。
如果你的機(jī)器同時安裝了Apache,那上面的訪問方式就不能使用了挥下,而且nginx都可能啟動不了揍魂,這是
因?yàn)樗鼈兌际怯昧?0這個端口。我們這里將nginx的端口修改為8080棚瘟,
這里主要修改nginx的配置文件nginx.conf现斋,將一下這一行

 listen 80;
修改為

 listen 8080;
然后就可以訪問了,[http://localhost:8080/](http://localhost:8080/) 偎蘸。

3.3 安裝PHP和MySQL

$sudo apt-get install php5-cli **php5-cgi** mysql-server php5-mysql

3.4 測試Nginx對PHP的支持
(1)重新啟動nginx:

  $/etc/init.d/nginx restart

(2)啟動FastCGI:

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

spawn-fcgi啟動出現(xiàn)錯誤時庄蹋,查看php-cgi是否安裝瞬内,如果么有的話,安裝php5-cgi限书。

$sudo apt-get install php5-cgi**

(3)測試
打開**http://localhost/phpinfo.php

4.Nginx配置

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

include /etc/nginx/sites-enabled/*

可以看出/etc/nginx/sites-enabled/default文件也是一個核心的配置文件倦西,其中包含了主要的配置信息能真,
如服務(wù)器跟目錄、服務(wù)器名稱调限、location信息和server信息舟陆。
對于源代碼安裝的nginx,配置文件為/usr/local/nginx/conf/nginx.conf耻矮。
下面主要說明location的匹配規(guī)則:
(1)= 前綴的指令嚴(yán)格匹配這個查詢秦躯。如果找到,停止搜索裆装。
(2)剩下的常規(guī)字符串踱承,最長的匹配優(yōu)先使用。如果這個匹配使用 ^~ 前綴哨免,搜索停止茎活。
(3)正則表達(dá)式,按配置文件里的順序琢唾,第一個匹配的被使用载荔。
(4)如果第三步產(chǎn)生匹配,則使用這個結(jié)果采桃。否則使用第二步的匹配結(jié)果懒熙。
在location中可以使用常規(guī)字符串和正則表達(dá)式。
如果使用正則表達(dá)式普办,你必須使用以下規(guī)則:
(1)~* 前綴選擇不區(qū)分大小寫的匹配
(2)~ 選擇區(qū)分大小寫的匹配
例子:

location = / { 
#只匹配 / 查詢工扎。
[ configuration A ]     
}  
location / {
# 匹配任何查詢,因?yàn)樗姓埱蠖家?/ 開頭衔蹲。
# 但是正則表達(dá)式規(guī)則和長的塊規(guī)則將被優(yōu)先和查詢匹配肢娘。
[ configuration B ]
}
location ^~ /images/ {
# 匹配任何以 /images/ 開頭的任何查詢并且停止搜索。
# 任何正則表達(dá)式將不會被測試舆驶。
[ configuration C ]
}
location ~* \.(gif|jpg|jpeg)$ {
#匹配任何以 gif橱健、jpg 或 jpeg 結(jié)尾的請求。
#然而所有 /images/ 目錄的請求將使用 Configuration C沙廉。
[ configuration D ]
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末畴博,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蓝仲,更是在濱河造成了極大的恐慌俱病,老刑警劉巖官疲,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異亮隙,居然都是意外死亡途凫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門溢吻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來维费,“玉大人,你說我怎么就攤上這事促王∠耍” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵蝇狼,是天一觀的道長阅畴。 經(jīng)常有香客問我,道長迅耘,這世上最難降的妖魔是什么贱枣? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮颤专,結(jié)果婚禮上纽哥,老公的妹妹穿的比我還像新娘。我一直安慰自己栖秕,他們只是感情好春塌,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著簇捍,像睡著了一般摔笤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上垦写,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機(jī)與錄音彰触,去河邊找鬼梯投。 笑死,一個胖子當(dāng)著我的面吹牛况毅,可吹牛的內(nèi)容都是我干的分蓖。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼尔许,長吁一口氣:“原來是場噩夢啊……” “哼么鹤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起味廊,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤蒸甜,失蹤者是張志新(化名)和其女友劉穎棠耕,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柠新,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡窍荧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了恨憎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蕊退。...
    茶點(diǎn)故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖憔恳,靈堂內(nèi)的尸體忽然破棺而出瓤荔,到底是詐尸還是另有隱情,我是刑警寧澤钥组,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布输硝,位于F島的核電站,受9級特大地震影響者铜,放射性物質(zhì)發(fā)生泄漏腔丧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一作烟、第九天 我趴在偏房一處隱蔽的房頂上張望愉粤。 院中可真熱鬧,春花似錦拿撩、人聲如沸衣厘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽影暴。三九已至,卻和暖如春探赫,著一層夾襖步出監(jiān)牢的瞬間型宙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工伦吠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妆兑,地道東北人。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓毛仪,卻偏偏與公主長得像搁嗓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子箱靴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容