nginx实现动静分离
1.动态数据(每个页面的数据根据不同的条件从数据库查询出来的),静态数据(每个页面长期不变的数据,例如,js,css,image)
先在项目搭建好测试的数据(即两个测试的jar包 ,不同的页面以作测试)
2.主要代码
server { listen 8080; server_name 118.190.158.17; location / { proxy_pass http://localhost:7000; } location ~* .(gif|jpg|jpeg|png|css|js|ico)$ { root /home/web; } //图片的过滤 }
3.效果(会随着动态数据的改变随着改变)
keepalived实现nginx高可靠
1.Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。类似软件还有(heartbeat,vcs,haproxy). 实现程序的自动failover,故障转移。
2.修改192.168.153.202的配置文件/etc/keepalived/keepalived.conf 记得修改完后重启配置文件 systemctl start keepalived.service
全选(高亮显示):按esc后,然后ggvG或者ggVG
全部复制:按esc后,然后ggyG
全部删除:按esc后,然后dG
global_defs { notification_email { #指定keepalived在发生切换时需要发送email到的对象,可以有多个 test@163.com } notification_email_from keepalived@localhost #指定发件人 smtp_server 127.0.0.1 #指定smtp服务器地址 smtp_connect_timeout 30 #指定smtp连接超时时间 router_id LVS_MASTER #运行keepalived机器的一个标识,同网段内唯一,建议使用主机名 主机名建议设置不一样 } #vrrp_script chk_nginx { #script "/usr/local/src/check_nginx_pid.sh" #interval 2 #weight 2 #} vrrp_instance VI_1 { #指定哪个为master,哪个为backup,如果设置了nopreempt这个值不起作用,主备靠priority决 定 #state MASTER state BACKUP nopreempt #非抢占模式 interface ens33 virtual_router_id 51 #集群标记,同一个集群必须相同 priority 100 #优先级,高优先级竞选为master,1-255 //从机要比主机优先级低 , 才可以进行抢占 advert_int 1#检查间隔,默认1秒 authentication {#心跳间设置认证 auth_type PASS #认证方式 auth_pass 1111 #认证密码 } #track_script { #chk_nginx #} virtual_ipaddress { 192.168.65.222 #虚拟ip //虚拟ping通的ip 设置一样 } }
3.设置keepalived开机自启动
systemctl enable keepalived
4.测试
步骤一:可以通过虚ip访问目标应用
步骤二:查看虚ip所在的主机的mac地址
步骤三:测试抢占模式
主机:
备机:
redis实现session共享
步骤一:启动redis
步骤二:配置spring-session-data-redis
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
步骤三:修改springboot中的redis配置
spring.redis.port=6379
spring.redis.host=192.168.153.201
步骤四:修改页面,打包,上传,测试
sessionId:<span th:text="${#httpSession.getId()}"></span>