windows下配置nginx,实现负载均衡

1.环境准备

     由于公司的业务需要,tomcat单应用环境不足以支持用户需求,所以采用了nginx进行负载均衡,但本案例没有centos7的系统,所以再window开发机上模拟实现。首先去官网下载对应的nginx版本


之后解压出来,为了方便启动,我们写个批处理文件 start.bat

taskkill /f /t /im nginx.exe
start nginx.exe

差不多如下图:


进入conf文件,修改 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;

    upstream tomcats  {  
      server  localhost:8181 weight=1;   # 可以配置多个
      server  localhost:8282 weight=1;  
    }  
    server{  
        listen 80;  
        server_name localhost;  
        location / {  
                proxy_pass  http://tomcats; # 这里要和上面的别名一致
                proxy_set_header   Host             $host;  
                proxy_set_header   X-Real-IP        $remote_addr;   # 多重代理下的真实地址
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;  
        }  
	} 


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

配置完成后我们双击 start.bat;启动nginx ,去浏览器 localhost


接下来我们打开 idea开发工具, 新建一个 springboot项目 不懂的小伙伴可以看我的另一篇博客https://blog.csdn.net/Mr_xiatian/article/details/80151593 里面有详细的快速搭建流程

建完之后项目结构如下图:


我们 首先把 配置文件中的 server端口配置 8181,然后把控制器里面的根据 ID查询用户信息 写死 为1 

启动项目,这就是模拟了 server1 ;启动完不管他,继续修改 端口8282, 把 ID查询改为2,模拟server2。具体如下图



至此,已经模拟好了 两台服务器。我们去浏览器里访问我们配置的 nginx : http://localhost/user/findOne/1 然后多刷新几次如下图:


数据库里我事先放了两条数据


我们发现查询的不一样了。 通过看控制台的日志我们也可以发现日志的输出也会不一样。 以上就完成了 nginx负载均衡的模拟,其实在生成环境中原理也差不多。

阅读更多
文章标签: nginx 负载均衡
个人分类: centos
上一篇centos7运维篇《一》之安装jdk1.8
下一篇centos7运维篇《二》之redis安装
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭