在 Ubuntu 系统下安装配置 JDK 和 Tomcat

Apache Tomcat

http://tomcat.apache.org/

系统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

猜你喜欢

转载自blog.csdn.net/weixin_43955170/article/details/112424418