6、nginx+linux下jdk配置
1 Nginx高级
1.1 Nginx的进程
1.1.1 进程与守护进程
说明:Nginx的启动一次启动2个进程.一个是主进程,另一个是守护进程.守护进程的作用防治主进程意外关闭.
关闭Nginx:
如果需要关闭Nginx,先关闭守护进程.在关闭主进程.
nginx -s stop
1.1.2 Nginx的实例化
说明:Nginx的进程可以做到秒开和秒关,并且可以无限的开启进程.并且支持50000次的并发.
1.1.3 Nginx系统首页跳转
说明:Nginx中可以写很多的服务项,每拦截一个url就是一项服务(server).
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; }
特殊的属性:
root :表示转向的是一个文件夹
proxy_pass:表示转向具体的URL.它是一个代理的请求
1.2 实现京淘后台页面跳转
1.2.1 编辑Nginx配置文件
要求:当url中输入manage.jt.com时需要将请求转发到localhost:8091上
实现:
通过Nginx实现反向代理
#京淘的后台管理系统 nginx负载监听浏览器.拦截具体的url实现页面转向
server { listen 80; server_name manage.jt.com; #页面转向 转向的是一个具体的url location / { proxy_pass http://localhost:8091; } }
1.2.2 编辑Hosts文件
说明:通过Hosts工具实现修改.修改hosts的作用是将请求转发到本机.
1.2.3 页面跳转测试
1.2.4 异常说明
说明:
- 重启Nginx时需要将nginx先全部关闭.再次启动.之后测试
- 配置文件复制前一个后修改
2 Nginx实现集群的部署
2.1 集群部署
2.1.1 集群部署的意义
说明:通过配置集群的方式,是解决高并发问题有效方案.
解决方法:通过Nginx负载均衡技术和反向代理技术,可以实现集群的搭建
2.2 Window中启动多台tonmcat
2.2.1 Tomcat配置
说明:有些机器可能启动无缓冲tomcat时报错.需要自己手动复制本机自由的tomcat做测试.
2.2.2 修改配置文件
说明:分别将项目的parent-common-manage通过Maven工具打包
1.修改server.xml文件的端口
<Connector port="8092" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
2.修改日志监听端
<Server port="8006" shutdown="SHUTDOWN">
3.修改AJP端口
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
2.3 配置Nginx
2.3.1 编辑负载均衡
#实现Nginx的负载均衡
upstream jt{
server 127.0.0.1:8091;
server 127.0.0.1:8092;
server 127.0.0.1:8093;
}
2.3.2 负载均衡实现
#京淘的后台管理系统 nginx负载监听浏览器.拦截具体的url实现页面转向
server {
listen 80;
server_name manage.jt.com;
#页面转向 转向的是一个具体的url 表示upstream名称
location / {
proxy_pass http://jt;
}
}
2.4 Tomcat启动时异常
2.4.1 引入log4j日志jar包
说明:
引入日志文件需要的步骤
1.引入log4j.jar
2.检测是否含有配置文件
3.properties文件如何被引用
要求:
1.文件的名称必须为log4j.properties
2.要求文件的路径位于resources目录下
原因:
因为在log4j源码中有静态代码块.默认的读取的配置文件的路径和名称都是写死的/log4j.properties
2.4.2 Tomcat日志文件
说明:通过tomact的日志文件检测报错信息.如果文件过多,先将tomcat停止,之后删除catalina.log文件,之后重启
2.4.3 常见的错误
- 字母的大小写 ,除了类名开头之外 ,全部的都是小写的(sql语句/配置文件的路径)
- 端口被占用
a) 关机重启
b) ~~~~~~~
2.5 Nginx负载均衡的策略
2.5.1 轮询策略
说明:每台服务根据顺序依次访问.并且它是nginx中默认的负载均衡的方式.
加载的顺序和Nginx中的配置的顺序是相同的
2.5.2 权重的方式
需求:
由于公司的服务器不同同一个型号,性能上略有差异.这时使用轮询可能会出现问题
2.解决方法:采用权重的方式
说明:根据服务器的性能,动态的分配连接.
说明:通过权重的形式,可以根据服务器的性能,动态的分配连接.一般公司配置使用权重的方式
2.5.3 IP_hash配置
需求:如何实现Session共享????
问题描述:当用户登陆一台服务器时,在服务器内部保存了用户的Session信息.如果用户再次发出请求后,将不能保证用户访问的依然是登陆过的服务器.这时需要用户再次登录.这种问题如何解决????
总结问题:由于用户访问的服务器不固定,导致Session不能共享.
解决办法:通过IP_Hash
说明:通过用户的IP地址,在nginx中内部进行哈希值运行.最终绑定唯一的一台服务器.
总结:
通过IP_hash的计算,将服务器与用户的IP地址进行了绑定.实现了Session的共享.---------Session黏着!
通过IP_hash能够解决简单的Session共享问题.大型公司不会使用该方式(新SSO)
图例说明:
如果在配置文件中配置了IP_hash,轮询和权重将不起作用.
2.5.4 备用机机制
说明:如果nginx中的服务器都处于满负荷状态.无暇顾及新的连接.这时备用机才会生效.如果主服务器.处理完请求后处于正常状态.这时备用机处理等待状态.
2.5.5 通过Nginx如何实现项目部署
需求:需要将war包部署到服务器中????
方法:通过Nginx下线服务器处理
如果在server后边添加down配置.则nginx不会再将请求发往该服务器.当服务器部署完成后,将down去掉,之后重启nginx服务器.表示部署完成.由于nginx的开启和关闭的是速度很快,所有用户没有感觉!!!
3 Linux的项目部署
3.1 虚拟机启动
3.1.1 解压文件
说明:通过VMware打开VMX文件即可
打开以后的效果
3.1.2 Linux操作操作系统的种类
特点:
- Linux操作系统在服务器端大量的使用
- Linux系统安全性更好
- Linux系统稳定性更强 2周维护一次---一个月(运维)
- Linux操作系统全部都是基于文件的
- 克隆linux系统
3.1.3 克隆操作系统
2.创建链接克隆之后修改名称和路径
3.2 Linux网络配置
3.2.1 桥接模式
3.2.2 NAT模式
说明:采用NAT模式后,只要固定了IP地址,可以永久的访问.不用修改代码
查询命令:ifconfig
3.2.3 固定IP地址
3.2.4 安装xShell文件
说明:XShell是远程连接Linux操作系统的工具.通过xShell连接远程的Linux操作系统
之后输入用户名和密码链接程序
说明:如果出现该提示信息表示xShell连接虚拟机连接成功
3.2.5 创建快照
3.2.6 Linux系统命令
用户名密码:root root
1.cd / 回到根目录
2.ls 查询当前文件夹中的文件
3.ll 查询文件夹的详细信息
4.pwd 查询当前文件夹的路径
5. mkdir java tomcats 创建多个文件夹
6.mkdir -p aa bb/cc 创建多个文件夹
7.rm -rf aa bb
8.rm 文件名称 y/n y
9.vim aa.txt
1.如果没有aa.txt文件则创建
2.如果含有aa.txt文件则编辑
3.I:表示编辑
4.Esc 退出模式模式
5.:wq 保存退出
6.Esc+u 撤销
3.3 JDK的配置
3.3.1 传输JDK
选中文件夹之后 拖拽到系统中(文件夹路径固定)
3.3.2 解压JDK
3.3.3 配置环境变量
说明: vim /etc/profile 表示编辑环境变量
3.3.4 让配置生效
3.3.5 测试JDK配置是否成功
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步