在远程Linux服务器上安装部署Tamcat及web项目(二)

上一篇:在远程Linux服务器上安装部署Tamcat及web项目(一)

这部分是将本地编写好的代码部署到Tomcat远程服务器中(linux)

如果要在远程服务其中安装JDK,Mysql,Tomcat可以访问下面地址

在远程Linux服务器上安装部署Tamcat及web项目(一)

参考链接:

https://www.cnblogs.com/jpfss/p/9023591.html

https://blog.csdn.net/kevin_virus/article/details/81388525

在idea中部署远程Tomcat

1. 服务端的配置

1.1 tomcat安装路径

 /usr/local/tomcat8.5/apache-tomcat-8.5.43

1.2 我们在bin目录下找到catalina.sh

使用命令

vi catalina.sh

在文件中加入

#我是加的这个,这个可以成功!
JAVA_OPTS="-Dcom.sun.management.jmxremote=
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.rmi.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=47.93.254.64"
 
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
 
export JAVA_OPTS


#这是其他的方法
CATALINA_OPTS="-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=47.93.254.64"
 
JAVA_OPTS="-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.rmi.port=1099"

 

 1.3 配置好后,保存,启动服务器

#之前启动的是
./startup.sh

#现在要启动
./catalina.sh run

#上面这样启动的话会导致当前终端被阻塞,并且关闭终端后无法继续后台运行
#可以将上面的命令改为下面的
./catalina.sh run > /dev/null 2>&1 &

1.4  mysql5.7以上版本需要设置一下

报错:Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ''

进入mysql

mysql -uroot -p

然后执行下面两个步骤就可以了,注意这里重启mysql后,还需要重新进行设置

select @@global.sql_mode

可以看到模式中包含了ONLY_FULL_GROUP_BY,只要没有这个配置即可。 

set @@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

 

1.5 出错排除

https://www.cnblogs.com/rogear/p/7435074.html

https://blog.csdn.net/synchro2014/article/details/87944665

1.6 ./catalina.sh 出错

 

 1.7 1099端口出错

intellij idea部署ssm/web项目到远程tomcat遇到的1099端口问题

也有可能程序出错!

可以查看tomcat安装路径下的logs文件下catalina.xxx.log文件,cat 查看

 

 2. 配置IDEA

2.1 加包

如果没有这一步,后面可能会报错:java.lang.IllegalStateException: Illegal access: this web application instance has been stopped alr

出现这个错误的原因是找不到相应的jar包。

配置:可是用idea明明已经帮我们导入了呀?原来是,idea创建的jar包放在src目录下的lib文件夹里。而运行服务器时,需要在WEB-INF下找到lib目录。这里要点击在左上角的file,program structure,artifact中,点击相应的包右键,选择put into web-INF lib。这样,再重新部署一下,就不会报错了。图中是已经添加完了的

2.2 服务器配置

2.3 增加远程服务器

2.4  配置页面

2.5 点击 上图中Host 后面的 ...,配置如下

2.6  添加war包

 

完成以上步骤,基本就可以完成相关的准备工作了,然后部署就可以了,不过这中间可能会出现很多错误。 

3.  出错情况

3.1 描述当使用IDEA连接之后,IDEA显示错误,然后在服务器上操作,进入

 /usr/local/tomcat8.5/apache-tomcat-8.5.43/bin/

中,使用命令 ./shutdown.sh

报错:

Aug 12, 2019 7:42:00 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact [localhost:[8005]]. Tomcat may not be running.
Aug 12, 2019 7:42:00 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop: 
java.net.ConnectException: Connection refused (Connection refused)
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at java.net.Socket.connect(Socket.java:538)
	at java.net.Socket.<init>(Socket.java:434)
	at java.net.Socket.<init>(Socket.java:211)
	at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:504)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:406)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:498)

 3.2 解决方法:

(1)使用

修改$JAVA_HOME/jre/lib/security/Java.security 文件中 securerandom.source 配置项:

将 
securerandom.source=file:/dev/random 
修改为: 
securerandom.source=file:/dev/urandom 
或者
securerandom.source=file:/dev/./urandom

 都没有解决!

(2)在文件catalina.sh中添加

JAVA_OPTS="-Dcom.sun.management.jmxremote=
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.rmi.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=47.93.254.64"
 
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
 
export JAVA_OPTS

添加位置

 

然后查找tomcat进程并杀死进程

ps -ef | grep tomcat
kill -9 进程号

开启tomcat

./startup.sh

(3) 也有可能是没有开启tomcat也会报这个错误

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值