- 环境准备
ip 主机名 端口
192.168.148.130 Nginx 80
192.168.148.131 Tomcat-node1 8080
192.168.148.132 Tomcat-node2 8080
- 关闭iptables防火墙和selinux。如果是生产环境,开启iptables后,需要开放对应的应用端口,每台机器同样执行。
[root@Nginx ~]
[root@Nginx ~]
disabled
[root@Nginx ~]
SELINUX=disabled
[root@Nginx ~]
- 安装Nginx
[root@Nginx ~]
[root@Nginx src]
[root@nginx ~]
[root@nginx ~]
[root@nginx ~]
[root@nginx nginx-1.8.1]
安装成功后配置nginx
[root@Nginx nginx-1.8.1]
[root@Nginx conf]
[root@Nginx conf]
worker_processes 8;
worker_rlimit_nofile 65535;
events {
use epoll;
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
charset utf-8;
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';
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;
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;
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;
include vhosts/*.conf;
}
[root@Nginx conf]
[root@Nginx conf]
[root@Nginx vhosts]
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]
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]
[root@Nginx-node conf]
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)
- 安装Tomcat
[root@Tomcat-node1 ~]
[root@Tomcat-node1 ~]
[root@Tomcat-node1 ~]
[root@Tomcat-node1 ~]
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~]
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 ~]
[root@Tomcat-node1 src]
[root@Tomcat-node1 src]
[root@Tomcat-node1 ~]
[root@Tomcat-node1 conf]
[root@Tomcat-node1 conf]
.......
<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]
[root@Tomcat-node1 conf]
创建测试文件
[root@Tomcat-node1 ~]
[root@Tomcat-node1 ~]
<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 ~]
<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]
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]
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]
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 8477 root 49u IPv6 12974768 0t0 TCP *:webcache (LISTEN)