Nginx服務和Tomcat服務
1 負載均衡
語法格式:upstream[一個或多個]
root@ubuntu24-13:~# vim /etc/nginx/conf.d/vhost.confupstream group1 {server 10.0.0.16;}upstream group2 {server 10.0.0.14;}server {listen 80;server_name sswang1.magedu.com;location / {proxy_pass http://group1;}}server {listen 80;server_name sswang2.magedu.com;location / {proxy_pass http://group2;}}
調度算法:輪詢、加權輪詢[weight=3]、
備用主機實踐[backup標記該Server為備用,當所有后端服務器不可用時,才使用此服務器]、?
upstream group1 {# 10.0.0.14 平常不用server 10.0.0.16;server 10.0.0.14 backup;}
????????????????應用平滑下線[down標記該Server臨時不可用,可用于平滑下線后端服務器,新請求不再調度到此服務器,原有連接不受影響]、?
upstream group1 {# 10.0.0.14 準備下線server 10.0.0.16;server 10.0.0.14 down;}
?????????????????ip_hash[根據客戶端IP的哈希值固定分配到同一臺后端服務器,第一次找的誰,以后都找它]、?
upstream group1 {ip_hash;server 10.0.0.16;server 10.0.0.14;}
?????????????????hash $key[自定義哈希鍵(如 URL、參數),相同鍵的請求固定分配到同一服務器]
upstream group1 {hash $request_uri consistent; # 按請求URI哈希,consistent可選,使用一致性哈希算法減少服務器增減時的重新映射server 10.0.0.16;server 10.0.0.14;}
?2 四層代理
語法格式:外層stream,內部【upstream + server[不需要location]】
用apt方式安裝的nginx,默認是--with-stream=dynamic動態加載的,需要加載模塊load_module /usr/lib/nginx/modules/ngx_stream_module.so
root@ubuntu24-13:~# vim /etc/nginx/nginx.conf stream {include /etc/nginx/conf.d/stream_configs/*.conf;}root@ubuntu24-13:~# mkdir -p /etc/nginx/conf.d/stream_configsroot@ubuntu24-13:~# vim /etc/nginx/conf.d/stream_configs/tcp.confupstream mysqlserver{server 10.0.0.16:3306;}upstream redisserver{server 10.0.0.14:6379;}server{listen 3306;proxy_pass mysqlserver;}server{listen 6379;proxy_pass redisserver;}
4 java基礎
java代碼邏輯:?
單一功能:語法 - 源代碼 - 字節碼 - jvm?
復雜功能:語法 - 源代碼 - 字節碼 - JRE(jvm + 運行庫環境)
項目維護:語法 - 源代碼 - 字節碼 - JDK(JRE(jvm + 運行庫環境) + 維護工具)
java環境部署:jdk【oracle+openjdk】
5 tomcat基礎
環境部署:tomcat 和 jdk 有版本兼容性|最低版本要求[tomcat10最低版本要求jdk11、tomcat9最低版本要求jdk8]
運行命令:
主控制腳本:catalina.sh start|stop
啟動 Tomcat:startup.sh=catalina.sh start??
關閉 Tomcat:shutdown.sh=catalina.sh stop
tomcat配置結構:
server、service、connector - engine、host
context:全局的【tomcat的配置目錄】、host專用【單一web目錄里面--優先級最高】?
?