
(相關(guān)資料圖)
# 命令來(lái)一建安裝,搞定yum install -y nginx通過(guò)yum安裝的Nginx的配置文件可能位于/etc/nginx/nginx.conf。
# linux版本的需要先進(jìn)行源碼編譯,編譯時(shí)需要gcc環(huán)境yum install -y gcc-c++# pcre是一個(gè)perl的庫(kù),包括perl兼容的正則表達(dá)式庫(kù)。nginx的http模塊會(huì)使用pcre解析正則表達(dá)式。yum install -y pcre pcre-devel# zlib提供了多種壓縮和解壓縮的方式,nginx使用zlib對(duì)http包進(jìn)行g(shù)zip,所以依賴于zlib庫(kù)yum install -y zlib zlib-devel# OpenSSL 是一個(gè)強(qiáng)大的安全套接字層密碼庫(kù),囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協(xié)議,nginx不# 僅支持http協(xié)議,還支持https(即在ssl協(xié)議上傳輸http)yum install -y openssl openssl-devel
# 下載Nginx安裝包wget https://nginx.org/download/nginx-1.9.7.tar.gz# 解壓安裝包至 /usr/local目錄下tar -zxvf nginx-1.19.7.tar.gz -C /home/lys
# 設(shè)置安裝的目錄./configure --prefix=/home/lys/nginx# 編譯安裝cd /home/lys/nginx-1.9.7make && make install
# 啟動(dòng)Nginx服務(wù),使用nginx目錄下的nginx命令啟動(dòng)(默認(rèn)80)/home/lys/nginx/sbin/nginx# 檢測(cè)nginx服務(wù)是否啟動(dòng)方式一# 查看linux中關(guān)于nginx的進(jìn)程ps -ef |grep nginx# 檢測(cè)nginx服務(wù)是否啟動(dòng)方式二 netstat -anop | grep 80# 關(guān)閉防火墻后,在瀏覽器中訪問(wèn)虛擬機(jī)ipservice firewalld stop
# 一、此方式相當(dāng)于查到nginx的進(jìn)程,直接殺掉,不友好/home/lys/nginx/sbin/nginx -s stop# 二、此方式允許Nginx服務(wù)器不再接受新的請(qǐng)求,并且把當(dāng)前請(qǐng)求處理完成之后關(guān)閉服務(wù)/home/lys/nginx/sbin/nginx -s quit
# 一、先關(guān)閉再啟動(dòng)/home/lys/nginx/sbin/nginx -s quit/home/lys/nginx/sbin/nginx# 二、重新加載配置文件/home/lys/nginx/sbin/nginx -s reload
# 一、 指定要檢測(cè)的文件路徑名稱/home/lys/nginx/sbin/nginx -t -c /home/lys/nginx/conf/nginx.conf # 二、 默認(rèn)文件可以參略./nginx -t
其中,一個(gè)server就相當(dāng)于一個(gè)服務(wù)器,你可以配置多個(gè)server模塊來(lái)虛擬多個(gè)服務(wù)器。listen表示該服務(wù)器監(jiān)聽哪個(gè)端口,默認(rèn)是80端口。server_name表示匹配主機(jī)名,比如我的server_name是localhost,那么,當(dāng)客戶端通過(guò)域名localhost(前提是該域名已經(jīng)正確解析到該服務(wù)器的IP地址)來(lái)訪問(wèn)的時(shí)候,就是匹配到這個(gè)服務(wù)器。如果客戶端通過(guò)域名localhost:8080來(lái)訪問(wèn)的時(shí)候,就會(huì)匹配到下面那個(gè)服務(wù)器。如果你通過(guò)IP直接訪問(wèn),會(huì)默認(rèn)訪問(wèn)第一個(gè)服務(wù)器。
location就是匹配的路由,root是返回給客戶端資源文件的根目錄,它是相對(duì)nginx路徑的,也可以指定絕對(duì)路徑(比如:/usr/local/nginx/www)。index就是默認(rèn)返回的文件名(比如index.html,index.php,index.asp等)。
該指令用于匹配URL
=用于不含正則表達(dá)式的uri前,要求請(qǐng)求字符串與uri嚴(yán)格匹配,如果匹配成功,就停止繼續(xù)向下搜索并立即處理該請(qǐng)求~用于表示含uri的正則表達(dá)式,并且區(qū)分大小寫~*用于包含uri的正則表達(dá)式,并且不區(qū)分大小寫^~用于不含正則表達(dá)式的uri前,要求Nginx服務(wù)器找到表示uri和請(qǐng)求字符串匹配度最高的location之后,立即使用此location處理請(qǐng)求,而不再使用location塊中的uri和請(qǐng)求字符串作比較# 訪問(wèn)80端口時(shí) server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } # 設(shè)置nacos location ^~/api_nacos/ { proxy_pass http://10.0.37.2:8849/; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-real-ip $remote_addr; } } # 訪問(wèn)8080端口時(shí) server { listen 8080; server_name localhost222; location / { root html; index index.html index.htm; } # 設(shè)置nacos location ^~/api_nacos/ { proxy_pass http://10.0.37.2:8849/; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-real-ip $remote_addr; } # 設(shè)置web01 location ^~/api_web01/ { proxy_pass http://10.0.39.21:8222/; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-real-ip $remote_addr; } # 設(shè)置web02 location ^~/api_web02/ { proxy_pass http://10.0.39.22:8333/; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-real-ip $remote_addr; } }
增加服務(wù)器的數(shù)量,然后將請(qǐng)求分發(fā)到各個(gè)服務(wù)器上,將原先請(qǐng)求集中到單個(gè)服務(wù)器上的情況改為將請(qǐng)求分發(fā)到多個(gè)服務(wù)器上,將負(fù)載分發(fā)到不同的服務(wù)器,也就是我們所說(shuō)的負(fù)載均衡