1. 程式人生 > >nginx 一、安裝簡介

nginx 一、安裝簡介

Nginx 一、安裝簡介

一、叢集

        作為一名IT的開發人員,可能每個人都對叢集這個詞很崇拜。釋出網站,相對於大一點的入口網站,可能一臺伺服器不能滿足企業的要求你,就更不用說提高使用者的體驗了。為了提高伺服器的相應速度、使用者體驗,很多大型企業都採用叢集這種方式來應對每天的高訪問、高請求和高可用性。 在開源的世界中,適合做叢集的工具有 Apache、nginx、hadoop 等都是家喻戶曉的。尤其是hadoop,就是為了叢集、大資料而生的。但是相對於有一些技術人員,hadoop學習成本可能有一點高。那就剩下了Apache和nginx了。從網上找了資料,看到在配置方面,nginx比Apache要簡單容易操作的多。最主要的是它能以很小的資源消耗完成較大規模得併發。通俗一點就是價效比高一些啦。

       此外,叢集並不是簡簡單單的將幾個機器用網線連線起來就算作叢集了,他們有各自的分工 比如有專門處理邏輯的應用伺服器、 儲存資料的資料庫伺服器、儲存檔案的檔案伺服器,進行記憶體管理的記憶體伺服器等等。規模小的三四臺機器,大的就是谷大哥的機房了,幾萬臺機器不等。這個已經超出了我目前的認知範圍。需要以後學習去了解

二、nginx的在centos上面的安裝

     目前但多數的伺服器,都是Linux系統,原因不說了,就是穩定,沒有win那麼多的病毒。但是學習成本要比win高一點。沒辦法學唄,用大啥學啥,這樣才能進步不是。
 1、安裝nginx之前,需要安裝pcre類庫。這個是正則表示式類庫。灰常有用。我當時安裝的時候,找到一個8.32版本的,下載的時候超慢,不知道是不是人品問題。下載地址為:        下載下來之後,解壓

-->unzippcre-8.32.zip


-->cd pcre-8.32
-->./configure
-->make
-->make install

2、建立www使用者組和www使用者,並建立/home/www目錄
-->groupadd www
-->useradd -g www -s/sbin/nologin -M www
-->mkdir /home/www
-->chown -R www:www/home/www

     建立使用者是為了確定啟動nginx的使用者的。在安裝nginx 的時候用的到的。 3、nginx安裝        下載nginx,不多說了,自己去官網上找吧,http://nginx.org/
  選擇一個穩定版本的,我用的是 1.4.3版本的,下載路徑為:        下載完成之後,解壓。         tar zxvf nginx-1.4.3.tar.gz         

    -->tarzxvf nginx-1.4.1.tar.gz
    -->tar zxvfngx_cache_purge-2.1.tar.gz
    -->cd nginx-1.4.1
    -->./configure--user=www --group=www --add-module=../ngx_cache_purge-2.1--prefix=/home/server/nginx-1.4.1 --with-http_stub_status_module--with-           http_realip_module --with-http_addition_module--with-http_gzip_static_module --with-http_random_index_module--with-http_sub_module --with-http_dav_module
    -->make
    -->make install;

    prefix引數是nginx的安裝位置,with-http_stub_status_module是開啟status模組(檢視nginx當前狀態)
    http_realip_module 作為代理伺服器時,服務端可獲取到使用者真實的IP
    http_addition_module 可在響應前後新增一個過濾器
    http_gzip_static_module 預壓縮檔案傳前檢查,防止檔案被重複壓縮
    http_random_index_module 隨機主頁
    如果在指定的location中指定,將為每一個請求掃描指定目錄中的檔案,並且隨機選擇一個代替index.html,但是不會選擇以“.”開頭的檔案。
    http_sub_module 反向代理時替換URL
    http_dav_module 開啟WebDAV擴充套件動作模組,可為檔案和目錄指定許可權
    以上模組根據自己需要新增,官方模組列表:http://wiki.nginx.org/Modules
    修改nginx.conf配置:
    vi /home/server/nginx-1.4.1/conf/nginx.conf
    頭部新增
 

    user www www;


    啟動nginx:
    /home/server/nginx-1.4.1/sbin/nginx
    這個時候,一般會報錯,提示:(64位下可能會報錯,32位的可能就不會報錯了)
    error while loading sharedlibraries: libpcre.so.1: cannot open shared object file: No such file ordirectory
    建立連結:
    32位系統:
    ln -s /usr/local/lib/libpcre.so.1/lib
    64位系統:
    ln -s/usr/local/lib/libpcre.so.1 /lib64

  啟動

    安裝完成之後,nginx預設的是80埠,啟動之後,直接訪問自己的埠,會出現 nginx的歡迎介面。說明你的nginx安裝就成功了,剩下的就是nginx的配置了,這說明你要開始踏上叢集道路了,這才只是剛剛開始,後面的路還很長呢。希望能跟各位成為朋友。

    QQ:316048157    技術交流群:214077516  希望能夠跟各位直通道和的人成為朋友,一起討論技術

    安裝時可能遇到的錯誤:

    在安裝nginx的時候,在最後一步,可能啟動不起來報錯,錯誤資訊為

        忘了

    如果不能正常啟動的話,可能是因為伺服器為64位的作業系統,查詢一個名字為libpcre包再預設的路徑下面沒有找到。具體情況可以使用

    #ldd $(which /usr/loca/nginx/sbin/nignx);

來檢視。如圖:

linux-gate.so.1 =>(0x009a9000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00e13000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x0027e000)
libpcre.so.1 => notfound
libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0x002ae000)
libz.so.1 => /lib/libz.so.1 (0x00d54000)
libc.so.6 => /lib/libc.so.6 (0x005e9000)
/lib/ld-linux.so.2 (0x00583000)
libfreebl3.so => /lib/libfreebl3.so (0x00110000)
libdl.so.2 => /lib/libdl.so.2 (0x008e9000)

發現一個叫做 libpcre.so.1 的一個pcre檔案沒有找到。由於系統是64為的,如果pcre檔案安裝的話,預設的會在 /usr/lib64 裡面,所,需要進入到 /usr/lib64 裡面

#cd /usr/lib64

#ls

#ls *libpcre*

找到libpcre的包,看名字就知道不是為 libpcre.so.1 ,這個時候需要建立一個連線。

#ln –s libpcre.solibpcre.so.1;

建立完成後,再次重新啟動,就應該沒有問題了。

在安裝的時候,有的時候會報錯,錯誤資訊如下:

make -f objs/Makefile

make[1]: Entering directory`/home/dg/nginx/nginx-1.4.4'

cd /home/dg/nginx/pcre-8.32/ \

       && if [ -f Makefile ]; then make distclean; fi \

       && CC="cc" CFLAGS="-O2 -fomit-frame-pointer -pipe" \

       ./configure --disable-shared

make[2]: Entering directory`/home/dg/nginx/pcre-8.32'

看到內容才知道,在安裝的時候,需要制定pcre,而 with-pcre=source 需要自己制定的是原始碼的路徑,也就是壓縮包解壓之後獲得的原始碼,而不是進行編譯安裝之後的程式碼。這個問題太誇張了,一個上午啊!!!!