首頁 > 軟體

SpringBoot前端後端分離之Nginx伺服器下載安裝過程

2022-08-08 14:03:43

SpringBoot前端後端分離之Nginx伺服器

1、Nginx介紹

Nginx是一款輕量級的Web伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。其特點是佔有記憶體少,並
發能力強,事實上nginx的並行能力在同型別的網頁伺服器中表現較好,中國大陸使用nginx的網站有:百度、京東、
新浪、網易、騰訊、淘寶等。

官方地址: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、指定安裝位置

先建立資料夾再進行安裝

mkdir -p /opt/nginx
./configure --prefix=/opt/nginx

6、編譯並安裝

make && make install

3、Nginx目錄結構通過【tree】命令可以檢視詳細的目錄結構

如果沒有tree命令先執行: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:靜態資源頁面目錄
3、lcgs:紀錄檔目錄
4、sbin:二進位制檔案,啟動、停止服務

重點目錄檔案: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伺服器

[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伺服器

通過宿主機的ip地址連線即可,預設是80埠,如果連線不上請檢查防火牆狀態和開放的埠

4、停止nginx存取

./nginx -s stop

5、重新載入組態檔

如果修改過組態檔,需要重新載入才能使其生效【在啟動狀態也是可以重新載入】

./nginx -s reload

6、設定環境遍歷
進入環境遍歷

vim /etc/profile

設定PATH路徑
根據自己的安裝目錄

PATH=/usr/local/nginx/sbin:$PATH

退出環境變數編輯模式
在插入模式中按ESC鍵再執行下面的命令

:wq

重新整理環境變數

source /etc/profile

重點:如果編輯環境變數出現錯誤就使其他的命令不起效了,可以自行下面的程式碼進行修復然後再編輯環境變數

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

環境變數如果設定成功在哪一個路徑都可以直接使用【nginx】命令進行執行,不需要指定路徑了

5、nginx組態檔

檔案位置:conf/nginx.conf整體分為三部分:
1、全域性塊:和Nginx執行相關的全域性設定
2、events塊:和網路連線相關的設定
3、http塊:代理、快取、紀錄檔記錄、虛擬主機設定
http全域性塊
server塊:

  • Server全域性快
  • location塊

注意:http塊中可以設定多個server塊,每一個server塊中可以設定多個location塊

# 全域性塊
worker_processes  1;
# events塊:和網路連線相關的設定
events {
    worker_connections  1024;
}
# http塊:代理、快取、紀錄檔記錄、虛擬主機設定
http {
	# 全域性快 
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    # server塊
    server {
    	# server全域性快
        listen       80; # 監聽的埠
        server_name  localhost; # 伺服器名稱
        # location塊,匹配使用者端請求url
        location / { 
            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具體應用

6.1、部署靜態資源

Ngnx可以作為靜態Wb伺服器來部署靜態資源。靜態資源指在伺服器端真實存在並且能夠直接展示的一些檔案,比如
常見的html頁面、css檔案、js檔案、圖片、視訊等資源。
相對於Tomcat,.Nginx處理靜態資源的能力更加高效,所以在生產環境下,一般都會將靜態資源部署到Nginx中。
將靜態資源部署到Nginx非常簡單,只需要將檔案復到Nginx安裝目錄下的html目錄中即可。

6.2、反向代理 正向代理

是一個位於使用者端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,使用者端向代理傳送一個
請求並指定目標(原始伺服器),然後代理向原始伺服器轉交清求並將獲得的內容返回給使用者端。
正向代理的典型用途是為在防火牆內的區域網使用者端提供存取Internet的途徑。
正向代理一般是在使用者端設定代理伺服器,通過代理伺服器轉發請求,最終存取到目標伺服器。

反向代理

反向代理伺服器位於使用者與目標伺服器之間,但是對於使用者而言,反向代理伺服器就相當於目標伺服器,即使用者直接存取反向代理伺服器就可以獲得目標伺服器的資源,反向代理伺服器負責將請求轉發給目標伺服器。
使用者不需要知道目標伺服器的地址,也無須在使用者端作任何設定。

反向代理設定

這裡設定的部署https協定的,如果需要轉發https的需要進行設定ssl證書

server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass https://xxx.xxx.xxx:xxxx; # 反向代理設定,將請求轉發到指定的服務
        }
}

6.3、負載均衡

早期的網站流量和業務功能都比較簡單,單臺伺服器就可以滿足基本需求,但是隨著網際網路的發展,業務流量越來越
大並且業務邏輯也越來越複雜,單臺伺服器的效能及單點故障問題就凸顯出來了,因此需要多臺伺服器組成應用叢集
進行效能的水平擴充套件以及避免單點故障出現。
●應用叢集:將同一應用部署到多臺機器上,組成應用叢集,接收負載均衡器分發的請求,進行業務處理並返回響應
資料
●負載均衡器:將使用者請求根據對應的負載均衡演演算法分發到應用叢集中的一臺伺服器進行處理

負載均衡設定

# upstream指令可以定義一組伺服器
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; # 反向代理設定,將請求轉發到指定的服務upstream指令定義的IP地址
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
}

負載均衡權重設定
在upstream指令裡面的IP地址後面新增即可,如下

名稱說明
輪詢預設方式
weight權重方式
ip_hash依據ip分配方式
least_conn依據最少連線方式
fair依據響應時間方式
url_hash依據url分配方式
# upstream指令可以定義一組伺服器
upstream targetserver{
   server 120.79.192.231 weight=5;
   #server xxx.xxx.xxx.xxx:xxxx weight=1;
}

到此這篇關於SpringBoot前端後端分離之Nginx伺服器的文章就介紹到這了,更多相關SpringBoot Nginx伺服器內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com