部署oracle-JDK
https://www.oracle.com/java/technologies/javase-jdk8-downloads.html #oracle-JDK下载地址
oracle JDK在1.8版本之后不再提供升级,如果后期想使用JDK 8之后的版本,则只能进行付费使用;
1、cd /usr/local/src
2、tar xvf jdk-8u241-linux-x64.tar.gz
3、ln -sv /usr/local/src/jdk1.8.0_241 /usr/local/jdk
4、vim /etc/profile.d/java.sh
JAVA_HOME=/usr/local/jdk #tomcat自身可以不通过PATH环境变量找java,可以通过java专有环境变量JAVA_HOME找到java
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH #JAVA_HOME及PATH将输出为环境变量
5、. /etc/profile.d/java.sh
6、printenv #打印出系统的环境变量
/usr/local/jdk/bin/java #这个二进制程序是jvm程序
/usr/local/jdk/lib/ #类库;用于代码开发所使用的各种组件
/usr/local/jdk/jre/lib/ #为运行应用程序提供的标准类库
java类库通常是.jar打包后的格式;.jar中通常归档编译后的java程序,即.class类文件,以及类库;jar包不需要手动展开,系统会在调用时装载后进行自动展开,无需人为手动展开;
jvm可以运行在服务器模式、客户端模式以及混合模式下,每个模式下分配、释放内存的管理方式是不一样的;运行tomcat等服务端程序时,需要指明运行为服务器模式;
部署tomcat
https://tomcat.apache.org/download-80.cgi #tomcat下载地址
如果源码编译tomcat,需要使用java语言的项目构建工具maven去编译,就像不能使用gcc编译,而是使用c语言的项目构建工具make编译;
1、cd /usr/local/src
2、tar xvf apache-tomcat-8.5.51.tar.gz
3、ln -sv /usr/local/src/apache-tomcat-8.5.51 /usr/local/tomcat
4、useradd tomcat
5、chown -R tomcat.tomcat /usr/local/tomcat/* #java程序尽量使用普通用户启动
6、vim /etc/profile.d/tomcat.sh
CATALINA_BASE=/usr/local/tomcat #也需要告诉tomcat的家目录在什么位置
PATH=$CATALINA_BASE/bin:$PATH
export CATALINA_BASE PATH
7、su - tomcat #登录式切换,会直接读取配置的文件
8、/usr/local/tomcat/bin/catalina.sh start #使用tomcat用户启动进程
/usr/local/tomcat/bin/bootstrap.jar #此jar包用于引导tomcat自启动;java程序需要运行在jvm上,所以启动tomcat之前需要先启动jvm
/usr/local/tomcat/lib/ #主要提供jsp和servlet企业级类库
/usr/local/tomcat/webapps/ROOT/ #主站点目录
###tomcat内置应用程序
/usr/local/tomcat/webapps/manager/ #管理应用程序的一个web接口的应用程序
/usr/local/tomcat/webapps/host-manager/ #管理虚拟主机的应用程序
注意事项
tomcat拥有两个重要相关的变量,一个是CATALINA_BASE,一个是CATALINA_HOME;CATALINA_BASE是对每一个tomcat实例做根的,CATALINA_HOME为tomcat的安装目录的路径;如果我们想要运行Tomcat的多个实例,但是不想安装多个Tomcat软件副本。那么我们可以配置多个工作目录,每个运行实例独占一个工作目录,但是共享同一个安装目录。Tomcat 每个运行实例需要使用自己的conf 、logs 、temp 、webapps 、work和shared目录(除开lib目录和bin目录),因此CATALINA_BASE 就指向这些目录。而其他目录(lib和bin)主要包括了Tomcat的二进制文件和脚本,CATALINA_HOME就指向这些目录。