一 、下载tomcat
https://tomcat.apache.org/
这个是官网,进入之后如下图,点击左侧红色框内download下的版本进行选择,例如下载tomcat 9,就点击tomcat 9。
点击之后如下图所示,我的电脑是64位的,下载的就是红色框内的第四项。
二、发布项目(windows环境下的,别的系统暂时还未研究)
设置好java_home等参数,把打包好的项目扔到刚才下载好的项目的webapps目录下,双击startup.bat运行。
这个是怎么设置tomcat的java_home的方法.
三、发布之后遇到的问题
1.日志乱码
一般这种修改tomcat的conf目录下的logging.properties文件,把其中的UTF-8都改为GBK就能解决,
2.静态资源中文乱码
这种好像是tomcat9 之后的版本出现的问题,因为tomcat9默认是jsp,而之前是html,具体没考正过。
解决办法就是更改tomcat的conf目录下的web.xml,解决办法如下面链接内一样。
https://blog.csdn.net/weixin_42340119/article/details/85257966
3.刚开始运行很快,后来越来越慢
这个是windows server2016特有的问题,就是这个系统下的tomcat发布的web,开始很流畅,但是越用越慢,最后慢到不可思议。解决办法就是把tomcat注册成为服务,这样就会发现它咋用都不慢了。
下边讲一下怎么把tomcat设置成服务吧,首先你下载的tomcat的bin目录下必须得有下图这个。
如果没有的话,那就重新下载一个tomcat吧,没有是注册不了的。如果有,那就进行下一步,在tomcat的bin目录下运行cmd ,在黑窗口下运行service.bat install 【服务命名 选填这个,不添加它会自己给你这个服务取名字】 就可以完成注册了(顺便告诉你下,如果不想要这个服务了,也是在这个bin目录下运行cmd,在黑窗口下输入service.bat remove 服务的名字 ,例 service.bat remove tomcat9 就注销了)。注册成功后 在黑窗口下(不是这个bin的,随便win+r 打开cmd 就行)就可以直接
启动:net start service_name 停止:net stop service_name
service_name 就是服务名字,如果上方注册的时候没取名,那你的服务名就是tomcat加版本 例如 net start tomcat9 。
4.禁用管理者页面
这一步比较重要,因为服务器发布web基本都是要进入生产环境的,不可能一直是测试环境。
禁用它可以防止黑客通过tomcat管理界面对tomcat进行攻击,例如猜解密码等控制管理页面,攻击服务器。
我的做法是把tomcat文件夹下的webapps文件夹下的所有文件都删除,再在webapps下新建一个空的ROOT文件夹,这样就找不到那些管理者页面了。
5.JVM调优
这一步也比较重要,理由也是需要上生产环境,要使web性能更优。
https://blog.csdn.net/u010638673/article/details/81773054
这个里讲解的就很清楚啦,但是有个小不同,就是 tomcat9 JAVA_POTS的等号后边没有双引号,别的版本我不是很清楚。即下边两种形式都试试。
JAVA_OPTS=-server -Xmx2048m -Xms2048m -Xmn384M -XX:PermSize=512m
JAVA_OPTS="-server -Xmx2048m -Xms2048m -Xmn384M -XX:PermSize=512m "
之前讲到了服务模式,服务模式的虚拟机设置和上边文章讲的不同,这种服务模式的虚拟机设置本应该在注册表里修改,但是tomcat也想到了这一点,它提供了一个简单的设置方法,双击tomcat的bin目录下的tomcat9w.exe 如下图
双击以后是下图这个样子。这个里边的Start 和Stop按钮也可以启动和关闭tomcat服务
然后点击Java,如下图,就可以进行虚拟机设置了。如下图,第二个红框内是设置Xms和Xmx的,第一个红框内是设置其它参数的,记住-server就不要往里写了,因为咱这个已经是服务模式了。还要切记第一个红框内写参数的时候,前后千万别有空格,那样直接导致它失败了就。切记。
6.JVM监控
我们可以通过jdk自带的jvisualvm来进行监控,找到本机的jdk ,再打开bin目录,双击即可,如下图。
如果想监控服务器上的jvm,就需要先设置一下服务器上的tomcat,下边列举一下服务器上的服务模式的tomcat怎样设置
打开tomcat的bin目录下的tomcat9w.exe,如下图
打开后添加一段设置,如下
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
之后再打开本机的jvisualvm.exe 点击这个,如下图,远程连接服务器,再通过上边设置的端口号进行连接,本次设置的是1099,可以任意设置不重复的号。连接之后就可以监控cpu 内存,线程等JVM属性了。
7.一次奇怪bug,点击第一次是404,第二次就进去了
发布项目,原来一直没问题,可是这次突然出现了问题,点击一个页面,第一次进不去,第二次就可以,很莫名其妙,后来把tomcat下work/Catalina文件夹下的文件内容都删除了(只是清空),再重启服务就好了。借鉴的是下边这篇文章,真是找了好久,感谢这位老哥。
https://blog.csdn.net/weixin_33697898/article/details/89427172