web服務(wù)nginx代理介紹

web服務(wù)軟件:

1、靜態(tài)軟件: Nginx (Tengine) 、Apache,Lighttpd

2、動(dòng)態(tài)軟件: php程序(Php引擎)、JAVA程序(tomcat/resin/jboss/weblogic) 、 python程序(Pythgn)

老男孩web環(huán)境講啥:Nginx. PHP, TOMCAT (tomcat)

自學(xué)python環(huán)境

Nginx是目前最流行的web服務(wù)軟件

Nginx ("engine x")是一個(gè)開源的、支持高性能、高并發(fā)的www服務(wù)和代理服務(wù)軟件。

它是由俄羅斯人1gorSysoev開發(fā)的,最初被應(yīng)用在俄羅斯的大型網(wǎng)站ww. rambler.ru上 后來作者將源代碼以類BSD許可證的形式開源出來供全球使用?,F(xiàn)在被別人收購了

Nginx三大主要功能:

1.網(wǎng)頁服務(wù),web服務(wù),

自身是靜態(tài)web服務(wù),相當(dāng)于apache,lighttpd,IIS

還支持動(dòng)態(tài)服務(wù)? 相當(dāng)于PHP,JAVA,Python

2.負(fù)載均衡,反向代理,相當(dāng)于haproxy,lvs,F5,netscaler

3.緩存服務(wù)器,相當(dāng)于squid,varnish。

08年逐漸進(jìn)入市場,當(dāng)時(shí)Apache老大,Nginx如何超越對(duì)手?

Nginx HTTP優(yōu)點(diǎn):

1.最大特點(diǎn):靜態(tài)小文件高并發(fā),占用資源少,軟件本身小

2.支持高并發(fā):能支持幾萬并發(fā)連接(特別是靜態(tài)小文件業(yè)務(wù)環(huán)境) 。

2.資源消耗少:在3萬并發(fā)連接下,開啟10個(gè)Nginx線程消耗不到200MB內(nèi)存。

4.可以做HTTP反向代理及加速緩存,即負(fù)載均衡功能,內(nèi)置對(duì)RS節(jié)點(diǎn)服務(wù)器健康檢查功能,這相當(dāng)于專業(yè)的haproxy軟件或1vs的功能。具備squid等專業(yè)緩存軟件等的緩存功能。

Nginx作為web服務(wù)器的主要應(yīng)用場景:

1)靜態(tài)Web服務(wù)器:

使用Nginx運(yùn)行HTML. JS,Css、小圖片等靜態(tài)數(shù)據(jù)(此功能類似lighttpd軟件)

2)配合運(yùn)行動(dòng)態(tài)Web服務(wù)器:

Nginx結(jié)合FastCGI運(yùn)行PHP等動(dòng)態(tài)程序(例如使用fastcgi pass方式)。

Nginx結(jié)合proxy,pass支持Java動(dòng)態(tài)程序(tomcat/resin服務(wù)).

Nginx結(jié)合uwsgi pass支持Python。

3反向代理負(fù)載均衡http負(fù)載均衡

4做web緩存服務(wù)器(把文件放入內(nèi)存里)


反向代理與負(fù)載均衡

代理:海外代購,微商:代理:替別人做事

正向代理:代替局域網(wǎng)內(nèi)pc,請(qǐng)求外部應(yīng)用服務(wù)器

反向代理是代替互聯(lián)網(wǎng)用戶請(qǐng)求內(nèi)部網(wǎng)站資源,然后再在本地緩存一份,下次用戶訪問,不用尋找服務(wù)器,直接把緩存的數(shù)據(jù)給用戶。

負(fù)載均衡:

轉(zhuǎn)發(fā),就是客戶端訪問,負(fù)載均衡直接把請(qǐng)求甩給服務(wù)器。。效率高

高并發(fā)時(shí)用負(fù)載均衡。。。。。

為什么Nginx總體性能比Apache高?

Nginx使用最新的epol1 (Linux2.6內(nèi)核)和kqueue (freebsd)異步網(wǎng)絡(luò)1/0模型,而Apache則使用的是傳統(tǒng)的select模型。目前Linux下能夠承受高并發(fā)訪問的Squid, Memcached軟件都采用的是epol1模型。

Apache則使用的是傳統(tǒng)的select模型,Nginx使用高并發(fā)的epo11模型?

select模型:伙伴去宿舍找你,一個(gè)一個(gè)找。.效率低。

epo11模型: 伙伴去宿舍找你,先問宿管大媽,看看在哪間宿舍,然后直奔具體宿舍。效率高。

select模型:小孩撒尿:如果尿尿拉出來,帶著尿尿。

epol1模型: 小孩撒尿:事先告訴所有小孩,如果要尿尿,你就站出來.阿姨就看有沒有人站出來就可以了。

翟玉龍-平?jīng)?/p>

http://www.itdecent.cn/p/833c3cea0115

Nginx兩種模式模型和五種算法

軟件安裝方法:

1、rpm安裝簡單快。依賴多,解決依賴?yán)щy繁瑣。

2、yum安裝******簡單快, 自動(dòng)解決依賴。不能選擇軟件版本或軟件存放路徑。

3、編譯安裝(源碼編譯) *****慢復(fù)雜需要GCC編譯器,可以自定義安裝(版本、軟件路徑)

4、將源碼制作成rpm,然后放到y(tǒng)um倉庫,實(shí)現(xiàn)yum自動(dòng)安裝。一次性慢復(fù)雜,安裝快,可以自定義安裝(版本、軟件路徑)

5.二進(jìn)制安裝

Nginx安裝:

1,yum安裝(epel源安裝,版本是默認(rèn)的比較老)

[root@web?~]#?vim?/etc/yum.repos.d/nginx.repo

[nginx]

name=nginx?repo

baseurl=http://nginx.org/packages/centos/7/$basearch/

gpgcheck=0

enabled=1

然后yum install nginx -y? 安裝

rpm -qa nginx? 查是否安裝

systemctl start nginx? 啟動(dòng)服務(wù)

systemctl enable nginx 開機(jī)自啟動(dòng)

2.編譯安裝? (官方安裝,版本自定)

百度搜索nginx.org




右擊想要下載的版本(第二行第二列,右擊復(fù)制鏈接,就是如下)

wget http://nginx.org/download/nginx-1.16.0.tar.gz

用wget命令下載到/server/tools? 路徑要專業(yè)

安裝nginx需要pcre庫


yum install pcre pcre-devel -y nginx重寫功能需要依賴的軟件

yum install openssl openssl-devel -y? ? https加密用的軟件

解壓:[root@web02 /server/tools]# tar -xf nginx-1.16.0.tar.gz

[root@web02 /server/tools]# cd nginx-1.16.0/

創(chuàng)建虛擬用戶,用于啟動(dòng)進(jìn)程的用戶

[root@web02 /server/tools/nginx-1.16.0]# useradd -s /sbin/nologin www -M

路徑不變,執(zhí)行下邊命令

./configure??--user=www?--group=www?--prefix=/application/nginx-1.16.0/?--with-http_stub_status_module??--with-http_ssl_module?--with-pcre


echo $?,如果輸出0,說明上一條命令成功

make? 進(jìn)行編譯

make install? 下載

ln?-s?/application/nginx-1.16.0/?/application/nginx? 創(chuàng)建軟連接

cd?/application/nginx

檢查語法

/application/nginx/sbin/nginx -t

/application/nginx/sbin/nginx? -s start? ? 啟動(dòng)?

../sbin/nginx relode? ? 平滑重啟服務(wù)?

編譯安裝配置:

[root@web02 /application/nginx]# tree

.

├── conf

│?? ├── fastcgi.conf? ? ? ? #和動(dòng)態(tài)服務(wù)的接口配置參數(shù),配合php

│?? ├── fastcgi.conf.default

│?? ├── fastcgi_params

│?? ├── fastcgi_params.default

│?? ├── koi-utf

│?? ├── koi-win

│?? ├── mime.types? ? ? ? ? ? #媒體類型

│?? ├── mime.types.default

│?? ├── nginx.conf? ? ? ? ? ? #主配置文件

│?? ├── nginx.conf.default

│?? ├── scgi_params

│?? ├── scgi_params.default? #和動(dòng)態(tài)服務(wù)的接口配置參數(shù)

│?? ├── uwsgi_params

│?? ├── uwsgi_params.default? #和動(dòng)態(tài)服務(wù)的接口配置參數(shù),配合Python

│?? └── win-utf

├── fastcgi_temp

├── html? ? ? ? ? ? #默認(rèn)站點(diǎn)目錄。?

│?? ├── 50x.html

│?? └── index.html? #默認(rèn)的首頁,10.0.0.8不指定文件,默認(rèn)加載index.html首頁。

├── logs

│?? ├── access.log? #訪問日志

│?? ├── error.log? #Nginx錯(cuò)誤日志。

│?? └── nginx.pid? #進(jìn)程號(hào)對(duì)應(yīng)文件。

├── sbin

│?? └── nginx? ? ? #啟動(dòng)命令。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容