centos tomcat start?tomcat运行

大家好,今天来为大家解答centos tomcat start这个问题的一些问题点,包括tomcat运行也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

centos tomcat 无法启动

先给你解决这个问题,其实要告诉你,要学习搜索。网上大把的资料。这样会不断解决新问题。

要学习解决问题的方法。

此外另一个话题是:OPenjdk和SUnJDK的区别。一个是开源社区,一个是公司产品,代码多数一样。OPen是社区版,某些功能减少,版本授权不一样。通常使用中一般使用官方JDK较多。

特别在国内,对版权的问题基本上是无视的。

-----------------------------

1,Centos中的Service,就启动某个程序,并且开机能自动运行。通过这个脚本文件放置在

/etc/init.d/tomcat

2,即使是启动脚本,程序执行是要可以的。所以说,你直接在Tomcat的bin/下是可以执行启动程序的。

这里执行成功了,才能用脚本来启动,

这里执行不成功,需要通过日志来定位问题。原因,权限不对,路径不对,etc.

3,启动脚本,正确的启动脚本是根据你的安装环境来定的,通常有的应用程序在编辑安装或者YUm安装或者RPM安装就是准备好了启动脚本,Tomcat可能没有。在源码安装的方式下:

这时,你要搜索网上的。对比一下。结合你安装的路径。

下面是我写的一个启动脚本,根据上次回答你给你路径而写的。你尝试一下。

保存成tomcat文件,然后放置/etc/init.d/替换现有的。

#chmod+x/etc/init.d/tomcat

#chkconfig tomcat on

+++++++++++++++++++++++++

#!/bin/bash

# build this file in/etc/rc.d/init.d/svn

# chmod 755/etc/rc.d/init.d/svn

# chkconfig: 2345 62 52

# that answers incoming ftp service requests.

# processname:Tomcat

# Source function library.

./etc/rc.d/init.d/functions

# Source networking configuration.

./etc/sysconfig/network

# centos6.2 Tomcat: service tomcat start(restart/stop/status)

Tomcat_Home=/usr/local/tomcat

ProgPath=/usr/local/tomcat/bin

tomcat=`/bin/ps-A|grep java|awk'{print$4}'`

Prog=tomcat

if [!-f"$ProgPath/startup.sh" ]

then

echo"can not find tomcat,please install it!!"

exit

fi

case"$1" in

start)

if [-x$ProgPath/startup.sh ];then

if ["$tomcat"="java" ];then

echo"Tomcat Server is running!!!"

exit

fi

echo-n$"Starting tomat Server:"

daemon$ProgPath/startup.sh

echo

else

echo"Have no right for running server"

fi

;;

stop)

if ["$tomcat"="" ];then

echo"Tomcat server have already stop!!!"

else

echo-n$"Stoping Tomcat Server:"

daemon$ProgPath/shutdown.sh

killproc$tomcat

echo

fi

;;

restart)

if ["$tomcat"="java" ];then

$0 stop

sleep 7

$0 start

else

$0 start

fi

;;

status)

ps-A|awk'{if($4=="java"){print"Tomcat is running..."}}'

if ["$tomcat"=="" ];then

echo"Tomcat is sleeping.."

exit 0

fi

;;

*)

echo"Usage: tomcat{ start| stop| restart| status}"

exit 1

esac

centos7+tomcat登陆超时

在工作中开发找到说,项目日志访问域名报错,报错如下:

这是第二次遇到的报错,所以把它记录下来,在服务器curl是另外一种结果,服务器结果如下:

经过第一次的经验就知道,本机的jdk是不信任你这域名的,然后我将这个域名的私钥证书,就是.crt结尾的证书转换成.cer结尾的证书,进行导入到本机jdk里面就可以实现程序的信任了,好了话不多说操作如下。

1.拿到私钥证书之后,使用ie浏览器导入到浏览里面。

找到你的私钥证书

选择你的组

这就是导入成功了。

开始导出.cer结尾的证书,选择你导入证书的组然后点击导出来

选择你要导出的证书编码类型

选择要导出的位置以及导出证书的名字

导出完成。

得到了一个后缀为.cer结尾的证书。然后接下来导入到我们需要的服务器jdk中即可

2.liunx导入证书的命令为如下(本片文章jdk是以yum安装的jdk为主导入的):

(1)找打jdk安装的目录

# pwd

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/securi

(2)上传要导入的证书

(3)进入jdk安装目录,然后进行导入证书

#导入证书命令

# keytool-import-trustcacerts-alias tomcat-file/home/cert/111.cer-keystore"/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/security/cacerts"-storepass changeit

#删除证书命令

# keytool-delete-alias server-keystore D:\jdk1.6.0\jre\lib\security\cacerts-storepass changeit

这样再用程序调用这域名就不会报超时了。

centos怎样编写tomcat宕机自动重新启动

一、设置tomcat定时启动

1,首先将tomcat注册为服务,先打开tomcat的bin目录下service.bat文件,修改下面的值,这是sevvice的注册名称和显示名称,一般可使用默认值。

set SERVICE_NAME=Tomcat7

set PR_DISPLAYNAME=Apache Tomcat

【然后修改jvm大小,搜索到--JvmMs 128--JvmMx 256进行修改,因为做成服务启动,启动的时候就不会用到 catalina.bat,也就不会读取里面的jvm设置了。】(可选,可以不设置)

然后运行cmd命令窗口,cd到tomcat的bin目录下,运行下面的命令

service.bat install运行成功过后,会提示服务已经安装成功。

2,制作重启脚本restart.bat,文件内容如下

net stop Tomcat7 net start Tomcat7

3,利用控制面板里面的“任务计划”设置第2步的脚本运行时间计划

4,如果想删除服务,也很简单,先把服务停掉,然后在cmd窗口运行下面的命令即可,后面那个Tomcat7是服务名。

sc delete Tomcat7

需要注意的是,需要先把服务停掉,才能一次删除成功,或者删除之后再停止服务,就会发现服务已经删除成功了。

二、监听tomcat

只要运行start.bat即可,相关配置在config.properties文件中,默认即可,如果服务名不对应就修改关闭和启动命令的服务名即可:net start【Tomcat7】括号中服务名,然后运行start.bat

下面是具体的监听代码:

首先是监听类TomcatMonitor.java:

[java] view plain copy

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.MalformedURLException;

import java.net.URL;

import java.net.URLConnection;

import java.util.Properties;

/**

*@describe:TomcatMonitor.java

*

*@date 2016-7-4

*@author liuweilong

*/

public class TomcatMonitor implements Runnable{

String start="";//系统命令启动

String stop="";//系统命令关闭

String testHttp="";//测试连接地址

int testIntervalTime=1;//测试连接间隔时间,单位为秒

int waitIntervalTime=2;//等待测试间隔时间,单位为秒

int testTotalCount=5;//测试连接总次数

Thread thread=null;

public TomcatMonitor(){

InputStream in= TomcatMonitor.class.getResourceAsStream("config.properties");

Properties p= new Properties();

try{

p.load(in);

stop=p.getProperty("stop");

start=p.getProperty("start");

testHttp=p.getProperty("testHttp");

testIntervalTime=Integer.parseInt(p.getProperty("testIntervalTime"));

waitIntervalTime=Integer.parseInt(p.getProperty("waitIntervalTime"));

testTotalCount=Integer.parseInt(p.getProperty("testTotalCount"));

} catch(Exception e){

e.printStackTrace();

}

System.out.println("*******************初始化成功!*******************");

thread=new Thread(this);

thread.start();

}

public void run(){

System.out.println("正在监控中...");

int testCount=0;

while(true){

testCount=0;

testCount++;

boolean isrun=test();

System.out.println("正在启动测试连接,尝试连接次数为:"+testCount+",结果为:"+(isrun==false?"失败.":"成功!"));

while(!isrun){

if(testCount>=testTotalCount)break;

try{

thread.sleep(testIntervalTime*1000);

} catch(InterruptedException e){

e.printStackTrace();

}

testCount++;

System.out.println("正在启动测试连接,尝试连接次数为:"+testCount+",结果为:"+(isrun==false?"失败.":"成功!"));

isrun=test();

}

if(!isrun){

try{

//关闭tomcat服务

Process proc= Runtime.getRuntime().exec(stop);

thread.sleep(5000);

//启动tomcat服务

System.out.println("测试连接失败,正在重启tomcat");

Process p=Runtime.getRuntime().exec(start);

System.out.println("重启tomcat成功");

}catch(Exception e){

e.printStackTrace();

System.out.println("重启tomcat异常,请查看先关错误信息。。。。。");

}

}

try{

thread.sleep(waitIntervalTime*1000);

} catch(InterruptedException e){

e.printStackTrace();

}

isrun=test();

}

}

public boolean test(){

URL url=null;

try{

url= new URL(testHttp);

} catch(MalformedURLException e){

e.printStackTrace();

}

try{

URLConnection urlConn=url.openConnection();

urlConn.setReadTimeout(15000);

BufferedReader reader= new BufferedReader(new InputStreamReader( urlConn.getInputStream()));//实例化输入流,并获取网页代码

String s;

while((s= reader.readLine())!= null){

return true;

}

} catch(Exception e){

return false;

}

return false;

}

public static void main(String[] args) throws Exception{

TomcatMonitor tm=new TomcatMonitor();

}

}

然后是对应的配置文件config.properties:

[plain] view plain copy

#系统命令启动

start=net start Tomcat7

#关闭

stop= net stop Tomcat7

#测试连接总次数

testTotalCount=3

#连接失败时,再次检测时间间隔,单位为秒

testIntervalTime=3

#连接超时时间,即多少秒tomcat没响应视为宕机,单位为秒

connectionTimeout=15

#tomcat启动时间,防止在tomcat尚未启动完成的时候,程序又去检验tomcat状态,造成尚未启动完成又重新启动,单位为秒

tomcatStartTime=600

#测试连接地址

testHttp=

#正常情况下,每次检测间隔时间,单位为秒

waitIntervalTime=30

最后是启动的start.bat:

[plain] view plain copy

java-cp. TomcatMonitor

阅读剩余
THE END