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的更多相关文章

  1. Ubuntu配置Tomcat9非root用户启动

    unix类系统的root用户具有极大的权利,所以很多时候我们不希望程序以root身份启动,这也就是配置Tomcat以指定身份(非root)启动的初衷,虽然也没人来攻击我的服务器,但本着学习学习的目的, ...

  2. ubuntu配置NFS

    ubuntu配置NFS: sudo apt-get install nfs-kernel-server 配置/etc/exports 例如:我们要将根目录下的 /opt/FriendlyARM/min ...

  3. ubuntu配置tftp服务

    ubuntu配置TFTP服务: TFTP是用来下载远程文件的最简单的网络协议,基于UDP协议.xinetd是新一代的网络守护进程服务程序,经常用于管理多种轻量型internet服务. sudo apt ...

  4. 关于ubuntu配置静态IP 无法正常上网的解决方案

    在ubuntu中配置静态IP后无法正常上网. 解决: 1.在终端执行 vim /etc/network/interfaces 在文件中加入如下内容,网关要写上,我开始一直无法上网就是因为没有配置网关 ...

  5. 转: ubuntu配置NFS,挂载开发板

    ====================================== 命令: 1. $sudo apt-get install nfs-kernel-server           (安装N ...

  6. Ubuntu配置和修改IP地址

    Ubuntu配置和修改IP地址 1.修改配置文件/etc/network/interfacesroot@ubuntu:~# sudo gedit /etc/network/interfaces 添加以 ...

  7. ubuntu 配置JDK环境变量

    ubuntu 配置JDK环境变量 (2011-11-25 16:45:59) 转载▼ 标签: ubuntu jdk 环境变量 杂谈 分类: Linux_Ubuntu_CentOs 过程如下: 1. 先 ...

  8. Ubuntu配置OpenStack 二:配置时间同步NTP和安装数据库Maridb以及问题总结

    继上一节Ubuntu配置OpenStack 一:配置主机环境,下面继续为安装时间同步,以及配置openstack的安装包源和安装数据库Maridb.(全文截图都是由自己徒手搭建完成并且截图) 一.安装 ...

  9. ubuntu配置小飞机

    现在有两种方式在ubuntu配置本地shadowsocks(前提已经在服务器上搭建好了ss) windows,ios和安卓配置都是gui,没什么好说的.然后前期工作什么买vps啊,比较无脑,不想记录这 ...

随机推荐

  1. Day5_协程函数_面向过程

    def func(count): while True: yield count count +=1 #这是一个生成器,需要利用next()来执行. func(10) #yield: #1.把函数的执 ...

  2. lua函数随记

    在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在 ...

  3. Java EE的未来

    http://www.infoq.com/cn/articles/enterprise-Java-opinion 作为InfoQ下一年编辑关注点审核工作的一部分,我们挑选了Java作为深入探讨的主题. ...

  4. AngularJS之备忘与诀窍

    译自:<angularjs> 备忘与诀窍 目前为止,之前的章节已经覆盖了Angular所有功能结构中的大多数,包括指令,服务,控制器,资源以及其它内容.但是我们知道有时候仅仅阅读是不够的. ...

  5. Qt中的ui指针和this指针

    初学qt,对其ui指针和this指针产生疑问,画了个把小时终于搞懂了. 首先看ui指针的定义: 在mainwindow.h中 private: Ui::MainWindow *ui; Ui又是什么? ...

  6. linux(centos 7)学习之 ~目录下的文件anaconda-ks.cfg

    这个文件是记录安装系统的一些信息 #version=DEVEL # System authorization information auth --enableshadow --passalgo=sh ...

  7. Java基础知识总结【转+整合】

    写代码: 1.明确需求.自己要做什么? 2.分析思路.怎么做? 3.确定步骤.每个思路部分用到哪些语句,方法和对象. 4.代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该 ...

  8. 如何利用Python网络爬虫抓取微信朋友圈的动态(上)

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  9. NewLife.Net——网络压测单机1.88亿tps

    NewLife.Net压力测试,峰值4.2Gbps,50万pps,消息大小24字节,消息处理速度1.88亿tps! 共集合20台高配ECS参与测试,主服务器带宽6Gbps.100万pps,16核心64 ...

  10. dw cs6 trial

    试用版: https://helpx.adobe.com/x-productkb/policy-pricing/cs6-product-downloads.html English/Japanese: ...