文章目錄
原文寫的很不錯
根據作者原文
nginx學習,看這一篇就夠了:下載、安裝。使用:正向代理、反向代理、負載均衡。常用命令和配置文件
的步驟,自己完全走了一遍,應該說,nginx學習,的確看這一篇就夠了。
在實驗keepalive的過程中,還碰到了一些小問題,可能原文作者在寫的時候漏掉了,特此補充一下,以備將來自己繼續學習,也分享給大家。
nginx的配置補充
由於本人用的是virtualbox的虛擬機,所以在nginx的配置中,與原文有所不同,如果和我一樣的朋友,可以注意以下幾點:
- 原文中,“在 windows 系統的 host 文件進行域名和 ip 對應關係的配置”可以不用添加host文件,直接用ip訪問也可以;
- tomcat一開始我就安裝到了兩臺虛擬機,所以原文中,第二臺tomcat的另外兩個端口無須改動;
keepalive的配置補充
在實驗keepalive的時候碰到了幾個問題:
- 配置文件路徑的造成keepalive無法啓動的問題,按照原文中的路徑配置以後,其實是無法啓動keepalive.service的,問題出在:”KEEPALIVED_OPTIONS=-D“這句,需要修改一個配置文件,具體原因,參見此文:解決Keepalived啓動“Fail to start LVS and VRRP Avaliability Monitor” 問題
- keepalive啓動以後不生效的問題,看似keepalive啓動成功了,但是測試下來,如果把主機關掉,頁面是無法訪問的,經過查日誌,發現有如下兩個問題:
Keepalived_vrrp: WARNING - default user 'keepalived_script' for script execution does not exist - please create.
WARNING - script '/etc/keepalived/check_nginx.sh' is not executable for uid:gid 0:0 - disabling
default user ‘keepalived_script’ for script execution does not exist
對於第一個問題,需要在keepalived的配置文件global_defs 中增加如下內容:
script_user root
enable_script_security
詳細可參見Keepalived報錯 default user does not exist
script ‘/etc/keepalived/check_nginx.sh’ is not executable
第二個問題,是執行權限的問題,只要執行如下語句即可:
chmod +x /etc/keepalived/check_nginx.sh
詳細可以參見Keepalived常見故障
常用命令
#配置文件
vi /usr/local/etc/keepalived/keepalived.conf
vi /usr/local/nginx/conf/nginx.conf
#啓動nginx
/usr/local/nginx/sbin/nginx
systemctl stop firewalld
#啓動keepalived
systemctl stop keepalived.service
systemctl start keepalived.service
#查看狀態
systemctl status keepalived.service -l
ps -ef |grep nginx
ps -ef |grep keepalived
ip a