Linux 下设置java环境和tomcat安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 下设置java环境和tomcat安装相关的知识,希望对你有一定的参考价值。

接下来提供几个比较有用的控制台命令给大家,方便使用的过程中,顺带学习Linux的操作。

命令:

新建文件夹:mkdir 新建的文件夹名

进入文件夹:cd 文件夹名

返回根目录:cd

-c为断点续传下载到当前文件夹:wget -c 需要下载的链接

查看当前文件夹下所有内容:dir

分类高亮显示当前文件下所有内容:ls

删除:rm -rf 目录名字

重命名:mv 源文件 新文件名

移动文件/文件夹:mv 文件 文件夹

二、在线安装JAVA JDK环境

注意:JDK 可以在线安装,也可以下载好后,传到服务器上。这里选择在线安装

好~有了前面的铺垫~接下来我们的进度将会大大的跟上!

第一步:在线下载JDK 7

因为我本机的开发环境是JDK7,为了防止有什么意外,我服务器上就也弄成版本是7的了,当然你要新点儿的8,甚至最新的9都没有问题,咱这个就提供一个方法~怎么钓鱼,还是看自己。

由于直接度娘JDK出来的都是版本8,那就度娘“JDK7”就好,打开Download页面如下。

技术分享

由于我这个服务器是64位的,故而下载上图的版本,由于rpm的安装比较方便,于是乎,tar.gz我就放弃了,如果以后有机会(当然最好别碰到了。。。这个玩意儿折腾了我一个下午的光阴。。。),我还是拿出来会更新博文的,下载也别慌,点击下载以后,取得其真实下载地址,复制出来就好,咱既然是学习,当然要装逼的在Linux下直接断点下载呀~

Linux下,输入

wget -c http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm?AuthParam=1469608052_e2c30583645658b811e74e15f4fb04fb

即可,由于版副问题,这里应该是没有换行的哈,敲击回车即可出现如图的下载线程

技术分享

呵呵~晚上的速度有点儿快哦~300+MB/S~呵呵~吓到宝宝了

下载好了以后,直接键入下面指令进行安装JDK

rpm -ivh jdk-7u79-linux-x64.rpm

回车一下~看着无数飙升的一行行的文件、目录,你就可以喝口水了

片刻之后,安装完毕之后(我有一次截图让大家看得清楚的强迫症。。。但是我现在的机子才1366*768的,太长了截不了,那就算咯~反正这个没什么问题的),老规矩~配置JAVA环境。

在根目录下(不确定是不是根目录就看你的输入状态就是了,进入哪个文件夹就会显示当前文件夹名的,如果进入了某文件夹了,最好退出到根目录,直接输入cd就好),输入以下指令:

vi /etc/profile

然后出现如下图

技术分享


看到划线的地方没?点击任意键继续(别跟我讲你在键盘上找不到任意键!!!技术分享),这里面写的东西跟咱目前没啥大关系,点击任意键以后,看到如下的文本界面。

技术分享

好~现在进入到这个页面以后,一直往下滚,滚到不能再滚的时候,开始进入编辑模式,敲上如下路径命令:

JAVA_HOME=/usr/java/jdk1.7.0_79

CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH CLASSPATH JAVA_HOME

如图所示:

技术分享

OK!保存~执行以下该文件

source /etc/profile


不报错给个反馈就行~其实这个网上很多都没有写,个别说明要执行以下刚才编辑的文件,这个意思就是立即执行该文件,换句话来说,这个就是让你所选的文件立即生效的意思~

好啦!现在开始看看JAVA安装好了没有~键入如下命令查看JAVA版本:

java -version

看到如下提示就完成JAVA的安装及其环境配置了

技术分享

当然这里顺带讲一下,如果你嫌弃你的JDK版本太老了,那么该如何更新JDK呢?

JDK在Linux环境下卸载要比在WIndows系统下容易得很多很多!

首先,通过下面的命令查询之前rpm安装的JDK包

rpm -qa|grep java

找到了之后,通过下面命令一键卸载!

rpm -e jdk-7u79-linux-x64.rpm

不过有时候还是有点儿事不如人意的,不过这次我就真的很幸运没有碰到了~网上有些苦逼的哥们卸载时找不到JDK包,那么很遗憾的就是,你只能通过删除其目录的方式来卸载了,不过这个方法也挺干净的~

我们通过

which java

或者

echo $JAVA_HOME

命令来找到之前安装的旧版本的JDK的目录,然后rm掉它们就行了,卸载掉之后,就进行老办法,再次安装新的JDK即可~这里我就不过多赘述了。

PS:Linux的rpm里面有个东东叫做“升级/安装”!这个东西挺不错的,直接可以把你的rpm包给升级了,不过这个的前提是,你rpm能够找到之前安装的包,否则的话,这样安装有可能会出很严重的问题,两个JAVA环境给搞混了,打架了肿么破!?这个还是小心谨慎点儿为好,一般还是建议先卸载了后安装,反正卸载也挺干净的,是不是?

在更新完JAVA之后,还仍需像之前安装JDK那样,修改一下环境变量,然后source一下~

三、在线安装Tomcat服务器

好!接下来咱安装Tomcat,其实Tomcat安装和JAVA环境安装一样,甚至还简单些(不用配置环境变量~),因此,这里我就简单的说明一下,就一笔带过了哈~


首先还是下载,本人使用的是Tomcat 7,因此直接跑去7的下载页面,结果看到发现居然灭有rpm的!?哎,老夫甚是伤心啊~不过也没事儿~tgr.gz的照样搞!


技术分享

和之前一样的套路,wget -c 地址,把它下载了下来,然后通过tar -zxvf 文件名  命令来解压它,详细代码如下:

wget -c http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.70/bin/apache-tomcat-7.0.70.tar.gz

tar -zxvf apache-tomcat-7.0.70.tar.gz


好~两条命令就可以让这服务器乖乖的解压干活了,解压完毕之后,我习惯都放进usr目录下面,看上去整洁点(强迫症!),于是乎,移动一下到/usr/local目录下。


之后,编辑下老地方 /etc/profile

在添加Java环境下多添加一行

TOMCAT_HOME=/usr/local/tomcat

保存并退出,然后source 一下,下面讲解一下怎么开启Tomcat服务器


cd /usr/local/tomcat/bin

进入tomcat 下的bin目录

./startup.sh            开启服务器

./shutdown.sh       停止服务器

开启服务器的时候,应该会有一下的内容

技术分享

平常可以用这个命令来查看tomcat服务器是否开启

ps -ef|grep java

出现下面所示则表示服务器没有开启

技术分享

出现下面所示则表示服务器已经开启

技术分享

好啦,到这里咱的Tomcat 7也安装好了,如果不需要数据库,那你大可直接就将你的项目部署上来了~


但是在这之前,我们访问一下看看是不是真的有效,输入下面指令访问我们的localhost:8080看看所得网页内容


curl http://localhost:8080

如果出现一大串的html语句,那么恭喜你!你的Tomcat 7已经完全成功配置

当然,我是没这么幸运的,我出现了“拒绝链接”之类的提示

上网查了一下,发现这是和防火墙有关,好~那就关闭Tomcat先吧

解决方案如下

在  /etc/firewalld/services/  目录下新建一个名为  tomcat.xml  的文件

输入以下内容

< ?xml version="1.0" encoding="utf-8"? >

< service>

        < short>Tomcat Webserver</ short>

        < description>HTTPS is a modified HTTP used to serve Web pages when security is important. Examples are sites that require logins like stores or web mail. This option is not required for viewing pages locally or developing Web pages. You need the httpd package installed for this option to be useful.</ description>

        < port protocol="tcp" port="8080"/>

< /service>

之后,保存并退出,把此服务加入防火墙规则中

firewall-cmd --reload

firewall-cmd --add-service=tomcat

firewall-cmd --permanent --add-service=tomcat

由于非root用户不能侦听1023以下端口,网上说,利用firewalld在数据包路由之前进行端口转发,把所有发往80的tcp包转发到8080端口,所以呢,执行下面命令

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080

firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080

最后再 firewall-cmd --reload 一下,重启Tomcat,再次执行访问:


curl http://localhost:8080

终于看到了久违的HTML!!!

技术分享

至此!Tomcat 就顺利解决我所碰到的问题了~不过,这还没完!!!还有件事儿没做呢!!!当你看到你的Tom小猫咪的时候!!请注意这里!!

技术分享

你点进去试试!马上叫你输入远程账号密码,这个账号密码咱还没配置呢!!!着急个啥哦!?虽然这个貌似无足轻重,但是,咱这个毕竟是教程,还是得讲详细点儿的!赶紧的收心回来,把Tomcat关了,继续配置去!

cd /usr/local/tomcat/conf

进入到config管理文件夹,然后

vi tomcat-users.xml

进行修改,在< tomcat-users>标签末尾之前添加如下,注意!!Tomcat 6的规则是这么写的:

< role rolename="admin"/ >

< role rolename="manager"/ >

< user username="admin" password="admin" roles="admin , manager"/ >

而Tomcat 7的则是这么写的:

< role rolename="admin-gui"/ >

< role rolename="manager-gui"/ >

< user username="admin" password="admin" roles="admin-gui , manager-gui"/ >

技术分享

如上图所示哈~username和password你就随意啦,记得住就行!这下才算是真正的结束了Tomcat的安装和配置了。

四、在线安装mysql数据库

好!进入这篇文章的最后一步——安装MySQL了。

首先哈~在Linux下安装MySQL相对于Windows环境下还是比较随意的,毕竟我自己装都装了好几次了,重新卸载了再安装,丝毫不存在什么大问题,而Windows下就一大堆没卸载干净的问题了。不过由于之前我不知道怎么了,可能阿里云的这个自带有的?还是什么,没安装成功,然后我就先把MySQL卸载干净了之后,再安装成功的。

下面先讲解下如何卸载:

《======华丽丽的插曲分割线======》

卸载MySQL,相对还是挺简单的,首先可以查看本机MySql安装信息,键入如下命令

rpm -qa|grep -i mysql

如果安装成功过的话,则会出现相关的安装了的MySQL包,当然,在我饱受折磨的这个下午,除了最后安装成功以外,一次都没有看到过。。。

如果你看到了,那么你很幸运,直接删除包

rpm -ev 包名

删除了以后,还要记得删除相关的旧版本的开发库和头文件

rm -fr /usr/lib/mysql

rm -fr /usr/include/mysql

甚至你还要查找所有有关mysql字眼的文件和文件夹,一并删除!

find / -name  ‘mysql‘

然后将查找到的全部rm掉!

卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

rm -f /etc/my.cnf

rm -fr /var/lib/mysql

至此,卸载大法到此为止

《======华丽丽的插曲分割线======》


卸载干净了~咱就能开始安装了,通过老方法,咱下载MySQL去


http://dev.mysql.com/downloads/mysql/5.5.html#downloads

可以打开这个界面,因为我安装的是5.5的,所以,就拿这个为例了。

我们下载的SQL类型,请注意!是MySQL Community Server,别下错了哈!下错安装错了,到时卸载的方法又是另一种了哦~

下拉,选择如下

技术分享

之后,下面显示的所有都是满足要求哒~然后我们就选中如下图所划的三个:

技术分享

下面的这些6啊神马的,懒得理~如果你有需要~当然啦,用就用嘛~没事儿~

好~老方法下载它们下来,别说不会下!之前教了的wget!

wget -c http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-devel-5.5.50-1.el7.x86_64.rpm

wget -c http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-client-5.5.50-1.el7.x86_64.rpm

wget -c http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-server-5.5.50-1.el7.x86_64.rpm

下载完成后,先按照server ---> client ---> devel的顺序安装!

老办法 rpm -ivh MySQL-server-5.5.50-1.el7.x86_64.rpm


这里要注意啦!!!

如果你的MySQL运行上面这个报错!内容大致为下面这种:

error: Failed dependencies: 

libaio.so.1()(64bit) is needed by MySQL-server-5.5.50-1.el7.x86_64

libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.5.50-1.el7.x86_64

libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.5.50-1.el7.x86_64


那说明你的服务器没有安装“依赖包libaio”

那么我们就安装去呗!

直接键入 yum install libaio  进行安装,中途输入Y键同意神马神马,继续神马神马的之前安装这么多东西,早都见怪不怪了~Y就是咯~

网上也有相关的信息如下:

运行该命令时会发现在这台云服务器上无法通过yum快速安装软件,搜索了一些资料,原来是阿里云安装的是Red Hat5.4的64位系统,但是提供的是CentOS 32位的系统。错误信息参考如下:

Setting up Install Process 

No package libaio available.

Nothing to do

额。。。反正我安装的时候没有遇到这个情况,如果大伙儿有碰到这情况的话,不妨按照下面的方法试一试。

(1)通过rpm命令查看有哪些yum包,然后进行卸载

笔者在云服务器进行的操作如下:

[[email protected] software]# rpm -qa|grep yum

yum-3.2.22-20.el5

yum-metadata-parser-1.1.2-3.el5

[[email protected] software]# rpm -e --nodeps yum-3.2.22-20.el5

warning: /etc/yum.conf saved as /etc/yum.conf.rpmsave

[[email protected] software]# rpm -e --nodeps yum-metadata-parser-1.1.2-3.el5

(2)通过wget命令在163的镜像上下载CentOS的yum包

参考命令如下:

wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm

wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-4.el5.x86_64.rpm 

wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm

说明:可能版本会有一些不同,请大家在http://mirrors.163.com/centos/5/os/x86_64/CentOS/下查找yum-3xxx开头、yum-metadata开头和yum-fastestmirror开头的rpm包下载。

(3)安装yum相关的rpm包

使用如下命令安装在(2)中下载的rpm包:

rpm -ivh yum-*

(4)下载CentOS-Base.repo

找一个CentOS的包资源配置库,名为CentOS-Base.repo,放到/etc/yum.repos.d/路径:

[[email protected] software]# cd /etc/yum.repos.d/

[[email protected] yum.repos.d]# wget http://www.linuxidc.com/files/2011/05/06/CentOS-Base.repo

--2013-02-22 08:58:27-- http://www.linuxidc.com/files/2011/05/06/CentOS-Base.repo

Resolving www.linuxidc.com 60.191.129.94

Connecting to www.linuxidc.com|60.191.129.94|:80 connected.

HTTP request sent, awaiting response 200 OK

Length: 1426 (1.4K) [application/octet-stream]

Saving to: `CentOS-Base.repo‘

100%[==========================================================================================>] 1,426       --.-K/s   in 0s      

2013-02-22 08:58:28 (124 MB/s) - `CentOS-Base.repo‘ saved [1426/1426]

(5)生成缓存文件到/var/cache/yum目录

[[email protected] yum.repos.d]# yum makecache

Loaded plugins: fastestmirror

Determining fastest mirrors

addons                                                                                  | 1.9 kB     00:00     

addons/filelists_db                                                             | 568 B     00:00     

addons/other_db                                                                                   

base   

……                                                                                                                                                    3641/3641

base                                                                                                                      3641/3641

Metadata Cache Created

 

 

(6)安装依赖包libaio

第(5)步做完后,此时可以成功运行yum install libaio命令,参考执行情况如下:

[[email protected] yum.repos.d]# yum install libaio 

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

Setting up Install Process

Resolving Dependencies

……

Complete

好!上面的搞掂了,咱就能继续弄我们的MySQL了,按之前将的顺序,依次安装他们

rpm -ivh MySQL-server-5.5.50-1.el7.x86_64.rpm

rpm -ivh MySQL-client-5.5.50-1.el7.x86_64.rpm

rpm -ivh MySQL-devel-5.5.50-1.el7.x86_64.rpm


若想查看MySQL安装到哪个目录,可使用“whereis mysql”命令查看,我的如下图所示:

技术分享

可使用如下命令启动MySQL:

service mysql start

或者使用如下命令:

/etc/init.d/mysql start

我一般倾向于后者~毕竟网上前辈大多说后者不容易出错

开启数据库之后~

如果你的运气很好的话,那么在你运行MySQL命令时,会提示你设置root用户密码,貌似是下面的字眼

[ERROR] You must SET PASSWORD before executing this statement

这样的话,直接使用 SET PASSWORD = PASSWORD(‘你的密码‘); 即可(记得分号)

当然~像我这种一试途 mysql -uroot -p 登陆就报  mysql“Access denied for user ‘root‘@‘localhost‘”错误的。。。

哎~习惯了,老夫学习道路坎坎坷坷,哪有如此一帆风顺。。。

问题很简单,就是密码那块估计是存在默认值还是神马的,不对就不给进去!

那知道了问题,网上的大神也是早都碰到过这些事儿,解决方案很多很多,我挑对我有用的,以及我认为有用的提供给大家

方法一:

1、关闭数据库: 

/etc/init.d/mysql stop

2、设置MySQL模式:

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

(可想而知,别人进到你的服务器是多么恐怖的事儿。。。)

3、登陆进MySQL:

mysql -u root mysql

4、修改密码:

UPDATE user SET Password=PASSWORD(‘新密码‘) where USER=‘root‘;

5、更新:

FLUSH PRIVILEGES;

6、退出MySQL:

quite

方法二:

1、查询/etc/mysql/debian.cnf文件中[client]节提供的密码

vi /etc/mysql/debian.cnf

2、使用该密码进行登陆

mysql -uroot -p

Enter password:  XXXXXXXXXX

好!这里补充一下,当你使用方法一安全模式进去修改密码的时候,你接下来在MySQL的任何操作!将会报这个错:

技术分享

什么意思呢?去看一下这个,虽然是纯英文的,但是你还是能够在看到你想要的东西:http://dev.mysql.com/doc/refman/5.6/en/alter-user.html ,看完了以后呢~按着它上面说的做吧~

SET PASSWORD = PASSWORD(‘和之前设置一样的密码‘);

然后现在才算是真正的设置好你的MySQL用户密码了!下面这是开发Java Web中我碰到的一个问题,用不到的就可以跳过了~

我服务器在测试项目的时候,发现了如下的问题:

java.sql.SQLException: Your password has expired.To log in you must change it using a client that supports expired passwords. com.mysql.jdbc.exception.

而后一大堆的cant connect...cant connect的,都是说数据库连接的问题,我们MySQL安装按理来说是没有问题的,那可能是我们的root账号的使用权限问题吧,于是我们就打开user表来看看。

use mysql;

select host,user,password_expired from user;

技术分享

打开后发现我们表中各个几个账号都已经过期(图中Y表示已过期),于是,我们将其修改表单内容Y-->N即可~命令我就不敲了。

技术分享

事后证明,这个确实解决了该连接问题~可以通过root链接到我的MySQL了~

后话

不同版本的Linux,安装mysql方法也多种多样,可以参考,上面说的不行还可以参考其他,比如

通过yum  命令安装;


本文出自 “abc” 博客,请务必保留此出处http://10264855.blog.51cto.com/10254855/1934863

以上是关于Linux 下设置java环境和tomcat安装的主要内容,如果未能解决你的问题,请参考以下文章

linux下源码安装jdk1.8和tomcat8.5

centos配置jdk和tomcat

linux下yum安装jdk1.8(rpm包)和tomcat-8.5.11

在linux环境下安装tomcat

Linux配置tomcat (centos配置java环境 tomcat配置篇 总结三)

测试环境搭建和部署(在Linux环境下搭建jdk+Tomcat+mysql环境和项目包的部署)