Apache Tomcat
系统Ubuntu,安装配置 JDK、Tomcat。
一、安装配置 JDK
Linux 平台的 JDK 一般分为两个版本:OpenJDK 与 oracle 官方的 JDK。
区别:
授权协议:OpenJDK 采用 GPL V2 协议,SUN JDK 采用 JRL。两者协议都是开放源代码的,GPL V2允许在商业上使用,而JRL只允许个人研究使用。
OpenJDK 不包含 Deployment(部署)功能:Browser Plugin、Java Web Start、以及 Java 控制面板,OpenJDK源代码不完整,OpenJDK 只包含最精简的 JDK。
版本显示:OpenJDK 不能使用 Java 商标,输入 “java -version” 显示的是OpenJDK,但是使用 Oracle 安装 java,显示的是 java。
1、安装默认的 JRE 和 JDK
Open JDK 是完全开源的 JDK,默认版的 JDK(Open JDK):
$ sudo apt install default-jdk
指定版本安装:
$ sudo apt-get install openjdk-15-jre
设置 JAVA_HOME 环境变量:
$ gedit ~/.bashrc
# 在文件末尾加上一行:
export JAVA_HOME=/usr/lib/jvm/java-15-openjdk-amd64
$ source ~/.bashrc
bashrc 与 profile 的区别
• /etc/profile,/etc/bashrc 是系统全局环境变量设定
• ~/.profile,~/.bashrc 用户家目录下的私有环境变量设定
• profile,对应的是用户登录系统时生效
• bashrc,对应的使用户登录系统后,打开终端时生效
2、安装 oracle 官方的 JDK
https://www.oracle.com/ Developer Downloads
https://www.oracle.com/downloads/
Java SE Downloads
https://www.oracle.com/java/technologies/javase-downloads.html
下载文件 dk-15.0.1_linux-x64_bin.deb 安装:
$ sudo dpkg -i jdk-15.0.1_linux-x64_bin.deb
# 注册 jdk
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-15.0.1/bin/java 500
$ sudo update-alternatives --install /usr/local/jdk jdk /usr/lib/jvm/jdk-15.0.1 500
设置 JAVA_HOME 环境变量:
$ gedit ~/.bashrc
# 在文件末尾加上:
export JAVA_HOME=/usr/lib/jvm/jdk-15.0.1 # jdk 安装后的位置
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
$ source ~/.bashrc
$ echo $JAVA_HOME
linux软件版本管理命令update-alternatives
$ update-alternatives --config java
二、安装配置 Tomcat
1、Tomcat 9 Software Downloads
https://tomcat.apache.org/download-90.cgi
假设下载文件解压到 ~/apache-tomcat-9.0.41
启动Tomcat服务器
yake@Ubuntu:~/apache-tomcat-9.0.41/bin$ sudo ./startup.sh
Using CATALINA_BASE: /home/yake/apache-tomcat-9.0.41
Using CATALINA_HOME: /home/yake/apache-tomcat-9.0.41
Using CATALINA_TMPDIR: /home/yake/apache-tomcat-9.0.41/temp
Using JRE_HOME: /usr
Using CLASSPATH: /home/yake/apache-tomcat-9.0.41/bin/bootstrap.jar:/home/yake/apache-tomcat-9.0.41/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
http://localhost:8080/
2、Tomcat 配置
conf/server.xml
1)Tomcat启动默认端口
2)Tomcat 虚拟目录的映射
a、在server.xml文件的host元素中配置
在 Host 标签内添加 Context 标签:
<Context path="/JavaWebApp" docBase="\web\www\html" />
Context 表示上下文,代表的就是一个 JavaWeb 应用,Context 元素有两个属性,
Ⅰ.path:虚拟目录,必须以"/"开头。
Ⅱ.docBase:App目录。
http://localhost:8080/JavaWebApp/aa.jsp
b、Tomcat 自动映射
Tomcat 服务器自动管理 webapps 目录下的所有 web 应用,并把它映射成虚似目录。
拷贝 JavaWebDemo 到 webapps 目录中,Tomcat 服务器就会自动为JavaWebDemo 这个J avaWeb 应用映射一个同名的虚拟目录 “/JavaWebDemo”。
c、添加 xml 文件
在 Tomcat 服务器的 \conf\Catalina\localhost 目录下添加一个 xml 文件,文件名任意,比如下面的 demo.xml。
The context path and version will be derived from the base name of the file
$CATALINA_BASE 指的就是 Tomcat 服务器根目录,[enginename] 指的是Tomcat 服务器使用的引擎名称,Tomcat 使用的引擎是 Catalina。
在 demo.xml 文件中添加 Context 元素映射 JavaWeb 应用,代码如下:
<Context docBase=" \web\www\html" />
注意:在Context 元素中没有指明 path 属性
“\web\www\html” 映射的虚拟目录名称就是这个xml文件名 demo
http://localhost:8080/demo/aa.jsp
3)Tomcat 服务器配置虚似主机
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
虚拟主机管理 webapps 文件夹下的所有 web 应用
<Host name="localhost" appBase="\web\www">
</Host>
注意: \web\www 不是一个项目的根目录,而是存放 JavaWeb 应用的文件夹。
http://localhost:8080/html/index.jsp
三、配置 Nginx
conf/nginx.conf
events { worker_connections 1024; }
http {
upstream tomcat{
server localhost:8080;
}
server {
root /home/yake/www/html;
location ~ (\.jsp)|(\.do)$ {
proxy_pass http://tomcat;
}
location /img/ {
alias /home/yake/www/html/img/;
}
}
}
假设目录结构如下:
yake@Ubuntu:~/www$ tree ../www
../www
└── html
├── conf
│ └── nginx.conf
├── img
│ └── example.jpg
├── index.html
├── index.jsp
└──logs
├── access.log
├── error.log
└── nginx.pid