1、tomcat的安装 (centos版本)
1.1 安装Java依赖环境
[root@localhost ~]# rz -E
rz waiting to receive.
[root@localhost ~]# ls
anaconda-ks.cfg jdk-8u201-linux-x64.rpm 模板 图片 下载 桌面
initial-setup-ks.cfg 公共 视频 文档 音乐
[root@localhost ~]# rpm -ivh jdk-8u201-linux-x64.rpm
#安装成功
[root@localhost ~]# cd /usr/java/
[root@localhost java]# ls
default jdk1.8.0_201-amd64 latest
[root@localhost java]#
#添加环境变量
[root@localhost java]# vim /etc/profile
#添加内容
##
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
##
[root@localhost java]# source /etc/profile
[root@localhost java]# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
#添加成功
[root@localhost java]#
1.2 安装tomcat
具体操作步骤如下
[root@localhost opt]# rz -E
rz waiting to receive.
#拖入相关安装包
[root@localhost opt]# ls
apache-tomcat-9.0.16.tar.gz rh
[root@localhost opt]# tar -xf apache-tomcat-9.0.16.tar.gz
#解压
[root@localhost opt]# ls
apache-tomcat-9.0.16 apache-tomcat-9.0.16.tar.gz rh
[root@localhost opt]# cp -r apache-tomcat-9.0.16 /usr/local/tomcat
#复制到系统路径
[root@localhost opt]# cd /usr/local/tomcat/
[root@localhost tomcat]# ls
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[root@localhost tomcat]# cd bin/
[root@localhost bin]# ls
bootstrap.jar commons-daemon-native.tar.gz makebase.sh tomcat-juli.jar
catalina.bat configtest.bat setclasspath.bat tomcat-native.tar.gz
catalina.sh configtest.sh setclasspath.sh tool-wrapper.bat
catalina-tasks.xml daemon.sh shutdown.bat tool-wrapper.sh
ciphers.bat digest.bat shutdown.sh version.bat
ciphers.sh digest.sh startup.bat version.sh
commons-daemon.jar makebase.bat startup.sh
[root@localhost bin]# /usr/local/tomcat/bin/startup.sh
#以catlina的方式启动
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]# /usr/local/tomcat/bin/shutdown.sh
#以catlina的方式关闭
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@localhost bin]#
#创建tomcat用户,更改其属组
[root@localhost bin]# useradd -s /sbin/nologin tomcat
[root@localhost bin]# chown -R tomcat:tomcat /usr/local/tomcat
[root@localhost bin]#
#配置service文件,可以使用systemctl托管
[root@localhost system]# vim tomcat.service
[root@localhost system]# systemctl daemon-reload
[root@localhost system]# systemctl restart tomcat
[root@localhost system]# systemctl status tomcat
#service文件配置
[Unit]
Description=Tomcat
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
#配置软链接
[root@localhost system]# ln -s /usr/local/tomcat/bin/* /usr/bin
安装完成
2、tomcat的虚拟主机的配置
2.1 配置多级目录
[root@localhost data]# echo "abc" > abc/ROOT/index.html
[root@localhost data]# echo "def" > def/ROOT/index.html
[root@localhost data]# echo "xyz" > xyz/ROOT/index.html
[root@localhost data]# tree
.
├── abc
│?? └── ROOT
│?? └── index.html
├── def
│?? └── ROOT
│?? └── index.html
└── xyz
└── ROOT
└── index.html
#找到主站点配置目录
[root@localhost data]# cd /usr/local/tomcat/
[root@localhost tomcat]# ls
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[root@localhost tomcat]# cd conf/
[root@localhost conf]# ls
Catalina context.xml logging.properties tomcat-users.xsd
catalina.policy jaspic-providers.xml server.xml web.xml
catalina.properties jaspic-providers.xsd tomcat-users.xml
[root@localhost conf]# vim server.xml
[root@localhost conf]#
#添加三个站点目录
<Host name="www.abc.com" appBase="/data/abc" unpackWARs="true" autoDeploy="true">
</Host>
<Host name="www.def.com" appBase="/data/def" unpackWARs="true" autoDeploy="true">
</Host>
<Host name="www.xyz.com" appBase="/data/xyz" unpackWARs="true" autoDeploy="true">
</Host>
#测试访问虚拟主机 -- 成功
[root@localhost data]# curl www.abc.com:8080
abc
[root@localhost data]# curl www.def.com:8080
def
[root@localhost data]# curl www.xyz.com:8080
xyz
3、利用nginx的反向代理实现将转发指向一个虚拟机
机器 | IP地址 |
---|---|
pc | 192.168.107.192 |
nginx | 192.168.107.10 |
tomcat | 192.168.107.12 |
3.1 nginx服务器的配置
#安装nginx(略)
[root@localhost ~]# vim /etc/nginx/nginx.conf
#加入下面这三行(server模块)
location / {
proxy_pass http://www.def.com:8080/;
}
vim /etc/hosts
192.168.107.12 www.abc.com www.def.com www.xyz.com
3.2 客户端配置
vim /etc/hosts
192.168.107.10 www.abc.com www.def.com www.xyz.com
#检测访问
[root@localhost ~]# curl 192.168.107.10
abc
[root@localhost ~]# curl 192.168.107.10
abc
[root@localhost ~]# curl 192.168.107.10
abc
[root@localhost ~]# curl 192.168.107.10
abc
[root@localhost ~]# curl 192.168.107.10
abc
[root@localhost ~]# curl 192.168.107.10
abc
[root@localhost ~]# curl 192.168.107.10
def
[root@localhost ~]# curl 192.168.107.10
def
[root@localhost ~]# curl 192.168.107.10
def
[root@localhost ~]# curl 192.168.107.10
def
[root@localhost ~]# curl 192.168.107.10
def
[root@localhost ~]# curl 192.168.107.10
def
#成功
4、 反向多级代理
拓扑图如下
代理服务器操作
yum install nginx -y
systemctl start nginx
vim /etc/nginx/nginx.conf
upstream web {
server 192.168.91.101;
server 192.168.91.102;
}
location / {
proxy_pass http://web/;
}
nginx -s reload
nginx 1 服务器
yum install nginx -y
systemctl start nginx
vim /etc/nginx/nginx.conf
location ~ \.(jpg|html|png|css)$ {
root /usr/share/nginx/html;
}
location ~ \.jsp$ {
proxy_pass http://192.168.91.103:8080;
}
echo 7-2 > /usr/share/nginx/html/index.html
nginx 2 服务器
yum install nginx -y
systemctl start nginx
vim /etc/nginx/nginx.conf
location ~ \.(jpg|html|png|css)$ {
root /usr/share/nginx/html;
}
location ~ \.jsp$ {
proxy_pass http://192.168.91.105:8080;
}
echo 7-3 > /usr/share/nginx/html/index.html
tomcat 1 服务器
安装tomcat
echo 7-4 > /usr/local/tomcat/webapps/ROOT/test.jsp
tomcat 2 服务器
安装tomcat
echo 7-5 > /usr/local/tomcat/webapps/ROOT/test.jp