99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網易首頁 > 網易號 > 正文 申請入駐

Nginx+keepalived 實現高可用,防盜鏈及動靜分離配置,寫得太好了!

0
分享至

一、Nginx Rewrite 規則 1. Nginx rewrite規則

Rewrite規則含義就是某個URL重寫成特定的URL(類似于Redirect),從某種意義上說為了美觀或者對搜索引擎友好,提高收錄量及排名等。

語法:

rewrite [flag]關鍵字 || 正則 || 替代內容 || flag標記

Rewrite規則的flag標記主要有以下幾種:

  • last :相當于Apache里的(L)標記,表示完成rewrite;

  • break:本條規則匹配完成后,終止匹配,不再匹配后面的規則

  • redirect:返回302臨時重定向,瀏覽器地址會顯示跳轉后的URL地址

  • permanent:返回301永久重定向,瀏覽器地址欄會顯示跳轉后的URL地址

last和break用來實現URL重寫,瀏覽器地址欄URL地址不變

2. Nginx rewrite例子

a) 例如用戶訪問www.dbspread.com,想直接跳轉到網站下面的某個頁面,www.dbspread.com/new.index.html如何來實現呢?我們可以使用Nginx Rewrite 來實現這個需求,具體如下:在server中加入如下語句即可:

server {
listen 80; #監聽80端口
server_name www.dbspread.com; #域名
#rewrite規則
index index.jsp index.html index.htm;
root /usr/local/nginx/html; #定義服務器的默認網站根目錄位置

#監聽完成以后通過斜桿(/)攔截請求轉發到后端的tomcat服務器
location /
{
#如果后端的服務器返回502、504、執行超時等錯誤,自動將請求轉發到upstream負載均衡池中的另一臺服務器,實現故障轉移。
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_set_header Host $host; #獲取客戶端的主機名存到變量Host里面,從而讓tomcat取到客戶端機器的信息
proxy_set_header X-Real-IP $remote_addr; #獲取客戶端的主機名存到變量X-Real-IP里面,從而讓tomcat取到客戶端機器的信息
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
rewrite ^/$ http://www.dbspread.com/new.index.html permanent;
proxy_pass http://web1; #跳轉到對應的應用web1
}
}

效果圖如下:


rewrite ^/$ http://www.dbspread.com/new.index.html permanent;

對應如下語法:

rewrite [flag];關鍵字 || 正則 || 替代內容 || flag標記

正則表達式說明:

*代表前面0或更多個字符 +代表前面1或更多個字符 ?代表前面0或1個字符 ^代表字符串的開始位置 $代表字符串結束的位置 。為通配符,代表任何字符

b)例如多個域名跳轉到同一個域名,nginx rewrite規則寫法如下:

server {
listen 80; #監聽80端口
server_name www.dbspread.com; #域名
#rewrite規則
index index.jsp index.html index.htm;
root /usr/local/nginx/html; #定義服務器的默認網站根目錄位置

if ($host != 'www.dbspread.com' ){
rewrite ^/(.*)$ http://www.dbspread.com/$1 permanent;
}
}

格式:

rewrite [flag];關鍵字 || 正則 || 替代內容 || flag標記

說明:

  • rewrite為固定關鍵字,表示開始進行rewrite匹配規則、

  • regex部分是 ^/(.*) ,這是一個正則表達式,匹配完整的域名和后面的路徑地址

  • replacement部分是 http://www.dbspread.com/$1$1是取自regex部分( )里的內容。匹配成功后跳轉到的URL。

  • flag部分 permanent表示永久301重定向標記,即跳轉到新的 http://www.dbspread.com/$1 地址上

二、Nginx 防盜鏈 1. 什么是防盜鏈

比如http://www.dbspread.com/download/av123.rmvb 這個視頻下載地址被其他網站引用,比如在www.test.com的index.html引用download/av123.rmvb就叫盜鏈,我們要禁止這種引用就叫做防盜鏈

2. 怎么實現防盜鏈

在nginx的nginx.conf的server里面配置如下代碼

server {
listen 80;
server_name www.dbspread.com *.dbspread.com;
location ~* \.(rmvb|jpg|png|swf|flv)$ { #rmvb|jpg|png|swf|flv表示對rmvb|jpg|png|swf|flv后綴的文件實行防盜鏈
valid_referers none blocked www.dbspread.com; #表示對www.dbspread.com此域名開通白名單,比如在www.test.com的index.html引用download/av123.rmvb,無效
root html/b;
if ($invalid_referer) { #如果請求不是從www.dbspread.com白名單發出來的請求,直接重定向到403.html這個頁面或者返回403
#rewrite ^/ http://www.dbspread.com/403.html;
return 403;
}
}

}
三、Nginx 動靜分離 1. 動靜分離是什么

Nginx動靜分離是讓動態網站里的動態網頁根據一定規則把不變的資源和經常變的資源區分開來,動靜資源做好了拆分以后,我們就可以根據靜態資源的特點將其做緩存操作,這就是網站靜態化處理的核心思路。

2. 動靜分離原理圖
3. Nginx動靜分離應該注意的地方


  • WEB項目開發時要注意,將靜態資源盡量放在一個static文件夾

  • 將static靜態資源文件夾放到Nginx可以取到的位置

  • 頁面要建立全局變量路徑,方便修改路徑

  • 修改nginx.conf的location, 匹配靜態資源請求

4. Nginx動靜分離步驟

4.1 準備一個靜態資源button.css

body {
margin: 10px 20px;
text-align: center;
font-family: Arial, sans-serif;
background-color: red;
}

4.2 在/var/local下新建一個static文件夾用來存放靜態資源button.css

4.3 在tomcat-8080/webapps/ROOT下的index.html里面引入button.css

"stylesheet" type="text/css" />
"utf-8">
"X-UA-Compatible" content="IE=edge,chrome=1">
"renderer" content="webkit">
"viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
test

歡迎來到8080端口tomcat

4.4 在nginx的nginx.conf中server節點新增靜態資源分離的配置

server {
listen 80; #監聽80端口
server_name www.dbspread.com; #域名
#rewrite規則
index index.jsp index.html index.htm;
root /usr/local/nginx/html; #定義服務器的默認網站根目錄位置
#重定向
if ($host != 'www.dbspread.com' ){
rewrite ^/(.*)$ http://www.dbspread.com/$1 permanent;
}

#防盜鏈
location ~* \.(rmvb|jpg|png|swf|flv)$ { #rmvb|jpg|png|swf|flv表示對rmvb|jpg|png|swf|flv后綴的文件實行防盜鏈
valid_referers none blocked www.dbspread.com; #表示對www.dbspread.com此域名開通白名單,比如在www.test.com的index.html引用download/av123.rmvb,無效
root html/b;
if ($invalid_referer) { #如果請求不是從www.dbspread.com白名單發出來的請求,直接重定向到403.html這個頁面或者返回403
#rewrite ^/ http://www.dbspread.com/403.html;
return 403;
}
}

#監聽完成以后通過斜桿(/)攔截請求轉發到后端的tomcat服務器
location /
{
#如果后端的服務器返回502、504、執行超時等錯誤,自動將請求轉發到upstream負載均衡池中的另一臺服務器,實現故障轉移。
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_set_header Host $host; #獲取客戶端的主機名存到變量Host里面,從而讓tomcat取到客戶端機器的信息
proxy_set_header X-Real-IP $remote_addr; #獲取客戶端的主機名存到變量X-Real-IP里面,從而讓tomcat取到客戶端機器的信息
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#rewrite ^/$ http://www.dbspread.com/new.index.html permanent;#用戶訪問www.dbspread.com,想直接跳轉到網站下面的某個頁面:www.dbspread.com/new.index.html
proxy_pass http://web1; #跳轉到對應的應用web1
}

# location ~ .*\.(php|jsp|cgi|shtml)?$ #動態分離 ~匹配 以.*結尾(以PHP JSP結尾走這段)
# {
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_pass http://jvm_web2;
# }

#靜態分離 ~匹配 以.*結尾(以html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css結尾走這段),當然不是越久越好,如果有10000個用戶在線,都保存幾個月,系統托跨
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
{
root /var/local/static; #靜態資源存放在nginx的安裝機器上
#proxy_pass http://www.static.com; #靜態資源也可存放在遠程服務器上
expires 30d; #30天之內只要訪問過一次就從緩存拿
}

#日志級別有[debug|info|notice|warn|error|crit] error_log 級別分為 debug, info, notice, warn, error, crit 默認為crit, 生產環境用error
#crit 記錄的日志最少,而debug記錄的日志最多
access_log /usr/local/logs/web2/access.log main;
error_log /usr/local/logs/web2/error.log crit;

}

4.5 訪問頁面查看效果


四、Nginx+keepalived 實現高可用 1. keepalived是什么

Keepalived軟件起初是專為LVS負載均衡軟件設計的,用來管理并監控LVS集群系統中各個服務節點的狀態,后來又加入了可以實現高可用的VRRP (Virtual Router Redundancy Protocol ,虛擬路由器冗余協議)功能。

因此,Keepalived除了能夠管理LVS軟件外,還可以作為其他服務(例如:Nginx、Haproxy、MySQL等)的高可用解決方案軟件。

2. keepalived主要功能

  • 管理LVS負載均衡軟件

  • 實現LVS集群節點的健康檢查

  • 作為系統網絡服務的高可用性(failover)

3. keepalived故障轉移

Keepalived高可用服務之間的故障切換轉移,是通過 VRRP 來實現的。

在 Keepalived服務正常工作時,主 Master節點會不斷地向備節點發送(多播的方式)心跳消息,用以告訴備Backup節點自己還活著,當主 Master節點發生故障時,就無法發送心跳消息,備節點也就因此無法繼續檢測到來自主 Master節點的心跳了,于是調用自身的接管程序,接管主Master節點的 IP資源及服務。

而當主 Master節點恢復時,備Backup節點又會釋放主節點故障時自身接管的IP資源及服務,恢復到原來的備用角色。

說明:keepalived的主從切換和redis的主從切換是不一樣的,keepalived的主節點掛了以后,從節點變為主節點,之前的主節點恢復以后繼續做主節點。redis的主節點掛了以后,重新恢復以后變為從節點
4. keepalived高可用架構示意圖

說明:

  • 虛擬ip(VIP):192.168.152.200,對外提供服務的ip,也可稱作浮動ip

  • 192.168.152.130:nginx + keepalived master 主

  • 192.168.152.129:nginx + keepalived backup 從

  • 192.168.152.129:tomcat-8080

  • 192.168.152.129:tomcat-8081

5. keepalived安裝

環境準備:

centos6、jdk
  • 虛擬ip(VIP):192.168.152.200,對外提供服務的ip,也可稱作浮動ip

  • 192.168.152.130:nginx + keepalived master 主

  • 192.168.152.129:nginx + keepalived backup 從

  • 192.168.152.129:tomcat-8080

  • 192.168.152.129:tomcat-8081

5.1 安裝keepalived的步驟:

注:192.168.152.129(keepalived從節點) 與 192.168.152.130(keepalived主節點)先安裝好nginx + keepalived

下載壓縮包:

wget www.keepalived.org/software/keepalived-1.3.5.tar.gz

解壓縮:

tar -zxvf keepalived-1.3.5.tar.gz

進入解壓縮以后的文件目錄:

cd keepalived-1.3.5

編譯安裝:

./configure --prefix=/usr/local/keepalived

系統提示警告 *** WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS. yum -y install libnl libnl-devel

再次執行

./configure --prefix=/usr/local/keepalived

系統提示錯誤 configure: error: libnfnetlink headers missing yum install -y libnfnetlink-devel

再次執行

./configure --prefix=/usr/local/keepalived

make && make install

到此keepalived安裝完成,但是接下來還有最關鍵的一步,如果這一步沒有做后面啟動keepalived的時候會報找不到配置文件的錯誤

Configuration file '/etc/keepalived/keepalived.conf' is not a regular non-executable file

安裝完成后,進入安裝目錄的etc目錄下,將keepalived相應的配置文件拷貝到系統相應的目錄當中。keepalived啟動時會從/etc/keepalived目錄下查找keepalived.conf配置文件

mkdir /etc/keepalived

cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived

5.2 修改keepalived主節點192.168.152.130的/etc/keepalived/keepalived.conf配置文件

#全局配置
global_defs {
notification_email {
leeSmall@qq.com #設置報警郵件地址,可以設置多個,每行一個。需要開啟sendmail服務。
}
notification_email_from sns-lvs@gmail.com
smtp_server smtp.hysec.com #設置SMTP Server地址
smtp_connection_timeout 30 #設置SMTP Server的超時時間
router_id nginx_master #表示運行Keepalived服務器的一個標識,唯一的
}
#檢測腳本
vrrp_script chk_http_port {
script "/usr/local/src/check_nginx_pid.sh" #心跳執行的腳本,檢測nginx是否啟動
interval 2 #(檢測腳本執行的間隔,單位是秒)
weight 2 #權重
}
#vrrp 實例定義部分
vrrp_instance VI_1 {
state MASTER # 指定keepalived的角色,MASTER為主,BACKUP為備
interface eth0 # 當前進行vrrp通訊的網絡接口卡(當前centos的網卡) 用ifconfig查看你具體的網卡
virtual_router_id 66 # 虛擬路由編號,主從要一直
priority 100 # 優先級,數值越大,獲取處理請求的優先級越高
advert_int 1 # 檢查間隔,默認為1s(vrrp組播周期秒數)
#授權訪問
authentication {
auth_type PASS #設置驗證類型和密碼,MASTER和BACKUP必須使用相同的密碼才能正常通信
auth_pass 1111
}
track_script {
chk_http_port #(調用檢測腳本)
}
virtual_ipaddress {
192.168.152.200 # 定義虛擬ip(VIP),可多設,每行一個
}
}

5.3 修改keepalived從節點192.168.152.129的/etc/keepalived/keepalived.conf配置文件

#全局配置
global_defs {
notification_email {
leeSmall@qq.com #設置報警郵件地址,可以設置多個,每行一個。需要開啟sendmail服務。
}
notification_email_from sns-lvs@gmail.com
smtp_server smtp.hysec.com #設置SMTP Server地址
smtp_connection_timeout 30 #設置SMTP Server的超時時間
router_id nginx_backup # 設置nginx backup的id,在一個網絡應該是唯一的
}
#檢測腳本
vrrp_script chk_http_port {
script "/usr/local/src/check_nginx_pid.sh" #心跳執行的腳本,檢測nginx是否啟動
interval 2 #(檢測腳本執行的間隔)
weight 2 #權重
}
#vrrp 實例定義部分
vrrp_instance VI_1 {
state BACKUP # 指定keepalived的角色,MASTER為主,BACKUP為備
interface eth0 # 當前進行vrrp通訊的網絡接口卡(當前centos的網卡) 用ifconfig查看你具體的網卡
virtual_router_id 66 # 虛擬路由編號,主從要一直
priority 99 # 優先級,數值越大,獲取處理請求的優先級越高
advert_int 1 # 檢查間隔,默認為1s(vrrp組播周期秒數)
#授權訪問
authentication {
auth_type PASS #設置驗證類型和密碼,MASTER和BACKUP必須使用相同的密碼才能正常通信
auth_pass 1111
}
track_script {
chk_http_port #(調用檢測腳本)
}
virtual_ipaddress {
192.168.152.200 # 定義虛擬ip(VIP),可多設,每行一個
}
}

5.4 檢查nginx是否啟動的shell腳本

/usr/local/src/check_nginx_pid.sh
#!/bin/bash
#檢測nginx是否啟動了
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then #如果nginx沒有啟動就啟動nginx
/usr/local/nginx/sbin/nginx #重啟nginx
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then #nginx重啟失敗,則停掉keepalived服務,進行VIP轉移
killall keepalived
fi
fi

5.5 192.168.152.130(keepalived主節點)和 192.168.152.129(keepalived從節點)的nginx的配置文件nginx.conf

user root root; #使用什么用戶啟動NGINX 在運行時使用哪個用戶哪個組
worker_processes 4; #啟動進程數,一般是1或8個,根據你的電腦CPU數,一般8個
worker_cpu_affinity 00000001 00000010 00000100 00001000; #CPU邏輯數——把每個進程分別綁在CPU上面,為每個進程分配一個CPU
#pid /usr/local/nginx/logs/nginx.pid
worker_rlimit_nofile 102400; #一個進程打開的最大文件數目,與NGINX并發連接有關系

#工作模式及連接數上限
events
{
use epoll; #多路復用IO 基于LINUX2.6以上內核,可以大大提高NGINX的性能 uname -a查看內核版本號
worker_connections 102400; #單個worker process最大連接數,其中NGINX最大連接數=連接數*進程數,一般1GB內存的機器上可以打開的最大數大約是10萬左右
multi_accept on; #盡可能多的接受請求,默認是關閉狀態
}

#處理http請求的一個應用配置段
http
{
#引用mime.types,這個類型定義了很多,當web服務器收到靜態的資源文件請求時,依據請求文件的后綴名在服務器的MIME配置文件中找到對應的MIME #Type,根據MIMETYPE設置并response響應類型(Content-type)
include mime.types;
default_type application/octet-stream; #定義的數據流,有的時候默認類型可以指定為text,這跟我們的網頁發布還是資源下載是有關系的
fastcgi_intercept_errors on; #表示接收fastcgi輸出的http 1.0 response code
charset utf-8;
server_names_hash_bucket_size 128; #保存服務器名字的hash表
#用來緩存請求頭信息的,容量4K,如果header頭信息請求超過了,nginx會直接返回400錯誤,先根據client_header_buffer_size配置的值分配一個buffer,如果##分配的buffer無法容納request_line/request_header,那么就會##再次根據large_client_header_buffers配置的參數分配large_buffer,如果large_buffer還是無#法容納,那么就會返回414(處理request_line)/400(處理request_header)錯誤。
client_header_buffer_size 4k;
large_client_header_buffers 4 32k;
client_max_body_size 300m; #允許客戶端請求的最大單文件字節數 上傳文件時根據需求設置這個參數
#指定NGINX是否調用這個函數來輸出文件,對于普通的文件我們必須設置為ON,如果NGINX專門做為一個下載端的話可以關掉,好處是降低磁盤與網絡的IO處理數及#系統的UPTIME
sendfile on;
#autoindex on;開啟目錄列表訪問,適合下載服務器
tcp_nopush on; #防止網絡阻塞
#非常重要,根據實際情況設置值,超時時間,客戶端到服務端的連接持續有效時間,60秒內可避免重新建立連接,時間也不能設太長,太長的話,若請求數10000##,都占用連接會把服務托死
keepalive_timeout 60;
tcp_nodelay on; #提高數據的實時響應性
client_body_buffer_size 512k; #緩沖區代理緩沖用戶端請求的最大字節數(請求多)

proxy_connect_timeout 5; #nginx跟后端服務器連接超時時間(代理連接超時)
proxy_read_timeout 60; #連接成功后,后端服務器響應時間(代理接收超時)
proxy_send_timeout 5; #后端服務器數據回傳時間(代理發送超時)
proxy_buffer_size 16k; #設置代理服務器(nginx)保存用戶頭信息的緩沖區大小
proxy_buffers 4 64k; #proxy_buffers緩沖區,網頁平均在32k以下的話,這樣設置
proxy_busy_buffers_size 128k; #高負荷下緩沖大小
proxy_temp_file_write_size 128k; #設定緩存文件夾大小,大于這個值,將從upstream服務器傳

gzip on; #NGINX可以壓縮靜態資源,比如我的靜態資源有10M,壓縮后只有2M,那么瀏覽器下載的就少了
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2; #壓縮級別大小,最小1,最大9.值越小,壓縮后比例越小,CPU處理更快,為1時,原10M壓縮完后8M,但設為9時,壓縮完可能只有2M了。一般設置為2
gzip_types text/plain application/x-javascript text/css application/xml; #壓縮類型:text,js css xml 都會被壓縮
gzip_vary on; #作用是在http響應中增加一行目的是改變反向代理服務器的緩存策略

#日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' #ip 遠程用戶 當地時間 請求URL
'$status $body_bytes_sent "$http_referer" ' #狀態 發送的大小 響應的頭
'"$http_user_agent" $request_time'; #客戶端使用的瀏覽器 頁面響應的時間

#動態轉發
upstream web1 {
#每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。配置了ip_hash就沒有負載均衡的效果了,每次訪問的都是同一個tomcat
#ip_hash;
#轉發的后端的tomcat服務器,weight表示轉發的權重,越大轉發的次數越多,機器性能不一樣配置的weight值不一樣
server 192.168.152.129:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.152.129:8081 weight=1 max_fails=2 fail_timeout=30s;
}
upstream web2 {
server 192.168.152.129:8090 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.152.129:8091 weight=1 max_fails=2 fail_timeout=30s;
}

server {
listen 80; #監聽80端口
server_name www.dbspread.com; #域名
#rewrite規則
index index.jsp index.html index.htm;
root /usr/local/nginx/html; #定義服務器的默認網站根目錄位置
#重定向
if ($host != 'www.dbspread.com' ){
rewrite ^/(.*)$ http://www.dbspread.com/$1 permanent;
}

#防盜鏈
location ~* \.(rmvb|jpg|png|swf|flv)$ { #rmvb|jpg|png|swf|flv表示對rmvb|jpg|png|swf|flv后綴的文件實行防盜鏈
valid_referers none blocked www.dbspread.com; #表示對www.dbspread.com此域名開通白名單,比如在www.test.com的index.html引用download/av123.rmvb,無效
root html/b;
if ($invalid_referer) { #如果請求不是從www.dbspread.com白名單發出來的請求,直接重定向到403.html這個頁面或者返回403
#rewrite ^/ http://www.dbspread.com/403.html;
return 403;
}
}

#監聽完成以后通過斜桿(/)攔截請求轉發到后端的tomcat服務器
location /
{
#如果后端的服務器返回502、504、執行超時等錯誤,自動將請求轉發到upstream負載均衡池中的另一臺服務器,實現故障轉移。
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_set_header Host $host; #獲取客戶端的主機名存到變量Host里面,從而讓tomcat取到客戶端機器的信息
proxy_set_header X-Real-IP $remote_addr; #獲取客戶端的主機名存到變量X-Real-IP里面,從而讓tomcat取到客戶端機器的信息
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#rewrite ^/$ http://www.dbspread.com/new.index.html permanent;#用戶訪問www.dbspread.com,想直接跳轉到網站下面的某個頁面:www.dbspread.com/new.index.html
proxy_pass http://web1; #跳轉到對應的應用web1
}

# location ~ .*\.(php|jsp|cgi|shtml)?$ #動態分離 ~匹配 以.*結尾(以PHP JSP結尾走這段)
# {
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_pass http://jvm_web2;
# }

#靜態分離 ~匹配 以.*結尾(以html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css結尾走這段),當然不是越久越好,如果有10000個用戶在線,都保存幾個月,系統托跨
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
{
root /var/local/static; #靜態資源存放在nginx的安裝機器上
#proxy_pass http://www.static.com; #靜態資源也可存放在遠程服務器上
expires 30d;
}

#日志級別有[debug|info|notice|warn|error|crit] error_log 級別分為 debug, info, notice, warn, error, crit 默認為crit, 生產環境用error
#crit 記錄的日志最少,而debug記錄的日志最多
access_log /usr/local/logs/web2/access.log main;
error_log /usr/local/logs/web2/error.log crit;

}

}

到這一步環境準備已完成,相關的配置也修改完成,下面我們來查看效果

5.6 配置hosts域名映射

192.168.152.200 www.dbspread.com

注意:這里192.168.152.200 是keepalived里面virtual_ipaddress配置的虛擬ip
virtual_ipaddress {
192.168.152.200 # 定義虛擬ip(VIP),可多設,每行一個
}

到這一步環境準備已完成,相關的配置也修改完成,下面我們來查看效果

5.7 分別啟動192.168.152.129的兩個tomcat

5.8 分別啟動192.168.152.130(keepalived主節點)和 192.168.152.129(keepalived從節點)的keepalived的

啟動命令:

/usr/local/keepalived/sbin/keepalived

可以看到keepalived和nginx都啟動了

在瀏覽器輸入www.dpspread.com域名訪問


5.9 下面我們停掉主節點192.168.152.130的keepalived和nginx


可以看到從節點變為主節點了


在瀏覽器輸入地址www.dpspread.com訪問,可以看到訪問正常


5.10 下面我們重新啟動主節點192.168.152.130


可以看到主節點重新啟動以后變為主節點了


之前變為主節點的從節點又變回從節點了


到此keepalived+nginx的高可用完美完成,可以安安心心的睡個好覺了! Victory!!!!

作者:小不點啊

來源:cnblogs.com/leeSmall/p/9356535.html

END

2021年Java原創面試題庫連載中

更多內容,點擊上方名片查看

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
75歲港星宣布征婚,自曝37歲兒子內地求學失敗,回家躺平需要他養

75歲港星宣布征婚,自曝37歲兒子內地求學失敗,回家躺平需要他養

探源歷史
2025-07-21 07:29:49
港媒爆料趙雅芝日子挺苦的,被3個兒子長期啃老,71歲還不能老!

港媒爆料趙雅芝日子挺苦的,被3個兒子長期啃老,71歲還不能老!

木子愛娛樂大號
2025-07-05 09:37:33
又現跨省聯動:汕尾市長調往揚州,揚州市長調往寧德

又現跨省聯動:汕尾市長調往揚州,揚州市長調往寧德

觀察者網
2025-07-23 14:39:26
新華社快訊:“十四五”期間,全國公安機關共破獲電信網絡詐騙案件173.9萬起

新華社快訊:“十四五”期間,全國公安機關共破獲電信網絡詐騙案件173.9萬起

新華社
2025-07-23 15:27:09
杭州偷水男“社會性死亡”:正臉曝光,工作毀了,連公司都被牽連

杭州偷水男“社會性死亡”:正臉曝光,工作毀了,連公司都被牽連

嘆知
2025-07-22 15:45:43
汪峰組織兩家人日本度假,森林北9歲女兒首曝光,長得比醒醒漂亮

汪峰組織兩家人日本度假,森林北9歲女兒首曝光,長得比醒醒漂亮

瓜農娟姐
2025-07-23 18:29:01
公職人員下班后兼職送三小時外賣:“像打游戲做任務”一樣快樂|封面頭條

公職人員下班后兼職送三小時外賣:“像打游戲做任務”一樣快樂|封面頭條

封面新聞
2025-07-22 15:48:22
或許遺憾才是人生的常態:C羅本不會離開皇馬,更不應在尤文虛度

或許遺憾才是人生的常態:C羅本不會離開皇馬,更不應在尤文虛度

K唐伯虎
2025-07-21 07:19:39
470000人集體大逃亡!以色列萬萬沒想到歷史會又一次倒置重演

470000人集體大逃亡!以色列萬萬沒想到歷史會又一次倒置重演

南方健哥
2025-07-23 18:37:44
山西、陜西兩地2025年養老金調整都漲2%嗎?養老金4000元漲80元?

山西、陜西兩地2025年養老金調整都漲2%嗎?養老金4000元漲80元?

文雅筆墨
2025-07-23 17:09:26
酷玩樂隊演唱會“出軌”的女方:來自百億老錢家族,捐贈大樓給哈佛大學

酷玩樂隊演唱會“出軌”的女方:來自百億老錢家族,捐贈大樓給哈佛大學

封面新聞
2025-07-22 19:48:45
重慶雙胞胎兄弟分別被清華、北大錄取

重慶雙胞胎兄弟分別被清華、北大錄取

封面新聞
2025-07-23 14:55:04
“絕經和出道同時來?”上海街頭驚現她的巨幅海報!網友:笑著笑著就哭了

“絕經和出道同時來?”上海街頭驚現她的巨幅海報!網友:笑著笑著就哭了

環球網資訊
2025-07-23 10:48:19
遂寧市紀委回應“公職人員兼職送外賣”:已了解該情況

遂寧市紀委回應“公職人員兼職送外賣”:已了解該情況

極目新聞
2025-07-23 11:17:30
郭麒麟,正式開除德云社。

郭麒麟,正式開除德云社。

會說話的舌
2025-07-18 13:40:49
一聲巨響!俄羅斯轟炸波蘭企業,波蘭頭上懸了3年的劍終于落地了

一聲巨響!俄羅斯轟炸波蘭企業,波蘭頭上懸了3年的劍終于落地了

文雅筆墨
2025-07-21 09:10:43
大火燒毀獲賠償,重建2000平洛杉磯豪宅,易建聯要花多少錢?

大火燒毀獲賠償,重建2000平洛杉磯豪宅,易建聯要花多少錢?

東球弟
2025-07-23 14:12:13
小姑子在嫂子訂婚宴上搶走三金,果斷退婚:不敢嫁“強盜”

小姑子在嫂子訂婚宴上搶走三金,果斷退婚:不敢嫁“強盜”

惟來
2025-07-22 18:20:02
足協杯-申花vs河南首發:4外援PK5外援 吳曦、蔣圣龍、王上源先發

足協杯-申花vs河南首發:4外援PK5外援 吳曦、蔣圣龍、王上源先發

直播吧
2025-07-23 17:36:13
三伏天是男人進補的黃金期,多吃3道“扶陽菜”,精力充沛身體壯

三伏天是男人進補的黃金期,多吃3道“扶陽菜”,精力充沛身體壯

鬼菜生活
2025-07-23 17:38:39
2025-07-23 20:07:00
Meta
Meta
關注java進階架構師送架構
1059文章數 9856關注度
往期回顧 全部

科技要聞

別自嗨了!XREAL徐馳:AI眼鏡只有5歲智商

頭條要聞

印度、孟加拉關切雅魯藏布江下游水電站工程 中方回應

頭條要聞

印度、孟加拉關切雅魯藏布江下游水電站工程 中方回應

體育要聞

英格蘭最紅球星 也是加勒比島國驕傲

娛樂要聞

汪峰森林北同游日本 各帶各娃互不耽誤

財經要聞

律師解析娃哈哈遺產案:遺囑是最大變數

汽車要聞

德系大招放盡 場地極限測試全新奧迪A5L

態度原創

手機
藝術
家居
公開課
軍事航空

手機要聞

主流安卓品牌中,誰兼容蘋果生態最好?

藝術要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

家居要聞

晨曦生活 明媚而放松

公開課

李玫瑾:為什么性格比能力更重要?

軍事要聞

美國核彈頭重回英國牽動全球神經

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 松桃| 阿克陶县| 库车县| 炉霍县| 贵阳市| 芦山县| 湖南省| 昌宁县| 襄城县| 长岛县| 南澳县| 女性| 杨浦区| 富民县| 侯马市| 高雄市| 丰台区| 贵州省| 连江县| 建昌县| 南宁市| 通江县| 彩票| 舟山市| 通化市| 安平县| 晋城| 客服| 花莲县| 周至县| 新竹市| 洪雅县| 蛟河市| 和平区| 湖州市| 吉安市| 大同市| 法库县| 马山县| 礼泉县| 太保市|