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
-->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 需要自己制定的是原始碼的路徑,也就是壓縮包解壓之後獲得的原始碼,而不是進行編譯安裝之後的程式碼。這個問題太誇張了,一個上午啊!!!!