目录
修改各 tomcat 实例中的startup.sh和 shutdown.sh文件,添加 tomcat 环境变量
servlet:Servlet 是Java Servlet 的简称,可以理解为是一个服务连接器,是用 Java 编写的服务器端程序,具有独立于平台和协议的特性, 简单的理解:servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建。
- JSP 全称 Java Server Pages,是一种动态网页开发技术。它使用 JSP 标签在HTML网页中插入 Java 代码
- JSP 是一种 Java servlet,主要用于实现 Java web 应用程序的用户界面部分
- JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页
Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。 其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Service。
每个 Service 会包含一个 Container 容器。在 Container 内部包含了 4 个子容器
jdk-8u361-linux-x64.tar.gz
apache-tomcat-9.0.16.tar.gz #在部署Tomcat之前必须安装好jdk
systemctl stop firewalld
systemctl disable firewalld
setenforce 0 #关防火墙
cd /opt
tar -xf apache-tomcat-9.0.16.tar.gz
tar -xf jdk-8u361-linux-x64.tar.gz #解压文件
java -version #查看当前java版本
mkdir -p /usr/java #先在此目录下创建一个java目录
mv jdk1.8.0_361/ /usr/java #将此文件移动过去
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_361
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile.d/java.sh #启动此脚本
java -version #查看版本
JDK :java development kit (java开发工具)
JRE :java runtime environment (java运行时环境)
JVM :java virtuak machine (java虚拟机),使java程序可以在多种平台上运行class文件。
CLASSPATH:告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件。
tools.jar:是系统用来编译一个类的时候用到的,即执行javac的时候用到。
dt.jar:dt.jar是关于运行环境的类库,主要是swing包。
vim Hello.java #编写一个java脚本
public class Hello {
public static void main(String[] args){
System.out.println("Hello yy!");
}
} #java格式,输出一个hello yy
javac Hello.java #将java脚本编译
java Hello #执行脚本
cd /opt
mv apache-tomcat-9.0.16 /usr/local/tomcat
##启动tomcat##
#后台启动#
/usr/local/tomcat/bin/startup.sh
/usr/local/tomcat/bin/catalina.sh start
#前台启动#
/usr/local/tomcat/bin/catalina.sh run
netstat -natp | grep 8080 #查看8080端口
vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=tomcat server
Wants=network-online.target
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/java/jdk1.8.0_361"
Environment="PATH=$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
Environment="CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]WantedBy=multi-user.target
#第一次启动tomcat可能会发现 Tomcat 启动很慢,默认情况下可能会需要几十秒,可以修改jdk参数进行改。
vim /usr/java/jdk1.8.0_361/jre/lib/security/java.security
securerandom.source=file:/dev/urandom #117行修改
/usr/local/tomcat/bin/shutdown.sh #重启服务
- tomcat 启动慢的原因是随机数产生遭到阻塞,遭到阻塞的原因是 熵池大小?
- /dev/random:阻塞型,读取它就会产生随机数据,但该数据取决于熵池噪声,当熵池空了,对/dev/random 的读操作也将会被阻塞
- /dev/urandom:非阻塞的随机数产生器,它会重复使用熵池中的数据以产生伪随机数据这表示对/dev/urandom的读取操作不会产生阻塞,但其输出的熵可能小于/dev/random的。它可以作为生成较低强度密码的伪随机数生成器,不建议用于生成高强度长期密码。
Linux内核采用熵来描述数据的随机性。熵(entropy)是描述系统混乱无序程度的物理量,一个系统的熵越大则说明该系统的有序性越差,即不确定性越大
?
/usr/local/tomcat/bin/shutdown.sh #关闭tomcat服务
useradd -s /sbin/nologin tomcat #创建程序用户
chown tomcat:tomcat /usr/local/tomcat/ -R #添加用户设置属主属组
vim /etc/systemd/system/tomcat.service #新建服务文件
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
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
systemctl daemon-reload
systemctl start tomcat
ss -ntap |grep 8080 #重新加载配置文件,查看8080端口
mkdir /usr/local/tomcat/webapps/yy
mkdir /usr/local/tomcat/webapps/ikun
echo "This is yy page\!" > /usr/local/tomcat/webapps/yy/index.html
echo "This is ikun page\!" > /usr/local/tomcat/webapps/ikun/index.html
vim /usr/local/tomcat/conf/server.xml
#165行前插入#
<Host name="www.yy.com" appBase="/usr/local/tomcat/webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/yy" path="" reloadable="true" />
</Host>
<Host name="www.ikun.com" appBase="/usr/local/tomcat/webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/ikun" path="" reloadable="true" />
</Host>
systemctl stop tomcat
systemctl start tomcat #重新加载程序
cd /opt
tar xf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1
cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2
vim /etc/profile.d/tomcat.sh
#tomcat1
export CATALINA_HOME1=/usr/local/tomcat/tomcat1
export CATALINA_BASE1=/usr/local/tomcat/tomcat1
export TOMCAT_HOME1=/usr/local/tomcat/tomcat1
#tomcat2
export CATALINA_HOME2=/usr/local/tomcat/tomcat2
export CATALINA_BASE2=/usr/local/tomcat/tomcat2
export TOMCAT_HOME2=/usr/local/tomcat/tomcat2
source /etc/profile.d/tomcat.sh #加载此脚本
vim /usr/local/tomcat/tomcat2/conf/server.xml
#22行,修改Server prot,默认为8005 -> 修改为8006
<Server port="8006" shutdown="SHUTDOWN">
#69行,修改Connector port,HTTP/1.1 默认为8080 -> 修改为8081
<Connector port="8081" protocol="HTTP/1.1"
#116行,修改Connector port AJP/1.3,默认为8009 -> 修改为8010
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
vim /usr/local/tomcat/tomcat1/bin/startup.sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
##添加以下内容
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1
vim /usr/local/tomcat/tomcat1/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1
vim /usr/local/tomcat/tomcat2/bin/startup.sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2
vim /usr/local/tomcat/tomcat2/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2
/usr/local/tomcat/tomcat1/bin/startup.sh
/usr/local/tomcat/tomcat2/bin/startup.sh
netstat -natp | grep java
http://192.168.88.31:8080
http://192.168.88.31:8081