当前位置: 首页 > news >正文

Linux运维新手的修炼手扎之第21天

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目录里面--优先级最高】 

 

 

http://www.dtcms.com/a/282889.html

相关文章:

  • 调试bug记录
  • 如何用山海鲸轻松构建3D智慧大屏?
  • 【开源.NET】一个 .NET 开源美观、灵活易用、功能强大的图表库
  • 3DGS之COLMAP
  • 能行为监测算法:低成本下的高效管理
  • LIN通信协议入门
  • AI学习笔记三十一:YOLOv8 C++编译测试(OpenVINO)
  • 构建足球实时比分APP:REST API与WebSocket接入方案详解
  • PandaWiki与GitBook深度对比:AI时代的知识管理工具,选谁好?
  • 自动控制原理知识地图:舵轮、路径与导航图
  • 经典排序算法之归并排序(Merge Sort)
  • Linux内核IPv4路由查找:LPC-Trie算法的深度实践
  • 记录一道sql面试题3
  • 【Docker基础】Dockerfile多阶段构建:Multi-stage Builds详解
  • 【java面试day5】redis缓存-数据过期策略
  • MyBatis 之分页四式传参与聚合、主键操作全解
  • cv610_10B烧录,只能烧录到10%~20%,可能为DDRIO电压没有1.8v
  • Datawhale AI夏令营-基于带货视频评论的用户洞察挑战赛使用bert提升效果
  • socket和websocket的区别
  • 「大模型应用」(2)RAG的检索与rerank
  • vue页面不销毁的情况下再返回,总是执行created,而不触发 activated
  • uniapp 调起支付宝 requestPayment:fail service not found
  • 重学前端006 --- 响应式网页设计 CSS 弹性盒子
  • 2021-10-30 C++区间回文个数
  • 康华生物深耕疫苗创新 以核心产品引领行业发展
  • CSS3动画基本使用——页面一打开盒子就从左边走向右边
  • WIndows服务器中使用nssm启动多个Springboot服务
  • 外网访问禅道软件项目管理系统,简单几步将本地内网IP端口设置互联网在线用
  • Three.js 实战:使用 PBR 贴图打造真实地面材质
  • 面试150——数组字符串