日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

SpringBoot前端后端分離之Nginx服務(wù)器下載安裝過程_nginx

作者:小鐘要學(xué)習(xí)!!! ? 更新時間: 2022-10-02 編程語言

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)易、騰訊、淘寶等。

官方地址:https://nginx.org/en/

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;
}

原文鏈接:https://blog.csdn.net/baidu_39378193/article/details/126205510

欄目分類
最近更新