ngnix + tomcat 负载均衡

来源:互联网 发布:三菱plc编程实例100 编辑:程序博客网 时间:2024/04/29 16:05

1. 安装 , 配置tomcat
1 . 在linux下 解压两个tomcat ,更改其中一个tomcat的端口信息
cd /usr/local/tomcat2/tomcat-8.5.9/conf
vi server.xml
这里写图片描述

这里写图片描述

这里写图片描述

另外一个tomcat不需要更改相关端口信息。

2 . 分别更改两个 tomcat下默认的jsp页面
cd /usr/local/tomcat2/tomcat-8.5.9/webapps/ROOT

vi index.jsp
在body中添加一行html 代码,用于区分是哪个tomcat下的页面。
这里写图片描述

3 . 启动,验证tomcat 服务

分别启动tomcat服务
sh startup.sh && tail -f ../logs/catalina.out

通过浏览器 http://10.6.24.19/index.jsp 验证tomcat 安装成功。

2. ngnix 安装,配置

1.安装完成ngnix
2. 修改配置文件
cd /usr/local/nginx/conf
vi nginx.conf
添加ngnix分配策略(权重策略)

upstream   dangdang.com {  server 10.6.24.19:8080  weight=1; //tomcat1 的ip和端口  server 10.6.24.19:8081  weight=5; //tomcat2 的ip和端口}

整个文件的信息如下:

#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 {    use  epoll; #    worker_connections  65535;}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   dangdang.com {  server 10.6.24.19:8080  weight=1;  server 10.6.24.19:8081  weight=5;}server {    listen       80;    server_name  localhost;    #charset koi8-r;    #access_log  logs/host.access.log  main; location / {     root   html;     index  index.html index.htm;     proxy_pass   http://dangdang.com;  }location ~ \.(jsp.action)$ {  proxy_pass http://dangdang.com; // 代理通过的地址和upstream中的名称一致  proxy_set_header   X-Real-IP   $remote_addr;  proxy_set_header   Host      $host;  proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;  proxy_set_header   X-Forwarded-Proto $scheme;  proxy_redirect default; }  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {       expires      30d;       proxy_pass http://dangdang.com;   }   location ~ .*\.(js|css)?$ {       expires      1h;       proxy_pass http://dangdang.com;   }    #error_page  404              /404.html;    # redirect server error pages to the static page /50x.html    #    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   html;    }    # proxy the PHP scripts to Apache listening on 127.0.0.1:80    #    #location ~ \.php$ {    #    proxy_pass   http://127.0.0.1;    #}    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000    #    #location ~ \.php$ {    #    root           html;    #    fastcgi_pass   127.0.0.1:9000;    #    fastcgi_index  index.php;    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;    #    include        fastcgi_params;    #}    # deny access to .htaccess files, if Apache's document root    # concurs with nginx's one    #    #location ~ /\.ht {    #    deny  all;    #}}# 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;#    }#}}

验证配置文件更改是否正确:
cd /usr/local/nginx/sbin
./ngnix -t
./ngnix -s reload 重新加载ngnix的配置文件

通过浏览器访问tomcat
http://10.6.24.19/index.jsp

因10.6.24.19:8081 weight=5 比 10.6.24.19:8080 权重大,故分发给该服务的请求比较多。

可以更改下ngnix分配策略如轮询方式:

upstream dangdang.com {
server 10.6.24.19:8080 ; //tomcat1 的ip和端口
server 10.6.24.19:8081 ; //tomcat2 的ip和端口
}

./ngnix -s reload 重新加载ngnix的配置文件
再通过浏览器访问tomcat
http://10.6.24.19/index.jsp
可以看到tomcat1和tomcat2的index.jsp页面交替出现。

3. 在tomcat下部署java项目到指定目录中
1. 修改两个tomcat 下默认项目地址
cd /usr/local/tomcat2/tomcat-8.5.9/conf
vi server.xml
将appBase=”webapps” 改为如下地址
这里写图片描述

2 . 修改ngnix配置文件
cd /usr/local/nginx/conf
vi nginx.conf

 location / {     root   /home/www/web;// 更改项目指定路径     index  index.html index.htm;     proxy_pass   http://dangdang.com;  }

4. 启动服务
启动两个tomcat 服务
启动ngnix 服务
cd /usr/local/nginx/sbin
./ngnix 启动服务
./ngnix -s reload 重新加载ngnix的配置文件
./ngnix -s stop 停止ngnix服务

通过浏览器 访问项目
http://10.6.24.19/dangdang_dk/user/loginForm.jsp
或者
http://10.6.24.19/dangdang_dk/main/main.jsp

0 0
原创粉丝点击