摘要:當(dāng)網(wǎng)站的訪問量達(dá)到一定程度后,單臺(tái)服務(wù)器不能滿足用戶的請(qǐng)求時(shí),需要用多臺(tái)服務(wù)器集群可以使用做反向代理。兩個(gè)域名是和服務(wù)器使用虛擬機(jī)實(shí)現(xiàn)反向代理第一步安裝兩個(gè),分別運(yùn)行在和端口。
一、什么是Nginx在學(xué)習(xí)淘淘商城的過程中接觸到了nginx,今天就把使用它的過程記錄下來,作為留存。
Nginx是一款高性能的http服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器。由俄羅斯的程序設(shè)計(jì)師Igor Sysoev所開發(fā),官方測(cè)試nginx能夠支支撐5萬并發(fā)鏈接,并且cpu、內(nèi)存等資源消耗卻非常低,運(yùn)行非常穩(wěn)定。
應(yīng)用場(chǎng)景http服務(wù)器。Nginx是一個(gè)http服務(wù)可以獨(dú)立提供http服務(wù)。可以做網(wǎng)頁靜態(tài)服務(wù)器。
虛擬主機(jī)??梢詫?shí)現(xiàn)在一臺(tái)服務(wù)器虛擬出多個(gè)網(wǎng)站。例如個(gè)人網(wǎng)站使用的虛擬主機(jī)。
反向代理,負(fù)載均衡。當(dāng)網(wǎng)站的訪問量達(dá)到一定程度后,單臺(tái)服務(wù)器不能滿足用戶的請(qǐng)求時(shí),需要用多臺(tái)服務(wù)器集群可以使用nginx做反向代理。并且多臺(tái)服務(wù)器可以平均分擔(dān)負(fù)載,不會(huì)因?yàn)槟撑_(tái)服務(wù)器負(fù)載高宕機(jī)而某臺(tái)服務(wù)器閑置的情況。
二、nginx安裝 1.官網(wǎng)下載nginx源碼。 2.外部環(huán)境準(zhǔn)備:需要安裝gcc的環(huán)境:yum install gcc-c++
第三方的開發(fā)包:
① PCRE(Perl Compatible Regular Expressions)是一個(gè)Perl庫(kù),包括 perl 兼容的正則表達(dá)式庫(kù)。nginx的http模塊使用pcre來解析正則表達(dá)式,所以需要在linux上安裝pcre庫(kù)。
yum install -y pcre pcre-devel
②zlib庫(kù)提供了很多種壓縮和解壓縮的方式,nginx使用zlib對(duì)http包的內(nèi)容進(jìn)行g(shù)zip,所以需要在linux上安裝zlib庫(kù)。
yum install -y zlib zlib-devel
③OpenSSL 是一個(gè)強(qiáng)大的安全套接字層密碼庫(kù),囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協(xié)議,并提供豐富的應(yīng)用程序供測(cè)試或其它目的使用。nginx不僅支持http協(xié)議,還支持https(即在ssl協(xié)議上傳輸http)
yum install -y openssl openssl-devel3.正式安裝
第一步:把nginx的源碼包上傳到linux系統(tǒng)
第二步:解壓縮
tar zxf nginx-1.8.0.tar.gz
第三步:使用configure命令創(chuàng)建一makeFile文件。
./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
注意:以上都是一些安裝時(shí)配置nginx的一些參數(shù),具體含義可以自行百度。另外在啟動(dòng)nginx之前,上邊將臨時(shí)文件目錄指定為/var/temp/nginx,需要在/var下創(chuàng)建temp及nginx目錄
mkdir /var/temp/nginx/client -p
第四步:編譯,運(yùn)行make命令
第五步:安裝運(yùn)行make install命令
第六步:測(cè)試
進(jìn)入安裝目錄下的sbin文件,運(yùn)行./nginx后,打開瀏覽器訪問主機(jī)ip。
注意:①默認(rèn)是80端口。②是否關(guān)閉防火墻。
如果出現(xiàn)上圖,恭喜你,nginx安裝成功。
相關(guān)命令:
./nginx -s stop ##關(guān)閉nginx ./nginx -s quit ##關(guān)閉nginx(推薦使用) ./nginx -s reload ##重啟nginx三、配置虛擬主機(jī) 1.通過端口號(hào)區(qū)分虛擬主機(jī)
打開nginx的配置文件
vim /usr/local/nginx/conf/nginx.conf
可以看到一個(gè)server節(jié)點(diǎn),這個(gè)就是我們配置虛擬主機(jī)的關(guān)鍵,每一個(gè)此節(jié)點(diǎn)代表一臺(tái)主機(jī)。
server { listen 80; ##端口號(hào) server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; ##nginx安裝目錄下的html目錄 index index.html index.htm; ##每臺(tái)主機(jī)對(duì)應(yīng)的頁面 } }
當(dāng)我們配置了多個(gè)server,就相當(dāng)于配置了多個(gè)虛擬主機(jī)。這時(shí)我們就可以通過不同的端口號(hào)來進(jìn)行訪問。
2.通過域名區(qū)分虛擬主機(jī)首先我們要知道當(dāng)我們打開瀏覽器訪問每一個(gè)域名的時(shí)候,每一個(gè)域名對(duì)應(yīng)的是一個(gè)ip地址。并且一個(gè)ip地址可以被多個(gè)域名綁定。當(dāng)我們?cè)诒镜豩osts文件(C:WindowsSystem32driversetc)中配置了域名與ip的對(duì)應(yīng)的映射關(guān)系時(shí),瀏覽器就不會(huì)再去走DNS服務(wù)器
為了方便測(cè)試,我們先在本地hosts文件配置一下測(cè)試所用數(shù)據(jù)
192.168.71.121 www.taobao.com 192.168.21.121 www.baidu.com
然后配置兩個(gè)server節(jié)點(diǎn)
server { listen 80; server_name www.taobao.com; ##不同域名配置 #charset koi8-r; #access_log logs/host.access.log main; location / { root html-taobao; ##不同域名訪問的不同文件夾 index index.html index.htm; } } server { listen 80; server_name www.baidu.com; ##不同域名配置 #charset koi8-r; #access_log logs/host.access.log main; location / { root html-baidu; ##不同域名訪問的不同文件夾 index index.html index.htm; } }
然后在瀏覽器上訪問這兩個(gè)地址就可以訪問到我們配置的兩臺(tái)虛擬主機(jī)。
四、反向代理 1.什么是反向代理兩個(gè)域名指向同一臺(tái)nginx服務(wù)器,用戶訪問不同的域名顯示不同的網(wǎng)頁內(nèi)容。
兩個(gè)域名是www.sian.com.cn和www.sohu.com
nginx服務(wù)器使用虛擬機(jī)192.168.101.3
第一步:安裝兩個(gè)tomcat,分別運(yùn)行在8080和8081端口。
第二步:?jiǎn)?dòng)兩個(gè)tomcat。
第三步:反向代理服務(wù)器的配置
upstream tomcat1 { server 192.168.25.148:8080; } server { listen 80; server_name www.sina.com.cn; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcat1; index index.html index.htm; } } upstream tomcat2 { server 192.168.25.148:8081; } server { listen 80; server_name www.sohu.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcat2; index index.html index.htm; } }
第四步:nginx重新加載配置文件
第五步:配置域名
在hosts文件中添加域名和ip的映射關(guān)系
192.168.71.121 www.sina.com.cn 192.168.71.121 www.sohu.com五、負(fù)載均衡
如果一個(gè)服務(wù)由多條服務(wù)器提供,需要把負(fù)載分配到不同的服務(wù)器處理,需要負(fù)載均衡。
upstream tomcat2 { server 192.168.71.121:8081; server 192.168.71.121:8082; }
可以根據(jù)服務(wù)器的實(shí)際情況調(diào)整服務(wù)器權(quán)重。權(quán)重越高分配的請(qǐng)求越多,權(quán)重越低,請(qǐng)求越少。默認(rèn)是都是1
upstream tomcat2 { server 192.168.71.121:8081; server 192.168.71.121:8082 weight=2; }
本文作者: catalinaLi
本文鏈接: http://catalinali.top/2017/he...
版權(quán)聲明: 原創(chuàng)文章,有問題請(qǐng)?jiān)u論中留言。非商業(yè)轉(zhuǎn)載請(qǐng)注明作者及出處。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39679.html
摘要:個(gè)高級(jí)多線程面試題及回答后端掘金在任何面試當(dāng)中多線程和并發(fā)方面的問題都是必不可少的一部分。目前在生產(chǎn)環(huán)基于的技術(shù)問答網(wǎng)站系統(tǒng)實(shí)現(xiàn)后端掘金這一篇博客將詳細(xì)介紹一個(gè)基于的問答網(wǎng)站的實(shí)現(xiàn),有詳細(xì)的代碼。 15 個(gè)高級(jí) Java 多線程面試題及回答 - 后端 - 掘金在任何Java面試當(dāng)中多線程和并發(fā)方面的問題都是必不可少的一部分。如果你想獲得任何股票投資銀行的前臺(tái)資訊職位,那么你應(yīng)該準(zhǔn)備很多...
摘要:個(gè)高級(jí)多線程面試題及回答后端掘金在任何面試當(dāng)中多線程和并發(fā)方面的問題都是必不可少的一部分。目前在生產(chǎn)環(huán)基于的技術(shù)問答網(wǎng)站系統(tǒng)實(shí)現(xiàn)后端掘金這一篇博客將詳細(xì)介紹一個(gè)基于的問答網(wǎng)站的實(shí)現(xiàn),有詳細(xì)的代碼。 15 個(gè)高級(jí) Java 多線程面試題及回答 - 后端 - 掘金在任何Java面試當(dāng)中多線程和并發(fā)方面的問題都是必不可少的一部分。如果你想獲得任何股票投資銀行的前臺(tái)資訊職位,那么你應(yīng)該準(zhǔn)備很多...
摘要:初始化在終端中執(zhí)行。首次執(zhí)行初始化操作,會(huì)有較長(zhǎng)的時(shí)間去獲取中定義的信息,在第一次初始化后沒有信息的變化,可以跳過初始化直接開始部署。執(zhí)行部署命令時(shí),會(huì)將的列出來展示給用戶,并由用戶確定執(zhí)行。則刪除由創(chuàng)建的容器。通過Terraform在本地運(yùn)行docker nginx前置條件: 1. 安裝好windows docker 2. 安裝好terraform安裝docker安裝windows doc...
閱讀 2367·2021-11-23 09:51
閱讀 1173·2021-11-22 13:52
閱讀 3644·2021-11-10 11:35
閱讀 1265·2021-10-25 09:47
閱讀 3042·2021-09-07 09:58
閱讀 1095·2019-08-30 15:54
閱讀 2849·2019-08-29 14:21
閱讀 3060·2019-08-29 12:20