Nginx+Tomcat

  1. 环境准备
ip                 主机名                        端口
192.168.148.130    Nginx                         80
192.168.148.131    Tomcat-node1                  8080
192.168.148.132    Tomcat-node2                  8080
  1. 关闭iptables防火墙和selinux。如果是生产环境,开启iptables后,需要开放对应的应用端口,每台机器同样执行。
[root@Nginx ~]# setenforce 0
[root@Nginx ~]# getenforce
disabled
[root@Nginx ~]# cat /etc/sysconfig/selinux |grep "SELINUX=disabled"
SELINUX=disabled
[root@Nginx ~]# /etc/init.d/iptables stop
  1. 安装Nginx
[root@Nginx ~]# cd /usr/local/src/
[root@Nginx src]# ll
[root@nginx ~]# wget http://nginx.org/download/nginx-1.8.1.tar.gz 
[root@nginx ~]# tar  xvf nginx-1.8.1.tar.gz
[root@nginx ~]# cd nginx-1.8.1
[root@nginx nginx-1.8.1]# ./configure  --prefix=/usr/local/nginx  --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log  --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock  --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre  && make && make install
安装成功后配置nginx
[root@Nginx  nginx-1.8.1]# cd /usr/local/nginx/conf/
[root@Nginx conf]# cp nginx.conf nginx.conf.bak
[root@Nginx conf]# cat nginx.conf
#user  nobody;
worker_processes  8;
   
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
   
#pid        logs/nginx.pid;
   
worker_rlimit_nofile 65535;
events {
   use epoll;
    worker_connections  65535;
}
   
http {
    include       mime.types;
    default_type  application/octet-stream;
    charset utf-8;
           
    ######
    ## set access log format
    ######
    log_format  main  '$http_x_forwarded_for $remote_addr $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_cookie" $host $request_time';
   
    #######
    ## http setting
    #######
    sendfile       on;
    tcp_nopush     on;
    tcp_nodelay    on;
    keepalive_timeout  65;
    fastcgi_connect_timeout 30000;
    fastcgi_send_timeout 30000;
    fastcgi_read_timeout 30000;
    fastcgi_buffer_size 256k;
    fastcgi_buffers 8 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
    fastcgi_intercept_errors on;
   
    ##cache##
    client_header_timeout 60s;
    client_body_timeout 60s;
    client_max_body_size 10m;
    client_body_buffer_size 1m;
    proxy_connect_timeout 5;
    proxy_read_timeout 60;
    proxy_send_timeout 5;            
    proxy_buffer_size 64k;
    proxy_buffers 4 128k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 1m;
    proxy_temp_path /home/temp_dir;
    proxy_cache_path /home/cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
    ##end##
   
    gzip  on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 9;
    gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php;
    gzip_vary on;
   
    ## includes vhosts
    include vhosts/*.conf;
}
  
[root@Nginx conf]# mkdir vhosts
[root@Nginx conf]# cd vhosts/
[root@Nginx vhosts]# vim lb_tomcat.conf
  upstream tomcat-lb {
      server 192.168.148.131:8080;
      server 192.168.148.132:8080;
      }
                     
      server {
      listen  80;
      server_name www.kevin.com;
      location / {
          proxy_pass http://tomcat-lb;
          proxy_set_header  X-Real-IP $remote_addr;
          proxy_set_header  REMOTE-HOST $remote_addr;
          proxy_set_header  Host $host;
          proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location ~ .*\.(gif|jpg|png|htm|html|css|ico|flv|swf)(.*) {
              proxy_pass http://tomcat-lb;
              proxy_redirect off;
              proxy_set_header Host $host;
              proxy_cache cache_one;
              proxy_cache_valid 200 302 1h;
              proxy_cache_valid 301 1d;
              proxy_cache_valid any 10m;
              expires 30d;
              proxy_cache_key $host$uri$is_args$args;
        }
}
  
[root@Nginx vhosts]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@Nginx conf]# /usr/local/nginx/sbin/nginx
[root@Nginx-node conf]# lsof -i:80
COMMAND   PID   USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
nginx   25292   root    6u  IPv4 19679665      0t0  TCP *:http (LISTEN)
nginx   25293 nobody    6u  IPv4 19679665      0t0  TCP *:http (LISTEN)
nginx   25294 nobody    6u  IPv4 19679665      0t0  TCP *:http (LISTEN)
nginx   25295 nobody    6u  IPv4 19679665      0t0  TCP *:http (LISTEN)
nginx   25296 nobody    6u  IPv4 19679665      0t0  TCP *:http (LISTEN)
nginx   25297 nobody    6u  IPv4 19679665      0t0  TCP *:http (LISTEN)
nginx   25298 nobody    6u  IPv4 19679665      0t0  TCP *:http (LISTEN)
nginx   25299 nobody    6u  IPv4 19679665      0t0  TCP *:http (LISTEN)
nginx   25300 nobody    6u  IPv4 19679665      0t0  TCP *:http (LISTEN)
  1. 安装Tomcat
[root@Tomcat-node1 ~]# /usr/local/src
[root@Tomcat-node1 ~]# tar xf jdk-8u241-linux-x64.tar.gz 
[root@Tomcat-node1 ~]# ln -sv /usr/local/src/jdk1.8.0_241 /usr/local/jdk '/usr/local/jdk' -> '/usr/local/src/jdk1.8.0_241'
 
[root@Tomcat-node1 ~]# vim /etc/profile 
export JAVA_HOME=/usr/local/jdk 
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH 
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
 
 [root@Tomcat-node1~]# source  /etc/profile 
 java -version java version "1.8.0_241" 
 Java(TM) SE Runtime Environment (build 1.8.0_241-b07) 
 Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode

[root@Tomcat-node1 ~]# cd /usr/local/src/
[root@Tomcat-node1 src]# tar -zvxf apache-tomcat-8.5.50.tar
[root@Tomcat-node1 src]# mv apache-tomcat-8.5.50.tar /usr/local/tomcat8

[root@Tomcat-node1 ~]# cd /usr/local/tomcat8/conf/
[root@Tomcat-node1 conf]# cp server.xml server.xml.bak
[root@Tomcat-node1 conf]# vim server.xml
.......
 <Engine name="Catalina" defaultHost="localhost">                #这一行不需要修改,没必要动
.......
 <Host name="localhost" appBase="/data/webapps/" unpackWARS="true" autoDeploy="true">
        <Context path="" docBase="/data/webapps" reloadable="true" />
......
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/data/logs"
               prefix="web1_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
  </Host>
 
 
创建项目目录
[root@Tomcat-node1 conf]# mkdir -p /data/webapps/{WEB-INF,META-INF,classes,lib}
[root@Tomcat-node1 conf]# mkdir /data/logs
 
创建测试文件
[root@Tomcat-node1 ~]# touch /data/webapps/index.jsp
[root@Tomcat-node1 ~]# vim /data/webapps/index.jsp        
<html>
    <body bgcolor="green">    
    <center>   
    <%=  request.getSession().getId()  %>   
    <h1>192.168.148.131</h1>
    <h1>port:8080</h1>
    <h1>this is Tomcat-node1! </h1>
    </center>
    </body>
</html>
  
<%@ page contentType="text/html;charset=UTF-8" isELIgnored="false"%>
SessionID:<%=session.getId()%><BR>
SessionIP:<%=request.getServerName()%> <BR>
SessionPort:<%=request.getServerPort()%>
<%     out.println("This is Tomcat server 201 !");     %>
You have new mail in /var/spool/mail/root
 
 
另一个节点的测试文件为:
[root@Tomcat-node2 ~]# vim /data/webapps/index.jsp
<html>
    <body bgcolor="yellow">    
    <center>   
    <%=  request.getSession().getId()  %>   
    <h1>192.168.148.132</h1>
    <h1>port:8080</h1>
    <h1>this is Tomcat-node2! </h1>
    </center>
    </body>
</html>
  
<%@ page contentType="text/html;charset=UTF-8" isELIgnored="false"%>
SessionID:<%=session.getId()%><BR>
SessionIP:<%=request.getServerName()%> <BR>
SessionPort:<%=request.getServerPort()%>
<%     out.println("This is Tomcat server 202 !");     %>
 
 
启动tomcat
[root@Tomcat-node1 src]# /usr/local/tomcat8/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_241
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.
You have new mail in /var/spool/mail/root
[root@Tomcat-node1 src]# ps -ef|grep tomcat
root      8477     1 87 03:11 pts/0    00:00:03 /usr/java/jdk1.8.0_131/bin/java -Djava.util.logging.config.file=/usr/local/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat8 -Dcatalina.home=/usr/local/tomcat8 -Djava.io.tmpdir=/usr/local/tomcat8/temp org.apache.catalina.startup.Bootstrap start
root      8528  6829  0 03:11 pts/0    00:00:00 grep tomcat
[root@Tomcat-node1 src]# lsof -i:8080
COMMAND  PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    8477 root   49u  IPv6 12974768      0t0  TCP *:webcache (LISTEN)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值