Ubuntu配置tomcat9
buntu 安装jdk:[链接]
Ubuntu安装eclipse:[链接]
Ubuntu下安装MySQL与mysql workbench:[链接]
Ubuntu配置tomcat9:[链接]
Ubuntu配置tomcat9
一.下载tar.gz压缩文件
这里下载core版本的。
二.把压缩包复制到/usr/tomcat文件夹下(这里的tomcat文件夹是自己建的)
解压压缩文件
sudo tar -zxvf apache-tomcat-9.0.0.M18.tar.gz
三.设置环境变量
按照百度的教程:
使用gedit打开startup.sh文件,添加Java的jdk与jre(前提是已经安装jdk与jre)
sudo gedit /usr/tomcat/apache-tomcat-9.0.0.M18/bin/startup.sh
在文件末尾添加如下代码:
JAVA_HOME=/usr/jvm/jdk1.8.0_121
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME
CLASSPATH=.:$JRE_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
TOMCAT_HOME=/usr/tomcat/apache-tomcat-9.0.0.M18
前边4句是java的环境变量,最后一句是tomcat的环境变量
然而出现了如下问题(找不到JAVA_HOME):
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
首先百度搜的几乎清一色的都使是这个办法:
但是我按照这个办法修改之后还是不行,于是爬墙出去搜了下,解决办法如下:
试过之后,果然有效, 如图,输入 :
sudo ./bin/startup.sh
出现Tomcat started了,但是在浏览器里输入:http://localhost:8080/ 却出现了无法访问的问题。
来来回回又检查好几遍原来JAVA_HOME的路径错了(有点崩溃)。
修正后我发现两种办法都能正确开启tomcat成功:
1.在startup.sh中添加:
JAVA_HOME=/usr/java/jdk1.8.0_121
JRE_HOME=${JAVA_HOME}/jre
PATH=${JAVA_HOME}/bin:$PATH
CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
CATALINA_HOME=/usr/tomcat/apache-tomcat-9.0.0.M18
这里要注意:
1.以上代码要添加到startup.sh文件中最后一句(exec “PRGDIR"/"EXECUTABLE” start “$@”)的上面
2.还要在shutdown.sh中添加以上代码(环境变量)才能正确关闭tomcat,要不然执行关闭命令的时候还会提示(这里又折腾了十几分钟才整明白)
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
2.在setenv.sh中添加:
export JAVA_HOME=/usr/java/jdk1.8.0_121
export CATALINA_HOME=/usr/tomcat/apache-tomcat-9.0.0.M18
这种办法相对于第一种办法有一个好处就是:只需要添加这一次,无论开启还是关闭tomcat都不会找不到JAVA_HOME。
四.其他相关
1.为什么在setenv.sh中添加环境变量就能解决问题:
链接:http://askubuntu.com/questions/468772/tomcat-does-not-recognize-java-home
大体意思是:在你使用catalina.sh开始tomcat的时候,他会现在setenv.sh中搜索JAVA_HOME和CATALINA_HOME所以我们在setenv.sh文件中添加环境变量才对。
2.相关linux命令:
#关闭与打开tomcat
sudo ./bin/shutdown.sh
sudo ./bin/startup.sh #用文本编辑器编辑相关文件
sudo gedit ./bin/startup.sh
sudo gedit ./bin/setenv.sh
sudo gedit ./bin/shutdown.sh
最后附一张最终解决问题的截图:
为Eclipse配置Tomcat
解压完tomcat9之后,tomcat下所有文件夹的读写都是需要root权限的,所以在向eclipse中添加的时候会提示Unknown version of Tomcat was specified,搜索了一下午也没整明白,第二天突发奇想是不是跟权限有关系,于是把tomcat文件夹的权限改成777,果然,问题解决了:
sudo chmod -R 777 apache-tomcat-9.0.0.M18/
777是读、写、执行权限
Ubuntu配置tomcat9的更多相关文章
- Ubuntu配置Tomcat9非root用户启动
unix类系统的root用户具有极大的权利,所以很多时候我们不希望程序以root身份启动,这也就是配置Tomcat以指定身份(非root)启动的初衷,虽然也没人来攻击我的服务器,但本着学习学习的目的, ...
- ubuntu配置NFS
ubuntu配置NFS: sudo apt-get install nfs-kernel-server 配置/etc/exports 例如:我们要将根目录下的 /opt/FriendlyARM/min ...
- ubuntu配置tftp服务
ubuntu配置TFTP服务: TFTP是用来下载远程文件的最简单的网络协议,基于UDP协议.xinetd是新一代的网络守护进程服务程序,经常用于管理多种轻量型internet服务. sudo apt ...
- 关于ubuntu配置静态IP 无法正常上网的解决方案
在ubuntu中配置静态IP后无法正常上网. 解决: 1.在终端执行 vim /etc/network/interfaces 在文件中加入如下内容,网关要写上,我开始一直无法上网就是因为没有配置网关 ...
- 转: ubuntu配置NFS,挂载开发板
====================================== 命令: 1. $sudo apt-get install nfs-kernel-server (安装N ...
- Ubuntu配置和修改IP地址
Ubuntu配置和修改IP地址 1.修改配置文件/etc/network/interfacesroot@ubuntu:~# sudo gedit /etc/network/interfaces 添加以 ...
- ubuntu 配置JDK环境变量
ubuntu 配置JDK环境变量 (2011-11-25 16:45:59) 转载▼ 标签: ubuntu jdk 环境变量 杂谈 分类: Linux_Ubuntu_CentOs 过程如下: 1. 先 ...
- Ubuntu配置OpenStack 二:配置时间同步NTP和安装数据库Maridb以及问题总结
继上一节Ubuntu配置OpenStack 一:配置主机环境,下面继续为安装时间同步,以及配置openstack的安装包源和安装数据库Maridb.(全文截图都是由自己徒手搭建完成并且截图) 一.安装 ...
- ubuntu配置小飞机
现在有两种方式在ubuntu配置本地shadowsocks(前提已经在服务器上搭建好了ss) windows,ios和安卓配置都是gui,没什么好说的.然后前期工作什么买vps啊,比较无脑,不想记录这 ...
随机推荐
- ORACLE 本地数据库存储过程 调用远程数据库存储过程
废话少说,直接切入主题 步骤1:建立一个远程数据库的连接服务名 D:\oracle\ora92\network\admin\tnsnames.ora 添加如下代码: SDEC = (DESC ...
- JavaScript对象添加、删除、修改对象的属性
https://www.cnblogs.com/goweb/p/5357640.html 利用动态特性 function Person(){}; var person = new Person(); ...
- linux下安装apc
wget htdtp://pecl.php.net/get/APC tar zxvf APC-3.1.3p.tgz cd APC-3.1.3p /usr/local/php/bin/phpize ./ ...
- 获取radio、select、checkbox标签选中的值
<input type="radio" id="radio1" name="radio"><label for=" ...
- Java面试题全集(上-中-下)及Java面试题集(1-50/51-70)
阅读量超百万级的文章,收藏并分享一下.感谢原创作者的总结 对初中级java开发人员有特别大的帮助,不论是技术点面试还是知识点总结上. Java面试题全集(上): https://blog.cs ...
- Oracle12c中多宿主容器数据库(CDBs)和可插拔数据库(PDBs)新特性之运行脚本
对开发者和DBA们来说,对shell脚本批量任务的影响成了多宿主选项带来的最大改变之一.因为多宿主环境通过服务来连接到可插拔数据库,因此,依靠CRON和OS认证成了换成多宿主环境后的一个最大问题.本文 ...
- 再探Circuit Breaker之使用Polly
前言 上一篇介绍了使用Steeltoe来处理服务熔断,这篇我们将用Polly来处理服务熔断. 不废话了,直接进正题. 简单的例子 同样先定义一个简单的服务. [Route("api/[con ...
- python 序列化及其相关模块(json,pickle,shelve,xml)详解
什么是序列化对象? 我们把对象(变量)从内存中编程可存储或传输的过程称之为序列化,在python中称为pickle,其他语言称之为serialization ,marshalling ,flatter ...
- const用法体会
const三个原则: 第一,如果你参数里面的变量在函数体内不改变,那么把该参数定义成const... : 第二,如果你的函数不会改变类里面的成员变量,把该函数定义成const成员函数,Eg: int ...
- SSM-Spring-09:Spring中jdk动态代理
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- JDK动态代理: 为何叫JDK动态代理呢? 所谓JDK,jdk是java开发工具包,它里面包含了一个动态代理的 ...