SpringBoot前端后端分離之Nginx服務(wù)器下載安裝過程
目錄
- SpringBoot前端后端分離之Nginx服務(wù)器
- 1、Nginx介紹
- 2、Nginx下載和安裝
- 3、Nginx目錄結(jié)構(gòu)通過【tree】命令可以查看詳細的目錄結(jié)構(gòu)
- 4、Nginx常用命令
- 5、nginx配置文件
- 6、Nginx具體應(yīng)用
- 6.1、部署靜態(tài)資源
- 6.2、反向代理 正向代理
- 6.3、負載均衡
- 反向代理
- 反向代理配置
SpringBoot前端后端分離之Nginx服務(wù)器
1、Nginx介紹
Nginx是一款輕量級的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器。其特點是占有內(nèi)存少,并
發(fā)能力強,事實上nginx的并發(fā)能力在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,中國大陸使用nginx的網(wǎng)站有:百度、京東、
新浪、網(wǎng)易、騰訊、淘寶等。
官方地址:https://nginx.org/en/
2、Nginx下載和安裝
2.1、官方地址下載:https://nginx.org/en/download.html
2.2、使用虛擬機進行下載
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、進入安裝目錄
cd nginx-1.22.0
5、指定安裝位置
先創(chuàng)建文件夾再進行安裝
mkdir -p /opt/nginx./configure --prefix=/opt/nginx
6、編譯并安裝
make && make install
3、Nginx目錄結(jié)構(gòu)通過【tree】命令可以查看詳細的目錄結(jié)構(gòu)
如果沒有tree命令先執(zhí)行:yum insall tree進行安裝
[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:二進制文件,啟動、停止服務(wù)
重點目錄文件:conf/nginx.conf-------nginx配置文件
4、Nginx常用命令
1、查看版本號
[root@localhost nginx]# cd sbin/[root@localhost sbin]# ./nginx -vnginx version: nginx/1.22.0
2、檢查配置文件的正確性
[root@localhost sbin]# ./nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
3、啟動nginx服務(wù)器
[root@localhost sbin]# ./nginx[root@localhost sbin]# ps -ef | grep nginxroot 34344 1 0 07:34 ?00:00:00 nginx: master process ./nginxnobody 34346 34344 0 07:34 ?00:00:00 nginx: worker processroot 34727 1823 0 07:34 pts/0 00:00:00 grep --color=auto nginx
訪問nginx服務(wù)器
通過宿主機的ip地址連接即可,默認是80端口,如果連接不上請檢查防火墻狀態(tài)和開放的端口
4、停止nginx訪問
./nginx -s stop
5、重新加載配置文件
如果修改過配置文件,需要重新加載才能使其生效【在啟動狀態(tài)也是可以重新加載】
./nginx -s reload
6、配置環(huá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)錯誤就使其他的命令不起效了,可以自行下面的代碼進行修復(fù)然后再編輯環(huán)境變量
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
環(huán)境變量如果設(shè)置成功在哪一個路徑都可以直接使用【nginx】命令進行執(zhí)行,不需要指定路徑了
5、nginx配置文件
文件位置:conf/nginx.conf整體分為三部分:
1、全局塊:和Nginx運行相關(guān)的全局配置
2、events塊:和網(wǎng)絡(luò)連接相關(guān)的配置
3、http塊:代理、緩存、日志記錄、虛擬主機配置
http全局塊
server塊:
- Server全局快
- location塊
注意:http塊中可以配置多個server塊,每一個server塊中可以配置多個location塊
# 全局塊worker_processes 1;# events塊:和網(wǎng)絡(luò)連接相關(guān)的配置events { worker_connections 1024;}# http塊:代理、緩存、日志記錄、虛擬主機配置http { # 全局快 include mime.types; default_type application/octet-stream; sendfileon; keepalive_timeout 65; # server塊 server { # server全局快listen 80; # 監(jiān)聽的端口server_name localhost; # 服務(wù)器名稱# location塊,匹配客戶端請求urllocation / { root html; # 根目錄 index index.html index.htm; # 默認的首頁}#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ā)送一個
請求并指定目標(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交清求并將獲得的內(nèi)容返回給客戶端。
正向代理的典型用途是為在防火墻內(nèi)的局域網(wǎng)客戶端提供訪問Internet的途徑。
正向代理一般是在客戶端設(shè)置代理服務(wù)器,通過代理服務(wù)器轉(zhuǎn)發(fā)請求,最終訪問到目標服務(wù)器。
反向代理
反向代理服務(wù)器位于用戶與目標服務(wù)器之間,但是對于用戶而言,反向代理服務(wù)器就相當(dāng)于目標服務(wù)器,即用戶直接訪問反向代理服務(wù)器就可以獲得目標服務(wù)器的資源,反向代理服務(wù)器負責(zé)將請求轉(zhuǎn)發(fā)給目標服務(wù)器。
用戶不需要知道目標服務(wù)器的地址,也無須在用戶端作任何設(shè)定。
反向代理配置
這里配置的部署https協(xié)議的,如果需要轉(zhuǎn)發(fā)https的需要進行配置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、負載均衡
早期的網(wǎng)站流量和業(yè)務(wù)功能都比較簡單,單臺服務(wù)器就可以滿足基本需求,但是隨著互聯(lián)網(wǎng)的發(fā)展,業(yè)務(wù)流量越來越
大并且業(yè)務(wù)邏輯也越來越復(fù)雜,單臺服務(wù)器的性能及單點故障問題就凸顯出來了,因此需要多臺服務(wù)器組成應(yīng)用集群
進行性能的水平擴展以及避免單點故障出現(xiàn)。
●應(yīng)用集群:將同一應(yīng)用部署到多臺機器上,組成應(yīng)用集群,接收負載均衡器分發(fā)的請求,進行業(yè)務(wù)處理并返回響應(yīng)
數(shù)據(jù)
●負載均衡器:將用戶請求根據(jù)對應(yīng)的負載均衡算法分發(fā)到應(yīng)用集群中的一臺服務(wù)器進行處理
負載均衡配置
# 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;}
負載均衡權(quán)重設(shè)置在upstream指令里面的IP地址后面添加即可,如下
# 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)文章希望大家以后多多支持!
