centos tomcat8,centos7
本篇文章给大家谈谈centos tomcat8,以及centos7对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
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
这样再用程序调用这域名就不会报超时了。
centos7 安装tomcat8服务及配置jdk1.8教程
下载jdk1.8与tomcat8的压缩包,具体下载地址请参考Java Archive Downloads- Java SE 8与Tomcat 8 Software Downloads。
将下载的jdk包上传至Linux环境中,并解压至/usr/local/目录,重命名文件夹。
打开/etc/profile文件,将如下内容添加在文件底部:
执行命令source/etc/profile以立即生效。
检查jdk是否安装成功,可通过命令"java-version"查看。
注意:确保在配置环境变量时,JAVA_HOME变量路径正确指向/usr/local/jdk1.8。
配置tomcat服务时,确保下载路径正确。启动tomcat服务前,请先查看环境变量,确认JAVA_HOME路径。
编辑/usr/local/apache-tomcat-8.5.76/bin/catalina.sh脚本,确保其脚本中涉及到的jdk环境变量与JAVA_HOME一致。
重新执行启动tomcat服务的命令,确保执行路径正确。
最后,通过本地浏览器访问Linux机器的IP:8080,检查tomcat服务是否已成功启动并运行。
...7安装Tomcat与设置Tomcat为开机启动项tomcat8为例
安装Tomcat
下载Tomcat压缩包
Tomcat有Tomcat7,Tomcat8和Tomcat9等版本,目前企业使用较多的是Tomcat8,所以这里以Tomcat8为列
进入Tomcat8下载网址:Tomcat8下载网址
点击左侧Download下的对应版本,这里我下载的是apache-tomcat-8.5.47.tar.gz,即Linux环境的压缩包
Tomcat主要有三个安装版本tar.gz:Linux环境下的压缩包,免安装Windows.zip:Windows压缩包,免安装,解压即用,同时注意根据自己电脑是64位系统还是32位系统下载对应的压缩包Windows Service Installer:Windows安装包,32位和64位版本的Windows系统都适用安装Tomcat
将下载好的apache-tomcat-8.5.47.tar.gz放到指定目录,我这里放到/usr/local/tomcat,如下图所示
进入/usr/local/tomcat目录,解压Tomcat压缩包
#进入/usr/local/tomcat目录
cd/usr/local/tomcat
#解压Tomcat压缩包
tar-zxvf apache-tomcat-8.5.47.tar.gz
启动Tomcat
进入Tomcat的bin目录,启动Tomcat
#进入Tomcat的bin目录,启动Tomcat
cd apache-tomcat-8.5.47/bin/
#启动Tomcat
./startup.sh查看Tomcat是否启动成功
#查看Tomcat是否启动成功执行
ps-ef| grep tomcat
#如果输出如下,说明Tomcat安装成功
root 2381 1 11 22:18 pts/0 00:00:02/usr/local/jdk1.8.0_152/bin/java-Djava.util.logging.config.file=/usr/local/tomcat/apache-tomcat-8.5.47/conf/logging.properties-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager-Djdk.tls.ephemeralDHKeySize=2048-Djava.protocol.handler.pkgs=org.apache.catalina.webresources-Dorg.apache.catalina.security.SecurityListener.UMASK=0027-Dignore.endorsed.dirs=-classpath/usr/local/tomcat/apache-tomcat-8.5.47/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-8.5.47/bin/tomcat-juli.jar-Dcatalina.base=/usr/local/tomcat/apache-tomcat-8.5.47-Dcatalina.home=/usr/local/tomcat/apache-tomcat-8.5.47-Djava.io.tmpdir=/usr/local/tomcat/apache-tomcat-8.5.47/temp org.apache.catalina.startup.Bootstrap start
root 2513 29060 0 22:18 pts/0 00:00:00 grep–color=auto tomcat使用浏览器访问Tomcat,地址Linux的ip:8080,我这里的ip端口是,如下图说明在Linux(CentOS7)环境安装启动Tomcat成功,为自己点一个赞
注意:开放8080端口或者关闭防火墙
附加:开放8080端口或者关闭防火墙,如果是阿里云只能在阿里云控制台配置开放端口
#开启8080端口
firewall-cmd–zone=public–add-port=8080/tcp–permanent
#查询端口号8080是否开启
firewall-cmd–query-port=8080/tcp
#重启防火墙
firewall-cmd–reload
#查看开放端口列表
firewall-cmd–list-port
#命令含义
–zone#作用域
–add-port=8080/tcp#添加端口,格式为:端口/通讯协议
–permanent#永久生效,没有此参数重启后失效
#关闭防火墙
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动设置Tomcat为开机启动项按照上面的方式启动Tomcat,如果我们的虚拟机或者服务器关闭了,重启服务器后Tomcat是关闭的,但是我们希望虚拟机或者服务器重启后,Tomcat可以自己启动,所以我们需要设置Tomcat为开机启动项
创建setenv.sh文件,为Tomcat添加启动参数
catalina.sh在执行的时候会调用同级路径下的setenv.sh来设置额外的环境变量,因此在/usr/local/tomcat/apache-tomcat-8.5.47/bin路径下创建setenv.sh文件,内容如下:
#设置Tomcat的PID文件
CATALINA_PID=”$CATALINA_BASE/tomcat.pid”
#添加JVM选项
JAVA_OPTS=”-server-XX:PermSize=256M-XX:MaxPermSize=1024m-Xms512M-Xmx1024M-XX:MaxNewSize=256m”在/usr/local/tomcat/apache-tomcat-8.5.47/bin/catalina.sh文件开头添加JAVA_HOME和JRE_HOME,其中/usr/local/jdk1.8.0_152为jdk的安装目录
export JAVA_HOME=/usr/local/jdk1.8.0_152
export JRE_HOME=/usr/local/jdk1.8.0_152/jre如果在catalina.sh不配置JAVA_HOME和JRE_HOME就会报如下的错误
[root@JourWon~]# systemctl status tomcat
● tomcat.service– Tomcat
Loaded: loaded(/usr/lib/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active: failed(Result: exit-code) since Mon 2019-10-21 19:54:54 CST; 6s ago
Process: 8746 ExecStart=/usr/local/tomcat/apache-tomcat-8.5.47/bin/startup.sh(code=exited, status=1/FAILURE)
Oct 21 19:54:54 JourWon systemd[1]: Starting Tomcat…
Oct 21 19:54:54 JourWon startup.sh[8746]: Neither the JAVA_HOME nor the JRE_…d
Oct 21 19:54:54 JourWon startup.sh[8746]: At least one of these environment…m
Oct 21 19:54:54 JourWon systemd[1]: tomcat.service: control process exited,…=1
Oct 21 19:54:54 JourWon systemd[1]: Failed to start Tomcat.
Oct 21 19:54:54 JourWon systemd[1]: Unit tomcat.service entered failed state.
Oct 21 19:54:54 JourWon systemd[1]: tomcat.service failed.
Hint: Some lines were ellipsized, use-l to show in full.在/usr/lib/systemd/system路径下添加tomcat.service文件,内容如下:
[Unit]
Description=Tomcat
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
TimeoutSec=0
PIDFile=/usr/local/tomcat/apache-tomcat-8.5.47/tomcat.pid
ExecStart=/usr/local/tomcat/apache-tomcat-8.5.47/bin/startup.sh
ExecReload=/bin/kill-s HUP$MAINPID
ExecStop=/bin/kill-s QUIT$MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target此外service文件修改后需要调用systemctl daemon-reload命令重新加载。
配置TimeoutSec=0的目的是让开机启动不处理tomcat启动超时,保证tomcat耗时过长时不会被系统terminating,如果不配置可能出现下面的情况
Oct 21 20:26:37 JourWon startup.sh[1634]: Existing PID file found during start.
Oct 21 20:26:37 JourWon startup.sh[1634]: Removing/clearing stale PID file.
Oct 21 20:26:37 JourWon startup.sh[1634]: Tomcat started.
Oct 21 20:26:37 JourWon systemd[1]: PID file/usr/local/tomcat/apache-tomcat-8.5.47/tomcat.pid not readable(yet?) after start.
Oct 21 20:26:38 JourWon polkitd[464]: Unregistered Authentication Agent for unix-process:1628:19013(system bus name:1.23, object path/org/freedesktop/PolicyKit1/AuthenticationAgent, loca
Oct 21 20:28:07 JourWon systemd[1]: tomcat.service start operation timed out. Terminating.
Oct 21 20:28:07 JourWon systemd[1]: Failed to start Tomcat.把Tomcat加入开机自启动
systemctl enable tomcat.service
重启服务器reboot
再次连接后,查看服务状态
[root@JourWon~]# systemctl status tomcat
● tomcat.service– Tomcat
Loaded: loaded(/usr/lib/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active: activating(start) since Mon 2019-10-21 20:12:19 CST; 8s ago
Process: 9244 ExecStart=/usr/local/tomcat/apache-tomcat-8.5.47/bin/startup.sh(code=exited, status=0/SUCCESS)
CGroup:/system.slice/tomcat.service
└─9255/usr/local/jdk1.8.0_152/jre/bin/java-Djava.util.logging.config.file=/usr/local/tomcat/apache-tomcat-8.5.47/conf/logging.properties-Djava.util.logging.manager=org.apac…
Oct 21 20:12:19 JourWon systemd[1]: Starting Tomcat…
Oct 21 20:12:19 JourWon startup.sh[9244]: Existing PID file found during start.
Oct 21 20:12:19 JourWon startup.sh[9244]: Removing/clearing stale PID file.
Oct 21 20:12:19 JourWon startup.sh[9244]: Tomcat started.
Oct 21 20:12:19 JourWon systemd[1]: PID file/usr/local/tomcat/apache-tomcat-8.5.47/tomcat.pid not readable(yet?) after start.查看开机启动列表命令
systemctl list-unit-files| grep enabled
查看Tomcat是否设置为开机启动项,如果显示为enabled,说明设置成功
参数说明
static:表示该服务与其他服务相关联,不能单独设置该服务的启动状态disabled:表示禁止开机启动enabled:表示允许开机启动
[root@JourWon~]# systemctl list-unit-files| grep tomcat
tomcat.service enabled总结以上所述是小编给大家介绍的Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项(tomcat8为例),大家如有疑问可以留言,或者联系站长。感谢亲们支持!!!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!