【nginx】实现服务端的负载均衡

本文介绍了如何使用Docker将Spring Boot应用打包成镜像并运行,同时通过Nginx实现服务端负载均衡。首先,编写Dockerfile并将项目jar包放入,然后构建并运行Docker镜像。接着,下载并运行Nginx容器,配置Nginx代理到Spring应用的端口,完成基本的负载均衡设置。最后,通过修改Nginx配置文件实现对特定域名的访问。
摘要由CSDN通过智能技术生成

nginx和ribbon的区别:

nginx实现服务端的负载均衡

ribbon实现客户端的负载均衡,请求时可以轮询/随机的方式请求接口

本文以docker下载的nignx进行部署

一、将项目打jar包,放到服务器上,并编写dockerfile文件

dockerfile和jar包要放在同一个目录下,注意需要暴露的端口要在防火墙设置好

dockerfile编写如下:

# 拉取jdk8作为基础镜像
FROM java:8
# 作者
MAINTAINER jane <jane@163.com>
# 添加jar到镜像并命名为user.jar
ADD spring-test-1.0-SNAPSHOT.jar spring-test.jar
# 镜像启动后暴露的端口
EXPOSE 8071
# jar运行命令,参数使用逗号隔开
ENTRYPOINT ["java","-jar","spring-test.jar"]

二、将项目放到docker里,并运行

(一)生成docker镜像

注意在最后面有一个 点

docker build -t spring-test .

(二)运行该镜像

docker run -d --name spring-test -p 8071:8071 spring-test

三、nginx

用docker下载nginx

docker pull nginx

运行nginx

docker run --name nginx -p 9091:80 -d nginx

访问ip:80就可以看到 nginx的欢迎页面

另外创建目录将nginx的www 日志 配置文件放好

mkdir -p /server/nginx/www
mkdir -p /server/nginx/logs
mkdir -p /server/nginx/conf

拷贝nginx的配置文件到conf

docker cp 541cae70ae15:/etc/nginx/nginx.conf /server/nginx/conf

这个时候再访问ip:80是没有东西的,因为www文件夹没有html页面,所以403

要在www文件夹创建html

自己申请好域名后,修改/server/nginx/conf下的nginx.conf文件

vim nginx.conf
events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;

    server{
        listen 80;
        server_name 你的域名;
        location / {
                proxy_pass http://127.0.0.1:8071; #这个端口按项目实际修改
}
}
}

最主要是http下的server配置

成功后:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值