当前位置: 首页 > 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.xdnf.cn/news/1132399.html

相关文章:

  • 【论文阅读】A Survey on Knowledge-Oriented Retrieval-Augmented Generation(4)
  • Kotlin比较接口
  • Kotlin获取集合中的元素操作
  • 力扣-146.LRU缓存机制
  • Xsens人形机器人拟人动作AI训练,提升机器人工作精度与效率
  • MybatisPlus-11.IService的批量新增
  • 高性能架构模式——高性能缓存架构
  • alpineLinux修改包管理为国内源
  • 【Linux】基本指令详解(二) 输入\输出重定向、一切皆文件、认识管道、man、cp、mv、echo、cat
  • LVS集群搭建
  • OpenCV稠密光流估计的一个类cv::optflow::DenseRLOFOpticalFlow
  • [AI-video] 字幕服务 | 视频素材服务 | 视频生成服务
  • 智能电网时代:双向WiFi电表在海外家庭能源中的战略价值
  • C++---emplace_back与push_back
  • 网络爬虫的相关知识和操作
  • lazyvim恢复gt键
  • 项目流程管理系统使用建议:推荐13款
  • 【27】MFC入门到精通——MFC 修改用户界面登录IP IP Address Control
  • DHTMLX Suite 9.2 重磅发布:支持历史记录、类Excel交互、剪贴板、拖放增强等多项升级
  • AWS IAM 最佳安全实践通用指南
  • 随机链表的复制数据结构oj题(力口138)
  • HTML进阶
  • Golang学习之常见开发陷阱完全手册
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘tkinter’问题
  • C#语法基础总结(超级全面)
  • 16路串口光纤通信FPGA项目实现指南 - 第二部分(下)
  • uniapp写好的弹窗组件
  • Maven入门指南:生命周期、阶段和执行顺序详解
  • Qt 将触摸事件转换为鼠标事件(Qt4和Qt5及以上版本)
  • webpack和vite对比