CentOS6.10/7.6下Java8 Jdk+Tomcat环境安装教程 开机启动
技术支持服务电话:15308000360 【7x24提供运维服务,解决各类系统/软硬件疑难技术问题】
系统环境:Centos6.10 64位
一. 安装java环境 这里安装的是jdk1.8.0_192
在/usr/local目录下创建java目录,可到oracle官网或镜像网站下载jdk-8u192-linux-x64.tar.gz,放到/usr/local/java中,
cd /usr/local/java,执行解压: tar zxvf jdk-8u192-linux-x64.tar.gz。
解压完成后配置JAVA_HOME,JAR_HOME环境变量。打开/etc/profile文件,命令:vi /etc/profile,在最后加上
export JAVA_HOME=/usr/local/java/jdk1.8.0_192 export JRE_HOME=/usr/local/java/jdk1.8.0_192/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$PATH
按ESC键,再输入:wq 保存退出文档,输入source /etc/profile 立即生效(该方法设置一次对所有用户有效)
查看安装是否成功
java -version
注:修改~/.bashrc文件(该方法修改后只对当前用户有效,对该用户的所有shell都有效)
用vim编辑器打开~/.bashrc文件
在文件尾部加入jdk环境变量的定义。在以上方法未起到作用时可尝试此方法
然后建立服务软连接(根据自己的tomcat路径自行修改)
二.安装tomcat,这里是apache-tomcat-8.5.12.tar.gz
下载tomcat(二进制版本不是源代码版)到/usr/local目录中,tar zxvf apache-tomcat-8.5.12.tar.gz,得到解压后的apache-tomcat-8.5.12
目录,修改目录名称为tomcat。
设置tomcat运行用户
useradd -M tomcat #创建没有主目录的tomcat用户 chsh tomcat -s /sbin/nologin #禁止tomcat登陆操作,类似于windows的系统账户 chown -R tomcat /usr/local/tomcat #将/usr/local/tomcat下的所有档案与子目录进行相同的拥有者变更为tomcat用户
为tomcat/bin/目录下的*.sh添加相应的x权限位:
chmod +x /usr/local/tomcat/bin/*.sh
简易设置开机启动(文件所在路径tomcat/bin/startup.sh):
vi startup.sh
然后在startup.sh的文件顶部#!/bin/sh换行后,添加如下内容
#chkconfig: 2345 80 90 #description:tomcat auto start #processname: tomcat export JAVA_HOME=/usr/local/java/jdk1.8.0_192 export JRE_HOME=/usr/local/java/jdk1.8.0_192/jre
其中2345是默认启动级别,级别有0-6共7个级别。
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低。
然后建立服务软连接(根据自己的tomcat路径自行修改)
ln -s /usr/local/tomcat/bin/startup.sh /etc/rc.d/init.d/tomcat添加执行权限
chmod +x /etc/init.d/tomcat添加开机启动服务
chkconfig --add tomcat
其他开机启动,编译安装tomcat daemon服务守候程序:
cd /usr/local/tomcat/bin/ tar xvzf commons-daemon-native.tar.gz
解压后会生成一个commons-daemon-1.0.15-native-src目录,cd到这个目录的Linux子目录:
cd commons-daemon-1.0.15-native-src/unix
执行编译配置
./configure #(注意:需要先安装好make,gcc等编译工具) ./configure --with-java=/opt/jdk #如果提示没有jdk,使用这个命令。主要是java目录未写入系统目录
运行完成后会提示如下信息说明操作成功:
... *** All done *** Now you can issue "make"
make
cp jsvc /usr/local/tomcat/bin/
在tomcat/bin目录里面有一个daemon.sh 这个文件就是启动和关闭tomcat的服务守候程序。
注意:之前的一些tomcat版本,例如tomcat 6.0.x, 可能没有这个文件, 其实这个文件就是放在commons-daemon-x.x.x-native-src/unix/samples/Tomcat7.sh这儿的(此目录还有一个Tomcat5.sh),只不过新版本的tomcat把它移动到了bin目录下,并取名为daemon.sh了。所以,如果您使用的是tomcat 6,那就把这个Tomcat7.sh文件复制到bin目录下,并取名为daemon.sh即可。
修改daemon环境变量 :
用文本编辑器(vi或emacs等)编辑它,找到类似下面这样配置段:
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat # Set JAVA_HOME to working JDK or JRE # JAVA_HOME=/opt/jdk-1.6.0.22
修改TOMCAT_USER=tomcat为您要指定身份运行的linux账号用户名,此处指定用户名为tomcat。
并把JAVA_HOME=...前面的注释(即“#”号)去掉,并设置为jdk的安装目录路径,最后,修改好后的配置段变成如下:
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat # Set JAVA_HOME to working JDK or JRE JAVA_HOME=/usr/local/java/jdk1.8.0_192
现在修改/usr/local/tomcat目录的所有者为tomcat(即您要指定身份运行的linux帐号):
useradd -M tomcat #创建没有主目录的tomcat用户 chsh tomcat -s /sbin/nologin #禁止tomcat登陆操作,类似于windows的系统账户 chown -R tomcat /usr/local/tomcat #将/usr/local/tomcat下的所有档案与子目录进行相同的拥有者变更为tomcat用户
为tomcat/bin/目录下的*.sh添加相应的x权限位:
chmod +x /usr/local/tomcat/bin/*.sh
启动tomcat服务器:
[root@localhost ~]# /usr/local/tomcat/bin/daemon.sh start
注意如果远程无法访问检查防火墙是否放行tomcat的端口
停止Tomcat
[root@localhost ~]# /usr/local/tomcat/bin/daemon.sh stop添加tomcat为Linux的服务,这时就简单了,只需要创建一个软链到/etc/init.d/目录中即可
[root@localhost ~]# ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat
现在就可以用它启动/关闭tomcat了:
/etc/init.d/tomcat start #启动tomcat service tomcat start #启动tomcat /etc/init.d/tomcat stop #关闭tomcat service tomcat stop #关闭tomcat
设置tomcat服务开机启动,需要在daemon.sh中增加以下的语句:
#!/bin/sh #这句是原文件里有的,下面的2句是要添加的 # chkconfig: 2345 90 15 # description: Tomcat-en Manager
再运行 chkconfig命令增加tomcat服务,而达到自启动:
chkconfig --add tomcat
重启机器,测试一下。
如果想再创建一个tomcat服务,只需要将/usr/local/tomcat这个目录复制一份,例如:
cp /usr/local/tomcat /usr/local/tomcat1
再修改一下tomcat1的端口号(/usr/local/tomcat1/conf/server.xml中的端口号不能与其它的服务重复)。最后从上面所述,创建另一个服务即可。
通过这种方式,您就可以为一台Linux服务器创建任意多个tomcat服务了。最后只需要安装一个前端服务器(例如Nginx或Apache),将不同域名的请求转发到不同的tomcat服务程序就可以了。