zzsuje

【实践】在linux中部署war包

1.用maven打war包

 

 

2.Linux下安装Tomcat服务器和部署Web应用

 

一、上传Tomcat服务器

 

  

 

  

 

二、安装Tomcat服务器

 

2.1、解压tomcat服务器压缩包

 

  

 

  

 

2.2、配置环境变量

 

  tomcat服务器运行时是需要JDK支持的,所以必须配置好JDK用到的那些环境变量

 

  

 

  编辑/etc下的profile文件,加上如下内容:

 

  

 

  

 

2.3、修改tomcat服务器的启动端口

 

  

 

  修改将Tomcat服务器启动时使用的端口,例如改成9999

 

  

 

  修改完server.xml文件之后,保存,退出。

 

三、Tomcat服务器启动和关闭

 

3.1、启动Tomcat服务器

 

  进入tomcat服务器的bin目录,然后执行"./startup.sh"命令启动Tomcat服务器,如下图所示:

 

  

 

  查看tomcat服务器的Log信息,看看tomcat服务器是否已经正常启动,进入tomcat服务器下的logs目录,打开catalina.out文件进行查看,如下图所示:

 

  

 

  访问Tomcat服务器,如下图所示:

 

  

 

  可以正常访问了,说明Tomcat服务器已经正常启动成功了。

 

  如果tomcat启动不了,那么最有可能就是启动时使用的端口被其他应用程序占用了,那么可以通过如下的办法进行排查,例如查看9999端口被哪个应用程序占用了。

 

  

 

3.2、关闭Tomcat服务器

 

  进入tomcat服务器的bin目录,然后执行"./shutdown.sh"命令启动Tomcat服务器,如下图所示:

 

  

 

  查看tomcat服务器的Log信息,看看tomcat服务器是否已经正常关闭,进入tomcat服务器下的logs目录,打开catalina.out文件进行查看,如下图所示:

 

  

 

四、部署JavaWeb应用到Tomcat服务器

 

  部署JavaWeb应用到Tomcat服务器就是将开放好的JavaWeb应用打包成war包,然后发布到tomcat服务器的webapps目录下

 

  

 

4.1、打包JavaWeb应用

 

  

 

  

 

  

 

  项目打包成功,如下图所示:

 

  

 

4.2、将war包发布到tomcat服务器的webapps目录下

 

  将JavaWeb应用打包成war包之后,要将这个war包放到tomcat服务器的webapps目录下,由于要部署的javaWeb应用使用的是JNDI数据源,所以首先要把数据库对应的驱动jar包放到tomcat服务器的lib目录下。

 

  1、将Oracle数据库的驱动jar包上传到tomcat服务器的lib目录

 

  如下图所示:

 

  

 

  2、将打包好的war包上传到tomcat服务器的webapps目录

 

  如下图所示:

 

  上传war包到webapps目录

 

  

 

  上传成功

 

  

 

  Tomcat服务器自动解压缩war包

 

  

 

  检查一下tomcat服务器是否自动在conf目录下创建了Catalina/localhost目录,在看看localhost目录下是否有tomcat服务器自动创建的oams.xml文件

 

  

 

五、Linux下安装Tomcat服务器使用到的命令

 

5.1、linux查看端口被哪个进程占用

 

lsof -i:端口号

 

  例如:

 

  

 

5.2、查看Linux服务器的版本

 

lsb_release -a

 

  例如:

 

  

 

5.3、查看当前iptables(防火墙)规则

 

  可使用"iptables –L –n"查看当前iptables规则

 

  例如:

 

  

 

5.4、添加指定端口到防火墙中

 

  iptables -I INPUT -p 协议 --dport 端口号 -j ACCEPT

 

  例如:

 

1 iptables -I INPUT -p udp --dport 161 -j ACCEPT
2 iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

 

【问题】Linux环境下C3P0 Failed to get local InetAddress for VMID 解决办法

https://blog.csdn.net/FX_SKY/article/details/38703769

        今天在做一个Java项目中用到了C3P0数据源,程序在Windows下运行没有任何问题,但是往服务器(Linux环境)上部署 运行的时候出现异常了,异常信息如下:

2014-08-19 20:51:01 [INFO] Failed to get local InetAddress for VMID. This is unlikely to matter. At all. We\'ll add some extra randomness
java.net.UnknownHostException: w: w
	at java.net.InetAddress.getLocalHost(Unknown Source)
	at com.mchange.v2.c3p0.impl.C3P0ImplUtils.generateVmId(C3P0ImplUtils.java:120)
	at com.mchange.v2.c3p0.impl.C3P0ImplUtils.<clinit>(C3P0ImplUtils.java:98)
	at com.mchange.v2.c3p0.impl.PoolBackedDataSourceBase.<init>(PoolBackedDataSourceBase.java:227)
	at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.<init>(AbstractPoolBackedDataSource.java:62)
	at com.mchange.v2.c3p0.ComboPooledDataSource.<init>(ComboPooledDataSource.java:109)
	at com.mchange.v2.c3p0.ComboPooledDataSource.<init>(ComboPooledDataSource.java:105)
	.......
Caused by: java.net.UnknownHostException: w
	at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$1.lookupAllHostAddr(Unknown Source)
	at java.net.InetAddress.getAddressesFromNameService(Unknown Source)
	... 23 more

        乍一看感觉莫名其妙,从来都没碰到过这样的异常,最后在Google上找到了解决办法,先说明一下导致这个异常的原因,然后给出解决办法。

问题原因

         先看看UnknownHostException: w 中w是怎么得来的吧,cat /etc/sysconfig/network 文件,内容如下:

[root@w picture]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=w

 HOSTNAME=w,噢噢,看到这里顿时感觉 柳暗花明了,原来是因为系统没有找到主机名w对应的IP,只需修改Linux的hosts文件即可。

解决办法
          上面已经分析错误原因了,主要是因为系统没有找到主机名w对应的IP,修改Linux的hosts文件即可。具体操作步骤如下:
首先,执行 cat /etc/hosts 命令,如下:

[root@w picture]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

然后再执行 vi /etc/hosts 命令

在第一行 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 后加上 w 保存即可。

修改完之后的hosts文件如下:

[root@w picture]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 w
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Linux查找域名时通常指先查找文件/etc/hosts,找不到时再向DNS服务器请求。

 

【问题】An incompatible version 1.1.14 of APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.24.

就上网查了查,APR是Apache portable Runtime的缩写,是tomcat的一个可选组件。
这个工程组件在tomcat中的使用增进了稳定性和性能,特别是当tomcat也用于web服务器的时候. 按照网上的方法,
在http://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.2.14/binaries/上下载了1.1.24版本,
【tcnative-1.dll 、tcnative-1-src.pdb 】复制到tomcat目录的bin文件夹下,重启tomcat。
但是tomcat的启动日志里还是出现这个警告,然后我把该dll文件再复制到jdk的下的bin文件夹下,和jre下的bin文件夹下,再次重启,警告已经没了。
我是直接放在C盘/Windows/system32/下

【问题】java.net.ConnectException: Connection refused

数据库链接需要当前客户端连接的 主机名

修改c3p0连接的主机名

jdbc.url=jdbc:mysql://jchem-test:3306/enotes?characterEncoding=utf8&useSSL=true

如果报连接数问题可以加上连接数配置

<property name="minPoolSize">
       <value>10</value>
</property> 
<property name="maxPoolSize">
    <value>35</value>
</property>

 

发表于 2019-03-07 17:18  zzsuje  阅读(404)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章:

  • 2021-09-16
  • 2022-01-06
  • 2021-11-23
  • 2021-10-01
猜你喜欢
  • 2021-06-12
  • 2021-08-25
  • 2022-12-23
  • 2021-10-30
  • 2022-03-02
  • 2022-12-23
  • 2021-11-05
相关资源
相似解决方案