1 Nginx是什么问潭?
? ? Nginx服務器是輕量級Web服務器中廣受好評的一款產(chǎn)品,近幾年來梳虽,Nginx逐步進入高速發(fā)展的時期去枷,從各類主流的IT媒體到各大著名的IT論壇,都能不斷的看到它的身影竖螃,可以觀看下圖逗余,可以知道nginx現(xiàn)在到底有多火录粱。
2 常見服務器產(chǎn)品
? ? 1,Apache服務器
說起來apache服務器的話菜职,相信大家對這個服務器都不陌生旗闽,不可否認蜜另,apache仍舊是當前WEB服務器的領軍者举瑰,但是在具體的使用過程中蔬螟,它仍然在某些方面表現(xiàn)的不足,比如性能方面耸序,Apache在設計時使用了以"進程"為基礎的結(jié)構菠齿,大家要知道,進程比線程消耗更多的系統(tǒng)開支,這導致了Apache在多處理器環(huán)境中性能有所下降炸客,因此痹仙,在對一個Apache Web站點進行擴容時,通常是增加服務器或擴充群節(jié)點而不是增加處理器拟枚。
? ?2众弓,Microsoft IIS
IIS是Microsoft公司的Web服務器產(chǎn)品,其在全球Web服務器市場中占有相當大的市場份額脚乡,是被廣泛采用的Web服務器之一滨达,IIS的官方網(wǎng)址為http://www.iis.net,在此處可以找到更多關于IIS功能特性的詳細介紹锌订。作為同一家公司的產(chǎn)品画株,IIS和windows Server組合可以提供可靠涩搓,高效昧甘,完整的網(wǎng)絡服務器解決方案战得,當然,作為付費軟件浇冰,IIS部署成本高的缺點也是顯而易見的聋亡。
? ? 3,Tomcat服務器
Tomcat在英文中是公貓或者其他雄性貓科動物漂佩,Tomcat服務器最初是由Sun公司的軟件架構師詹姆斯開發(fā)的罪塔,后來變?yōu)殚_源項目征堪,并由Sun公司將其貢獻給了Apache軟件基金會。
Tomcat是Sun公司官方推薦的Serlet和JSP容器庸娱,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下谐算,其作為輕量級應用服務器 ,被廣泛使用臣樱,它是開發(fā)和調(diào)試JSP程序的首選腮考。
Tomcat服務器作為輕量級的服務器軟件,無法滿足復雜業(yè)務場景的要求棚放,也沒有復雜和豐富的功能馅闽,但是Tomcat是開源的,且體積小局骤,安裝和部署起來是非常的簡單方便的峦甩,系統(tǒng)資源占用率低,也是主要的Servlet和Tomcat容器犬辰,它在這方面比絕大多數(shù)商業(yè)應用軟件服務器要好得多冰单。
3 Nginx概述
Nginx(engine x) 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器涵卵。Nginx是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的Rambler.ru站點(俄文:Рамблер)開發(fā)的呕诉,第一個公開版本0.1.0發(fā)布于2004年10月4日甩挫。
其將源代碼以類BSD許可證的形式發(fā)布椿每,因它的穩(wěn)定性、豐富的功能集亦渗、示例配置文件和低系統(tǒng)資源的消耗而聞名汁尺。2011年6月1日痴突,nginx 1.0.4發(fā)布。
Nginx是一款輕量級的Web服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器帮碰,并在一個BSD-like 協(xié)議下發(fā)行拾积。其特點是占有內(nèi)存少丰涉,并發(fā)能力強一死,事實上nginx的并發(fā)能力確實在同類型的網(wǎng)頁服務器中表現(xiàn)較好傻唾,中國大陸使用nginx網(wǎng)站用戶有:百度、京東逛裤、新浪猴抹、網(wǎng)易蟀给、騰訊、淘寶等择克。
接下來前普,就該進行Nginx的安裝與部署啦。
4 Nginx下載與安裝
? ?4.1 下載Nginx
?首先打開Nginx的下載鏈接?點我點我骡湖,然后如圖所示峻厚。
在此說下各個版本的不同吧惠桃。
Mainline version:最新版本,但是不會保證穩(wěn)定劈狐。
Stable version:穩(wěn)定版本誓禁,我們也是選擇這個穩(wěn)定版本摹恰。
Legacy versions:過去的舊版本怒见,一般是不推薦選這個的姑宽,也不多說炮车。
因為此處筆者要在Centos上安裝Nginx,所以選擇的是我現(xiàn)在的穩(wěn)定版本Nginx-1.12.2 右鍵復制下載地址纪隙。然后來到咱們的Centos虛擬機上扛或,
筆者是在/usr/local/src下進行下載編譯的。這個要看個人使用環(huán)境悲伶,也可以選擇根據(jù)筆者的來住涉。輸入下面這行命令:
wget?http://nginx.org/download/nginx-1.12.2.tar.gz
然后回車進行下載舆声,Nginx本身并不算大媳握,所以很快進行下載完畢。
4.2?檢查并安裝所需的依賴軟件
? ??1).gcc:nginx編譯依賴gcc環(huán)境
? ??yum install gcc-c++
????2).pcre:(Perl Compatible Regular Expressions)是一個Perl庫,包括perl兼容的正則表達式庫争拐。nginx的http模塊使用pcre來解析正則表達式.
yum install -y pcre pcre-devel
3).zlib:該庫提供了很多種壓縮和解壓縮的方式架曹,nginx使用zlib對http包的內(nèi)容進行gzip。
yum install -y zlib zlib-devel
4).openssl:一個強大的安全套接字層密碼庫展辞,囊括主要的密碼算法万牺、常用的密鑰和證書封裝管理功能及SSL協(xié)議,并提供豐富的應用程序供測試或其它目的使用覆旱。nginx不僅支持http協(xié)議扣唱,還支持https(即在ssl協(xié)議上傳輸http).
yum install -y openssl openssl-devel
以上四個命令分別運行,然后接下來就可以進行解壓安裝了炼彪。
4.3 解壓Nginx正歼。編譯Nginx。
運行以下命令:
tar zxvf nginx-1.12.2.tar.gz
然后進入到解壓后的Nginx目錄中
cd nginx-1.12.2/
可以看到如圖所示的幾個目錄
.配置編譯參數(shù)(可以使用./configure --help查詢詳細參數(shù)):
使用下面這個命令就可以。也可以自定義配置旭咽。
./configure \--prefix=/usr/local/nginx
自定義配置(不推薦穷绵,因為你需要手動創(chuàng)建多個目錄)
./configure \ --prefix=/usr/local/nginx \ --conf-path=/usr/local/nginx/conf/nginx.conf \ --pid-path=/usr/local/nginx/conf/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client \ --http-proxy-temp-path=/var/temp/nginx/proxy \ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ --http-scgi-temp-path=/var/temp/nginx/scgi
如圖所示仲墨,出現(xiàn)跟筆者一樣的,就代表configure配置完成俩由。
configure配置完成癌蚁,接下來就要編譯Nginx了。運行下面這個命令:
make && make install
如圖所以碘梢,代表編譯成功伐蒂。
運行以下命令:
cd /usr/local/nginx
如圖所示,剛編譯完成后在扰,有四個目錄:
下面解釋以下各個目錄的作用:
....conf目錄:配置文件
... htm目錄:l網(wǎng)頁文件
...logs目錄:日志文件
...sbin目錄:主要二進制程序
5健田,Nginx的啟動
運行以下命令:
./sbin/nginx
如圖所示佛纫,則代表nginx啟動完成呈宇。
筆者發(fā)現(xiàn),有些用戶裝了apache或者其他軟件后存炮,會占用80端口蜈漓。nginx默認開啟的是80端口穆桂,如果有其他服務占用了80端口,就會發(fā)生如圖所示的情況融虽。
此時享完,這個情況下,就需要查找一個80端口究竟是被誰給占用了有额。筆者因為沒被占用般又,所以就起了兩次Nginx,起兩次的話巍佑,自然就會產(chǎn)生端口占用了茴迁。
發(fā)現(xiàn)此時占用80端口的pid為20250 萤衰。所以使用
kill -9 20250
來殺掉這個進程堕义,此時用戶需要給我的20250改成你們自己占用80端口的pid。
殺掉后脆栋,就用
./sbin/nginx
來啟動nginx胳螟。
重啟nginx
./sbin/nginx -s reload
停止nginx
./sbin/nginx -s stop
下篇文章就來詳細講解一下nginx的應用。