nginx+tomcat 实现负载均衡

来源:互联网 发布:18亿亩耕地红线知乎 编辑:程序博客网 时间:2024/05/24 02:53
    nginx做反向代理服务器,做个集群还是很容易的,关键这个东西还是面费的,相比于F5之类的服务器,真的是很不错的了,    最近手闲,就搭个随便玩玩,以后如果自己想搞个什么东西的话,兴许还用得上。    首先先讲下linux的路径关系
Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。源码放哪里?/usr/src:系统级的源码目录。/usr/local/src:用户级的源码目录。

服务器及各版本号

三个服务器:20.4.16.9;20.4.16.10;20.4.16.35;nginx:1.8.0(这个应该是目前最稳定的)tomcat:7.0.61JDK:1.6(gs测试环境不能升级)初步打算9做nginx服务器,那两个搞个tomcat将就下,改天再做HAnginx安装部署tar -zxvf  nginx-1.8.0.tar.gz -C /home/ljp/       将其解压到指定目录,会产生 nginx-1.8.0 文件夹
修改配置文件./configure \--prefix=/usr/local/nginx \--pid-path=/var/run/nginx/nginx.pid \--lock-path=/var/lock/nginx.lock \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--with-http_gzip_static_module \--http-client-body-temp-path=/var/temp/nginx/client \--http-proxy-temp-path=/var/temp/nginx/proxy \--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \--http-scgi-temp-path=/var/temp/nginx/scgi

然后 mkdir -p /var/temp/nginx 。。

makemake  install

然后,安装结束了,这个是解压后的目录结构

这里写图片描述
`

打开 cd /usr/local/    这下面就有个nginx,这个就是应用程序,里面有个html,这个就相当于tomcat的webapps下的ROOT,具体的配置在conf下。

nginx.conf

#user  nobody;worker_processes  1;        这个nginx工作的时候走几个线程,看cpu吧#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;                  gzip压缩    server {        listen       88;         端口号        server_name  localhost;        请求路径        #charset koi8-r;        #access_log  logs/host.access.log  main;    upstream tomcat_server{                 server 20.4.16.10:8080 weight=10;    server 20.4.16.35:8080 weight=10;    }     location / {            proxy_pass http://tomcat_server;                root   html;            index  index.html index.htm;        }        #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;        }
    对了,这个是只读文件,不让修改,菜点的可以执行chmod 777 * ,然后就可以保存了。我修改了端口,默认是80,我修改为88了,进入/etc/sysconfig  vi iptables 开启端口的防火墙

iptables配置,自己培养个好习惯

## zookeeper-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT## apache-tomcat-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT## dubbo-mpnotor-A INPUT -m state --state NEW -m tcp -p tcp --dport 7070 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT## nginx-A INPUT -m state --state NEW -m tcp -p tcp --dport 88 -j ACCEPT
    然后保存退出,service iptables stop ;关闭防火墙,service iptables start 再启动。OK!!!!这个就是详细的配置了,嘿嘿嘿。然后进入sbin ,启动:./nginx ;关闭 ./nginx -s quit      好了,这样就已经可以负载均衡了,等有时间了,再做HA吧。有问题可以联系我。
原创粉丝点击