????????其實(shí)很早就知道Nginx
了,很長時間以來都有心想學(xué)習(xí)Nginx
,由于一些原因一直擱淺,最近靜下心來進(jìn)行學(xué)習(xí),哈哈先從安裝開始吧。
????????
Nginx
是一款輕量級的 Web 服務(wù)器/ 反向代理服務(wù)器及電子郵件(IMAP/POP3
)代理服務(wù)器,并在一個BSD-like
協(xié)議下發(fā)行,其特點(diǎn)是占有內(nèi)存少, 并發(fā)能力強(qiáng)。
????????最開始,我是看的理論,我認(rèn)為學(xué)習(xí)一門技術(shù)首先要了解它到底是什么,到底能做什么,能給我們帶來什么它的好處,帶著這種疑問進(jìn)行學(xué)習(xí)是簡單且效率最高的,我從網(wǎng)上查閱了一些資料,使我了解了反向代理
和負(fù)載均衡
。
????????反向代理
就是以代理服務(wù)器來接受internet
上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet
上請求連接的客戶端,此時代理服務(wù)器對外就表現(xiàn)為一個服務(wù)器。
????????負(fù)載均衡
其實(shí)就是將流量分發(fā)到多個服務(wù)器上執(zhí)行,減輕每臺服務(wù)器的壓力,多臺服務(wù)器共同完成工作任務(wù),從而提高了數(shù)據(jù)的吞吐量,從而擴(kuò)展了網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。
????????使用Nginx
我們可以做到動靜分離,將萬年不動的靜態(tài)資源放到Nginx
中,而動態(tài)資源運(yùn)行在TomCat
服務(wù)器中,當(dāng)訪問靜態(tài)資源時,直接請求Nginx
就可以了,不在需要去請求TomCat
這樣服務(wù)器的壓力又小了
????????當(dāng)我了解完這些的時候,心情很激動,因?yàn)楝F(xiàn)在目前系統(tǒng)是都是多個用戶訪問同一臺服務(wù)器,可想而知服務(wù)器的壓力有多大,但是如果我學(xué)了Nginx
我就可以利用 Nginx
做一個負(fù)載均衡,搭建一個集群,這樣將數(shù)據(jù)流量分發(fā)了下去,處理速度不光快了,服務(wù)器壓力也小了,一點(diǎn)點(diǎn)的優(yōu)化系統(tǒng)會越來越流暢,就像我們學(xué)習(xí),一點(diǎn)點(diǎn)積累,一點(diǎn)點(diǎn)沉淀就會發(fā)現(xiàn)自己視野越來越寬,學(xué)習(xí)越來越輕松,哈哈,閑言少敘,總結(jié)總結(jié)我安裝的步驟吧。
一、安裝Nginx
1.去官網(wǎng)下載Nginx
,連接你的服務(wù)器,在usr
目錄下建立nginx
目錄,并將下載下來的Nginx
上傳到此處,并解壓。
2.安裝依賴包,安裝Nginx
需要先安裝依賴包
????????(1)執(zhí)行同步獲取最新軟件包
????????命令:
apt-get update
????????(2)安裝PCRE,PCRE(Perl Compatible Regular Expressions)
是一個Perl庫,包括 perl 兼容的正則表達(dá)式庫。nginx的http模塊使用pcre來解析正則表達(dá)式,pcre-devel是使用pcre開發(fā)的一個二次開發(fā)庫。nginx也需要此庫。
????????命令:
apt-get install libpcre3 libpcre3-dev
????????(3)安裝zlib,zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內(nèi)容進(jìn)行g(shù)zip。
????????命令:
apt-get install zlib1g-dev
????????安裝(4)OpenSSL ,OpenSSL是一個強(qiáng)大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協(xié)議,并提供豐富的應(yīng)用程序供測試或其它目的使用,nginx不僅支持http協(xié)議,還支持https(即在ssl協(xié)議上傳輸http)。
????????命令:
apt-get install openssl libssl-dev
3.配置Makefile
,進(jìn)入Nginx解壓后的目錄粘貼以下內(nèi)容,并回車
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/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
????????上邊將安裝路徑指定為/usr/local/nginx
,臨時文件目錄為/var/temp/nginx
,需要在/var
下創(chuàng)建temp
及nginx
目錄,創(chuàng)建命令為:sudo mkdir -p /var/temp/nginx
,如果不創(chuàng)建,在安裝完成后進(jìn)行運(yùn)行的時候?qū)?code>nginx: [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory)。
4.安裝Nginx,在當(dāng)前目錄下執(zhí)行make
命令,然后在執(zhí)行make install
命令
5.啟動Nginx,進(jìn)入Nginx的安裝目錄,也就是剛才我們配置的/usr/local/nginx
下的sbin
目錄下執(zhí)行./nginx
6.Nginx端口默認(rèn)端口為80,我們可以通過配置的IP或者域名進(jìn)行訪問,出現(xiàn)下圖,說明Nginx啟動成功,或者通過ps -ref |grep nginx
查看Nginx的進(jìn)程得知Nginx是否啟動成功!
二、常用命令
1.關(guān)閉命令:./nginx -s stop
2.退出命令:./nginx -s quit
,等程序執(zhí)行完畢后關(guān)閉,建議使用此命令。
3.動態(tài)加載配置文件./nginx -s reload
可以不關(guān)閉Nginx的情況下更新配置文件,非常好用!
4.查看Nginx版本:./nginx -v