nginx+tomcat
全部系統採用centos7.1
各節點配置好hosts文件
cat /etc/hosts
172.16.92.1 node1.centos7.com node1
172.16.92.2 node2.centos7.com node2
172.16.92.3 node3.centos7.com node3
node2, node3 --> tomcat ( jsp網站服務器 )
node1 --> nginx反向代理至tomcat
================ node2 172.16.92.2/16 ===================
安裝JDK(光盤源)
yum -y install java-1.7.0-openjdk
安裝二進制tomcat
wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz
tar xf apache-tomcat-8.0.23.tar.gz -C /usr/local
cd /usr/local
ln -sv apache-tomcat-8.0.23 tomcat
vim /etc/profile.d/tomcat.sh
(:set paste)
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
================
. /etc/profile.d/tomcat.sh
catalina.sh --help
catalina.sh version
catalina.sh start
windows瀏覽器訪問 http://172.16.92.2:8080/ 能看到tomcat首頁即可
linux 訪問 curl -I http://172.16.92.2:8080/ 看到 HTTP/1.1 200 OK 即可
catalina.sh stop
mkdir -pv /data/webapps/ROOT
cd tomcat/conf
vim server.xml
#添加虛擬主機
<Engine name="Catalina" defaultHost="node2.centos7.com"> #修改
:set nu
:123,139y -> p -> 修改成如下
<Host name="node2.centos7.com" appBase="/data/webapps" autoDeploy="true">
<Context path="" docBase="ROOT" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/data/logs"
prefix="tomcat1_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
==============
mkdir /data/logs
catalina.sh configtest
>全部都是INFO開頭的就正常了
(難道是把jar放在 /data/webapps/ROOT/lib 下?)
mkdir -pv /data/webapps/ROOT/{lib,classes,META-INF,WEB-INF}
vim /data/webapps/ROOT/index.jsp
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>JSP Test Page on web 1</title>
</head>
<body>
<% out.println("JSP Test Page on tomcat 1"); %>
</body>
</html>
================
catalina.sh start
ss -tnal | grep 8080
windows 瀏覽器訪問 http://172.16.92.2:8080/
出現 "JSP Test Page on tomcat 1"
linux 訪問方式 curl http://172.16.92.2:8080/
出現 html的網頁代碼
================ node3 172.16.92.3/16 ===================
安裝JDK(光盤源)
yum -y install java-1.7.0-openjdk
安裝tomcat
scp node2:/root/apache-tomcat-8.0.23.tar.gz ./
tar xf apache-tomcat-8.0.23.tar.gz -C /usr/local
cd /usr/local
ln -sv apache-tomcat-8.0.23 tomcat
vim /etc/profile.d/tomcat.sh
(:set paste)
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
================
. /etc/profile.d/tomcat.sh
catalina.sh --help
catalina.sh version
catalina.sh start
windows瀏覽器訪問 http://172.16.92.3:8080/ 能看到tomcat首頁即可
linux 訪問 curl -I http://172.16.92.3:8080/ 看到 HTTP/1.1 200 OK 即可
catalina.sh stop
cd /usr/local/tomcat/conf/
cp server.xml{,.bak}
scp node2:/usr/local/tomcat/conf/server.xml ./
vim server.xml
<Engine name="Catalina" defaultHost="node3.centos7.com"> #修改
<Host name="node3.centos7.com" appBase="/data/webapps" autoDeploy="true"> #修改
prefix="tomcat2_access_log" suffix=".txt" #修改
=================
scp -rp node2:/data /
vim /data/webapps/ROOT/index.jsp
<% out.println("JSP Test Page on tomcat 2"); %> #修改
==========
catalina.sh configtest
>全部都是INFO開頭的就是正常了
catalina.sh start
windows 瀏覽器訪問 http://172.16.92.3:8080/
出現 "JSP Test Page on tomcat 2"
linux 訪問方式 curl http://172.16.92.3:8080/
出現 html的網頁代碼
================ node1 172.16.92.1/16 ===================
nginx做tomcat1,2的反向代理
安裝epel源
wget -O /etc/yum.repos.d/epel7.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install nginx
cd /etc/nginx
cp nginx.conf{,.bak}
vim nginx.conf
:1,$d -- 刪除全部內容
:set paste --> 再粘貼如下內容
################
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
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 /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
upstream tcsrvs {
server node2.centos7.com:8080;
server node3.centos7.com:8080;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
location ~* \.(jsp|do)$ {
proxy_pass http://tcsrvs;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
==================end of nginx.conf
nginx -t
>出現ok和successful相關句子就沒問題了
systemctl start nginx.service
ss -tanl | grep 80
windows瀏覽器訪問 http://172.16.92.1/index.jsp
>JSP Test Page on tomcat 2
>JSP Test Page on tomcat 1
在上面兩個網頁之間輪詢
nginx實現會話綁定 (基於源地址哈希方式綁定)
vim /etc/nginx/nginx.conf
=============
...... #其餘內容不變
upstream tcsrvs {
ip_hash; #添加此句
server node2.centos7.com:8080;
server node3.centos7.com:8080;
}
...... #其餘內容不變
=============
nginx -t
systemctl reload nginx.service
http://172.16.92.1/index.jsp
>JSP Test Page on tomcat 1 #固定在此頁面不再輪詢
各節點配置好hosts文件
cat /etc/hosts
172.16.92.1 node1.centos7.com node1
172.16.92.2 node2.centos7.com node2
172.16.92.3 node3.centos7.com node3
node2, node3 --> tomcat ( jsp網站服務器 )
node1 --> nginx反向代理至tomcat
================ node2 172.16.92.2/16 ===================
安裝JDK(光盤源)
yum -y install java-1.7.0-openjdk
安裝二進制tomcat
wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz
tar xf apache-tomcat-8.0.23.tar.gz -C /usr/local
cd /usr/local
ln -sv apache-tomcat-8.0.23 tomcat
vim /etc/profile.d/tomcat.sh
(:set paste)
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
================
. /etc/profile.d/tomcat.sh
catalina.sh --help
catalina.sh version
catalina.sh start
windows瀏覽器訪問 http://172.16.92.2:8080/ 能看到tomcat首頁即可
linux 訪問 curl -I http://172.16.92.2:8080/ 看到 HTTP/1.1 200 OK 即可
catalina.sh stop
mkdir -pv /data/webapps/ROOT
cd tomcat/conf
vim server.xml
#添加虛擬主機
<Engine name="Catalina" defaultHost="node2.centos7.com"> #修改
:set nu
:123,139y -> p -> 修改成如下
<Host name="node2.centos7.com" appBase="/data/webapps" autoDeploy="true">
<Context path="" docBase="ROOT" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/data/logs"
prefix="tomcat1_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
==============
mkdir /data/logs
catalina.sh configtest
>全部都是INFO開頭的就正常了
(難道是把jar放在 /data/webapps/ROOT/lib 下?)
mkdir -pv /data/webapps/ROOT/{lib,classes,META-INF,WEB-INF}
vim /data/webapps/ROOT/index.jsp
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>JSP Test Page on web 1</title>
</head>
<body>
<% out.println("JSP Test Page on tomcat 1"); %>
</body>
</html>
================
catalina.sh start
ss -tnal | grep 8080
windows 瀏覽器訪問 http://172.16.92.2:8080/
出現 "JSP Test Page on tomcat 1"
linux 訪問方式 curl http://172.16.92.2:8080/
出現 html的網頁代碼
================ node3 172.16.92.3/16 ===================
安裝JDK(光盤源)
yum -y install java-1.7.0-openjdk
安裝tomcat
scp node2:/root/apache-tomcat-8.0.23.tar.gz ./
tar xf apache-tomcat-8.0.23.tar.gz -C /usr/local
cd /usr/local
ln -sv apache-tomcat-8.0.23 tomcat
vim /etc/profile.d/tomcat.sh
(:set paste)
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
================
. /etc/profile.d/tomcat.sh
catalina.sh --help
catalina.sh version
catalina.sh start
windows瀏覽器訪問 http://172.16.92.3:8080/ 能看到tomcat首頁即可
linux 訪問 curl -I http://172.16.92.3:8080/ 看到 HTTP/1.1 200 OK 即可
catalina.sh stop
cd /usr/local/tomcat/conf/
cp server.xml{,.bak}
scp node2:/usr/local/tomcat/conf/server.xml ./
vim server.xml
<Engine name="Catalina" defaultHost="node3.centos7.com"> #修改
<Host name="node3.centos7.com" appBase="/data/webapps" autoDeploy="true"> #修改
prefix="tomcat2_access_log" suffix=".txt" #修改
=================
scp -rp node2:/data /
vim /data/webapps/ROOT/index.jsp
<% out.println("JSP Test Page on tomcat 2"); %> #修改
==========
catalina.sh configtest
>全部都是INFO開頭的就是正常了
catalina.sh start
windows 瀏覽器訪問 http://172.16.92.3:8080/
出現 "JSP Test Page on tomcat 2"
linux 訪問方式 curl http://172.16.92.3:8080/
出現 html的網頁代碼
================ node1 172.16.92.1/16 ===================
nginx做tomcat1,2的反向代理
安裝epel源
wget -O /etc/yum.repos.d/epel7.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install nginx
cd /etc/nginx
cp nginx.conf{,.bak}
vim nginx.conf
:1,$d -- 刪除全部內容
:set paste --> 再粘貼如下內容
################
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
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 /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
upstream tcsrvs {
server node2.centos7.com:8080;
server node3.centos7.com:8080;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
location ~* \.(jsp|do)$ {
proxy_pass http://tcsrvs;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
==================end of nginx.conf
nginx -t
>出現ok和successful相關句子就沒問題了
systemctl start nginx.service
ss -tanl | grep 80
windows瀏覽器訪問 http://172.16.92.1/index.jsp
>JSP Test Page on tomcat 2
>JSP Test Page on tomcat 1
在上面兩個網頁之間輪詢
nginx實現會話綁定 (基於源地址哈希方式綁定)
vim /etc/nginx/nginx.conf
=============
...... #其餘內容不變
upstream tcsrvs {
ip_hash; #添加此句
server node2.centos7.com:8080;
server node3.centos7.com:8080;
}
...... #其餘內容不變
=============
nginx -t
systemctl reload nginx.service
http://172.16.92.1/index.jsp
>JSP Test Page on tomcat 1 #固定在此頁面不再輪詢
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.