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啊,比较无脑,不想记录这 ...
随机推荐
- tomcat 绑定ipv4端口
在<tomcat>/bin目录打开catalina.sh,然后添加如下内容: JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=t ...
- java之Spring(IOC)装配Bean(手动装配、自动装配、注解装配)
在上一篇控制反转中我们看到了依靠一个Bean文件来实现对代码的控制,可谓十分便捷,再也不用去实例化对象了,2333~~~ 1.手动装配 <bean id="todo" cla ...
- 0513JS数组遍历、内置方法、训练
一.定义一个数组把其中的偶数取出,组成一个新的数组 var attr = [9,34,80,27,56]; var attr1 = []; for(var i in attr){ if(attr[i] ...
- Vue初学跳坑
1. uncaught TypeError: Cannot read property '0' of undefined <div class="home-module-wrap&qu ...
- spring boot之从零开始开发自己的网站
概述 首先要感谢两位大神,该项目的想法来源自tale和MyBlog,本项目的想法. 做了一些改造,增加了一些功能和一些代码的重构,并且更换了博客主题. 关于项目,对于开发的练手项目,能够工程化,严谨一 ...
- springboot+activemq中引入重发机制
一.简介 在使用activemq消息中间件进行消息队列传输时,总会由于各种原因导致消息失败. 一个经典的场景是一个生成者向Queue中发消息,里面包含了一组邮件地址和邮件内容.而消费者从Queue中将 ...
- 网络编程之套接字(udp)
Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进程通信机制,取后一种意思.通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机 ...
- SSM-MyBatis-03:Mybatis中简单的整合日志
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------简单的整合日志,首先提供俩种方式,log4j和logback简单的说一下logback,他由log4j的原作者编 ...
- Open-Source Service Discovery
Service discovery is a key component of most distributed systems and service oriented architectures. ...
- tkinter中树状结构的建立(十四)
树状结构的建立 import tkinter from tkinter import ttk wuya = tkinter.Tk() wuya.title("wuya") wuya ...