搭建项目到服务器中出现的各种问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Me_ZH/article/details/80034021

项目发布到服务器上,避免出现未知异常

1.保证开发环境的tomcat 和jdk 版本和服务器上一致

2.maven 多模块项目在打包发布的时候避免
避免造成,模块之间的循环依赖。例:

parent 包含 sub1 和 sub2
sub1 和 sub2 都继承 parent

在 sub2 中引入 sub1 造成循环依赖: 因为
sub2 继承 parent, sub1 属于 parent
sub2 引入 sub1 相当于引用了本身
所以出现了循环依赖,造成无法打包

3.linux释放缓存
释放缓存区内存的方法
1)清理pagecache(页面缓存)
[root@backup ~]# echo 1 > /proc/sys/vm/drop_caches 或者 # sysctl -w vm.drop_caches=1

2)清理dentries(目录缓存)和inodes
[root@backup ~]# echo 2 > /proc/sys/vm/drop_caches 或者 # sysctl -w vm.drop_caches=2

3)清理pagecache、dentries和inodes
[root@backup ~]# echo 3 > /proc/sys/vm/drop_caches 或者 # sysctl -w vm.drop_caches=3
 
上面三种方式都是临时释放缓存的方法,要想永久释放缓存,需要在/etc/sysctl.conf文件中配置:vm.drop_caches=1/2/3,然后sysctl -p生效即可!

另外,可以使用sync命令来清理文件系统缓存,还会清理僵尸(zombie)对象和它们占用的内存
[root@backup ~]# sync
linux下的缓存机制及清理buffer/cache/swap的方法梳理

[服务器TIME_WAIT和CLOSE_WAIT详解和解决办法]
(https://blog.csdn.net/luomoshusheng/article/details/52029358)
TCP的time_wait、close_wait状态

使用maven 插件远程部署

<plugin>
   <groupId>org.apache.tomcat.maven</groupId>
   <artifactId>tomcat7-maven-plugin</artifactId>
   <version>2.2</version>
   <configuration>
       <url>http://localhost:8081/manager/text</url>
       <!-- tomcat的管理员账号 -->
       <username>admin</username>
       <password>admin</password>
       <port>8080</port>
       <path>/qa</path><!-- 部署路径 -->
       <!--<charset>UTF-8</charset>-->
       <update>true</update>
   </configuration>
</plugin>

这里的用户需要赋予 manager-script 权限
我使用tomcat9 由于 manager-gui 和 manager-script 不能共存。
所以单独创建一个用户赋予 manager-script 权限

maven运行添加参数 tomcat7:deploy -e -X
-e 查看错误信息
-X 查看调试信息

猜你喜欢

转载自blog.csdn.net/Me_ZH/article/details/80034021