SpringBoot前端后端分離之Nginx服務(wù)器下載安裝過程
SpringBoot前端后端分離之Nginx服務(wù)器
1、Nginx介紹
Nginx是一款輕量級的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器。其特點是占有內(nèi)存少,并
發(fā)能力強(qiáng),事實上nginx的并發(fā)能力在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,中國大陸使用nginx的網(wǎng)站有:百度、京東、
新浪、網(wǎng)易、騰訊、淘寶等。
2、Nginx下載和安裝
2.1、官方地址下載:https://nginx.org/en/download.html
2.2、使用虛擬機(jī)進(jìn)行下載
1、安裝依賴包
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
2、下載安裝包
wget https://nginx.org/download/nginx-1.22.0.tar.gz
如果沒有wget,請先安裝wget
yum -y install wget
下載之后可以直接使用【ll】命令查看下載文件
3、解壓
tar -zxvf nginx-1.22.0.tar.gz
4、進(jìn)入安裝目錄
cd nginx-1.22.0
5、指定安裝位置
先創(chuàng)建文件夾再進(jìn)行安裝
mkdir -p /opt/nginx ./configure --prefix=/opt/nginx
6、編譯并安裝
make && make install
3、Nginx目錄結(jié)構(gòu)通過【tree】命令可以查看詳細(xì)的目錄結(jié)構(gòu)
如果沒有tree命令先執(zhí)行:yum insall tree進(jìn)行安裝
[root@localhost nginx]# tree . ├── conf │ ├── fastcgi.conf │ ├── 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 │ ├── uwsgi_params │ ├── uwsgi_params.default │ └── win-utf ├── html │ ├── 50x.html │ └── index.html ├── logs └── sbin
1、conf:配置文件目錄
2、html:靜態(tài)資源頁面目錄
3、lcgs:日志目錄
4、sbin:二進(jìn)制文件,啟動、停止服務(wù)
重點目錄文件:conf/nginx.conf-------nginx配置文件
4、Nginx常用命令
1、查看版本號
[root@localhost nginx]# cd sbin/ [root@localhost sbin]# ./nginx -v nginx version: nginx/1.22.0
2、檢查配置文件的正確性
[root@localhost sbin]# ./nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
3、啟動nginx服務(wù)器
[root@localhost sbin]# ./nginx [root@localhost sbin]# ps -ef | grep nginx root 34344 1 0 07:34 ? 00:00:00 nginx: master process ./nginx nobody 34346 34344 0 07:34 ? 00:00:00 nginx: worker process root 34727 1823 0 07:34 pts/0 00:00:00 grep --color=auto nginx
訪問nginx服務(wù)器
通過宿主機(jī)的ip地址連接即可,默認(rèn)是80端口,如果連接不上請檢查防火墻狀態(tài)和開放的端口
4、停止nginx訪問
./nginx -s stop
5、重新加載配置文件
如果修改過配置文件,需要重新加載才能使其生效【在啟動狀態(tài)也是可以重新加載】
./nginx -s reload
6、配置環(huán)境遍歷
進(jìn)入環(huán)境遍歷
vim /etc/profile
設(shè)置PATH路徑根據(jù)自己的安裝目錄
PATH=/usr/local/nginx/sbin:$PATH
退出環(huán)境變量編輯模式在插入模式中按ESC鍵再執(zhí)行下面的命令
:wq
刷新環(huán)境變量
source /etc/profile
重點:如果編輯環(huán)境變量出現(xiàn)錯誤就使其他的命令不起效了,可以自行下面的代碼進(jìn)行修復(fù)然后再編輯環(huán)境變量
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
環(huán)境變量如果設(shè)置成功在哪一個路徑都可以直接使用【nginx】命令進(jìn)行執(zhí)行,不需要指定路徑了
5、nginx配置文件
文件位置:conf/nginx.conf整體分為三部分:
1、全局塊:和Nginx運(yùn)行相關(guān)的全局配置
2、events塊:和網(wǎng)絡(luò)連接相關(guān)的配置
3、http塊:代理、緩存、日志記錄、虛擬主機(jī)配置
http全局塊
server塊:
- Server全局快
- location塊
注意:http塊中可以配置多個server塊,每一個server塊中可以配置多個location塊
# 全局塊 worker_processes 1; # events塊:和網(wǎng)絡(luò)連接相關(guān)的配置 events { worker_connections 1024; } # http塊:代理、緩存、日志記錄、虛擬主機(jī)配置 http { # 全局快 include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; # server塊 server { # server全局快 listen 80; # 監(jiān)聽的端口 server_name localhost; # 服務(wù)器名稱 # location塊,匹配客戶端請求url location / { root html; # 根目錄 index index.html index.htm; # 默認(rèn)的首頁 } #error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
6、Nginx具體應(yīng)用
6.1、部署靜態(tài)資源
Ngnx可以作為靜態(tài)Wb服務(wù)器來部署靜態(tài)資源。靜態(tài)資源指在服務(wù)端真實存在并且能夠直接展示的一些文件,比如
常見的html頁面、css文件、js文件、圖片、視頻等資源。
相對于Tomcat,.Nginx處理靜態(tài)資源的能力更加高效,所以在生產(chǎn)環(huán)境下,一般都會將靜態(tài)資源部署到Nginx中。
將靜態(tài)資源部署到Nginx非常簡單,只需要將文件復(fù)到Nginx安裝目錄下的html目錄中即可。
6.2、反向代理 正向代理
是一個位于客戶端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個
請求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交清求并將獲得的內(nèi)容返回給客戶端。
正向代理的典型用途是為在防火墻內(nèi)的局域網(wǎng)客戶端提供訪問Internet的途徑。
正向代理一般是在客戶端設(shè)置代理服務(wù)器,通過代理服務(wù)器轉(zhuǎn)發(fā)請求,最終訪問到目標(biāo)服務(wù)器。
反向代理
反向代理服務(wù)器位于用戶與目標(biāo)服務(wù)器之間,但是對于用戶而言,反向代理服務(wù)器就相當(dāng)于目標(biāo)服務(wù)器,即用戶直接訪問反向代理服務(wù)器就可以獲得目標(biāo)服務(wù)器的資源,反向代理服務(wù)器負(fù)責(zé)將請求轉(zhuǎn)發(fā)給目標(biāo)服務(wù)器。
用戶不需要知道目標(biāo)服務(wù)器的地址,也無須在用戶端作任何設(shè)定。
反向代理配置
這里配置的部署https協(xié)議的,如果需要轉(zhuǎn)發(fā)https的需要進(jìn)行配置ssl證書
server { listen 80; server_name localhost; location / { root html; index index.html index.htm; proxy_pass https://xxx.xxx.xxx:xxxx; # 反向代理配置,將請求轉(zhuǎn)發(fā)到指定的服務(wù) } }
6.3、負(fù)載均衡
早期的網(wǎng)站流量和業(yè)務(wù)功能都比較簡單,單臺服務(wù)器就可以滿足基本需求,但是隨著互聯(lián)網(wǎng)的發(fā)展,業(yè)務(wù)流量越來越
大并且業(yè)務(wù)邏輯也越來越復(fù)雜,單臺服務(wù)器的性能及單點故障問題就凸顯出來了,因此需要多臺服務(wù)器組成應(yīng)用集群
進(jìn)行性能的水平擴(kuò)展以及避免單點故障出現(xiàn)。
●應(yīng)用集群:將同一應(yīng)用部署到多臺機(jī)器上,組成應(yīng)用集群,接收負(fù)載均衡器分發(fā)的請求,進(jìn)行業(yè)務(wù)處理并返回響應(yīng)
數(shù)據(jù)
●負(fù)載均衡器:將用戶請求根據(jù)對應(yīng)的負(fù)載均衡算法分發(fā)到應(yīng)用集群中的一臺服務(wù)器進(jìn)行處理
負(fù)載均衡配置
# upstream指令可以定義一組服務(wù)器 upstream targetserver{ # 指定訪問的IP地址和端口號 server xxx.xxx.xxx.xxx:xxxx; server xxx.xxx.xxx.xxx:xxxx; } server { listen 80; server_name localhost; location / { # root html; # index index.html index.htm; proxy_pass http://targetserver; # 反向代理配置,將請求轉(zhuǎn)發(fā)到指定的服務(wù)upstream指令定義的IP地址 } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }
負(fù)載均衡權(quán)重設(shè)置在upstream指令里面的IP地址后面添加即可,如下
名稱 | 說明 |
---|---|
輪詢 | 默認(rèn)方式 |
weight | 權(quán)重方式 |
ip_hash | 依據(jù)ip分配方式 |
least_conn | 依據(jù)最少連接方式 |
fair | 依據(jù)響應(yīng)時間方式 |
url_hash | 依據(jù)url分配方式 |
# upstream指令可以定義一組服務(wù)器 upstream targetserver{ server 120.79.192.231 weight=5; #server xxx.xxx.xxx.xxx:xxxx weight=1; }
到此這篇關(guān)于SpringBoot前端后端分離之Nginx服務(wù)器的文章就介紹到這了,更多相關(guān)SpringBoot Nginx服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx解決vue項目服務(wù)器部署及跨域訪問后端詳解
跨域問題在前后端分離項目很常見,至于為什么會跨域,同源策略,百度各種博客都很詳細(xì),這里不再介紹,這篇文章主要給大家介紹了關(guān)于Nginx解決vue項目服務(wù)器部署及跨域訪問后端的相關(guān)資料,需要的朋友可以參考下2022-11-11Nginx 路由轉(zhuǎn)發(fā)和反向代理location配置實現(xiàn)
本文主要介紹了Nginx 路由轉(zhuǎn)發(fā)和反向代理location配置實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11Nginx 反向代理與負(fù)載均衡運(yùn)行小結(jié)
Nginx還支持對后端服務(wù)器進(jìn)行健康檢查,當(dāng)某個服務(wù)器不可用時,Nginx會自動將流量重定向到其他可用的服務(wù)器,這篇文章給大家分享Nginx 反向代理與負(fù)載均衡是如何運(yùn)行的,感興趣的朋友一起看看吧2024-03-03Nginx應(yīng)對Permission denied和File not found的配置
這篇文章主要介紹了Nginx應(yīng)對Permission denied和File not found的錯誤配置,文中介紹了兩個PHP程序使用時出現(xiàn)相關(guān)問題后的解決案例,需要的朋友可以參考下2015-12-12Nginx 502 Bad Gateway錯誤常見的4種原因和解決方法
這篇文章主要介紹了Nginx 502 Bad Gateway錯誤常見的4種原因和解決方法,本文適用FastCGI環(huán)境,其中多數(shù)原因通過配置相關(guān)參數(shù)即可解決,需要的朋友可以參考下2015-05-05