springCloud+nginx+RocketMq搭建高可用静态服务器

文章描述了如何使用Docker安装和配置Nginx,解决静态文件403权限和找不到文件的问题,并提出了两种静态文件同步方案。同时提到了在业务服务中配置RocketMq以实现广播模式,确保两台服务器都能接收到消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备两台服务器 两台nginx 一个RocketMq

Docker安装nginx
1.docker pull nginx 拉取镜像,默认最新版本
2.docker run -d -p 80:80 nginx 启动容器
3.mkdir -p /opt/nginx-test/{conf,conf.d,html,logs} 创建nginx文件夹
4.copy文件:把刚才启动的nginx容器下的文件拷贝到我们新建的目录下
docker cp 3d3e6787bd63:/etc/nginx/nginx.conf /opt/nginx-test/conf/
docker cp 3d3e6787bd63:/etc/nginx/conf.d/default.conf /opt/nginx-test/conf.d/
5.关闭掉刚才启动的容器 docker stop 3d3e6787bd63
6.自定义启动我们的nginx: docker run --privileged=true --restart=always --name nginx-test -d -p 8392:80 -v /opt/nginx-test/log:/var/log/nginx -v /opt/nginx-test:/usr/share/nginx/html -v /opt/nginx-test/conf/nginx.conf:/etc/nginx/nginx.conf -v /opt/nginx-test/conf.d:/etc/nginx/conf.d nginx
按照上面的步骤搭建nginx-test2
在/opt/nginx-test 目录上传静态文件 访问http://ip:8392/1.jpg 进行测试

搭建nginx启动问题:
1.访问静态文件报错:  [error] 25483#0: *89 open() "/usr/local/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.10.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.10.133"
default.conf文件添加

location  /favicon.ico {
        log_not_found off;
        access_log off;
 }
2.403 权限问题 :nginx.conf 修改 user:root

Docker安装rocketMq: 网上搜索相关资源

在业务服务中配置rocketMq消息发送模式为广播模式,这样两台服务都能接收消息
consumer.setMessageModel(MessageModel.BROADCASTING);

静态文件同步方式
1.在对静态文件增删改操作时,通过发送消息的方式,让两台nginx服务都能对自己的静态文件进行同步
2.定时任务定时查询两台服务的静态文件,比较同步最新的数据
3.访问静态资源的时候通过网关转发的方式请求到任意一台正常工作的nginx上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值