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

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服務器內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: