利用Nginx负载均衡的访问SpringBoot服务,还有如何利用Nginx实现404,500等错误页面的拦截

今天给大家讲一些如何利用Nginx负载均衡的访问SpringBoot服务,还有如何利用Nginx实现404,500等错误页面的拦截。

首先第一步就是下载Nginx软件,Nginx软件不需要任何的配置,直接就可以启动。

Nginx命令一般有:

重启:nginx -s reload

关闭:nginx -s stop

启动:start nginx

校验文件格式是否正确:nginx –t

要想知道Nginx是否启动完毕可以在任务管理器中查看,例如以下所示就表示已经成功打开了。

接下来就是看Nginx.conf这个配置文件的内容了,我们通过以下简单的配置就可以实现负载均衡和错误界面的拦截了,下面看具体案例介绍。

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}
http {
    include       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  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
	fastcgi_intercept_errors on;
	upstream boot { 
      server 127.0.0.1:8001; 
      server 127.0.0.1:8002; 
	}
	

    server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
		
	   location / {
            root   html;
            index  index.html index.htm;
        }
		
       location /bootTest/{ 
            ssi on;
            ssi_silent_errors on;
            proxy_read_timeout 300;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://boot;
	
		}
		
        error_page 400 401 402 403 404 /40x.html;
		
		location = /40x.html {
            proxy_pass  http://127.0.0.1:8001/bootTest/errorNginxTest;
        }
		
        error_page   500 502 503 504  /50x.html;
		
        location = /50x.html {
           proxy_pass  http://127.0.0.1:8001/errorTest;
        }
	}
}

具体的拦截步骤为:

1.创建自己的404.html页面,并放于网站根目录(也可以不创建,直接跳转到其它的地址)

2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on;

3.更改nginx.conf 在网站配置中在server 区域加入: error_page 404 = /404.html; 或者 error_page 404 = http://www.xxx.com/404.html;

4.测试nginx.conf正确性: /usr/local/nginx/sbin/nginx –t

5.重启nginx生效: /usr/local/nginx/sbin/nginx -s reload

  #502 等错误可以用同样的方法来配置。

  error_page  500 502 503 504 = /50x.html;

这里需要注意的是如果大家最后配置拦截还是有问题,最好把我上面的配置信息直接拷贝粘贴。因为一些很小的细节可能就会导致配置拦截不成功,所以大家一定要细心再细心。

最后就是SpringBoot项目的配置了,这里我写了两个控制类:一个是测试负载均衡的,一个是测试拦截错误界面的。这里我就不细说了,大家可以去下载我案例具体研究研究。

下面是项目每一个模块截图介绍:

下面是测试的结果截图介绍:

如果对上面的内容还有什么疑义或者问题都可以加我QQ:208017534咨询。

项目下载地址:http://download.csdn.net/detail/linzhiqiang0316/9883258

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

Windows版本nginx

在cnbeta上看到Nginx 0.7正式变成Stable版,下载下来看了一下,Nginx非常小,配置也非常简单,首先下载nginx 0.7.59的window...

1855
来自专栏spring源码深度学习

linux环境更新默认python2.7为python3.X

一般的linux系统都会自带python环境,默认都是python2.7,但是python2.7已经不开源,不维护了,并且python3已经成为主流。学习pyt...

1162
来自专栏java相关

客户端连接腾讯云服务总是自动断开连接解决办法

1412
来自专栏Java成神之路

Eclipse_插件_05_自动下载jar包源码插件

官网:http://marketplace.eclipse.org/content/java-source-attacher#.U5RmTePp0QI CSD...

843
来自专栏行者常至

导出远程oracle数据库到本地

首先,使用oracle 的 net manager 创建服务(运行net manager 时请以管理员的身份运行,不然有可能最后保存的时候出现error wri...

762
来自专栏瞎说开发那些事

Linux 中的静态库和动态库简介及生成过程示例

1554
来自专栏散尽浮华

Nginx 负载均衡的Cache缓存批量清理的操作记录

1)nginx.conf配置 [root@inner-lb01 ~]# cat /data/nginx/conf/nginx.conf user www; w...

4625
来自专栏雨过天晴

原 编译PHP7

2012
来自专栏阿炬.NET

解决Android系统短信群发时提示”正在发送大量短信“

2895
来自专栏BeJavaGod

Spring 插件推荐 spring tool suit

这是spring的一个插件,非常好用,简称sts 官网地址:http://spring.io/tools/sts/ 简单说一下吧这个插件的一些优点等等 安装成功...

3548

扫码关注云+社区