Nginx服务和Tomcat服务
1 负载均衡
语法格式:upstream[一个或多个]
root@ubuntu24-13:~# vim /etc/nginx/conf.d/vhost.conf
upstream 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_configs
root@ubuntu24-13:~# vim /etc/nginx/conf.d/stream_configs/tcp.conf
upstream 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目录里面--优先级最高】