发表于: 2020-09-09 00:13:29

2 1470


今天完成的:
进行tomcat和jetty的部署,配置resin/tomcat/jetty的访问日志。
一、使用tomcat在服务器部署服务
这次用的是centOS,感觉跟window下也差不多..
1、把项目打包
因为是接着上次的resin部署做的,所以服务器上已经有war包了,这一步跳过。
2、配置tomcat并运行
主要参考的文档:
首先用wget下载tomcat压缩包。然后解压。
然后修改了端口,把tomcat目录conf\server.xml中8080端口改成了80端口。
然后进入tomcat的bin目录,通过以下代码启动和停止tomcat
这次不知道为什么,启动很慢。。。
#启动
./catalina.sh start
#停止
./catalina.sh stop
3、本地浏览器访问服务器服务
可以正确返回数据。
二、使用jetty在服务器部署
centOS下使用起来和windows下几乎一样
1、把项目打包
2、下载jetty,解压
3、运行
把war包放进jetty下webapps目录。我的war包名是MVC2。所以后面写链接时要加一个/MVC2。
在jetty目录下运行命令行。改变默认的端口。
java -jar start.jar  jetty.http.port=80
在本地浏览器测试。可以返回json数据。
启动很快,本地浏览器马上就能访问到。
三、配置resin的访问日志
参考的文档
修改resin/conf/resin.xml。找到<host id="" root-directory=".">这一行,在下面添加日志配置。
其中access-log的format属性就是访问日志的格式,%t这一项是日期设置,可以自定义日期格式,我把毫秒调出来了,%s是毫秒。
<!-- the default host, matching any host name -->
   <host id="" root-directory=".">
     <!--
        - webapps can be overridden/extended in the resin.xml
       -->
     <web-app id="/" root-directory="webapps/ROOT"/>
     <web-app id="/MVC" root-directory="/root/myProject/sync/MVC2/target"/>
<!-- 以下为日志配置-->
<stdout-log path='log/stdout.log'
       archive-format="stdout-%Y_%m_%d.log"
       timestamp='[%Y/%m/%d %H:%M:%S.%s] '
       rollover-period='1W'
       rollover-size='5mb'/>
 <stderr-log path='log/stderr.log'
       archive-format="stderr-%Y_%m_%d.log"
       rollover-period='1W'
       timestamp='[%Y/%m/%d %H:%M:%S.%s] '
       rollover-size='5mb'/>
 <access-log  path='log/access2.log'
       archive-format="access-%Y_%m_%d.log"
       rollover-period='1W'
       format='%h %l %u %{%Y.%m.%d %H:%M:%S.%s}t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
       rollover-size='5mb'/>
   </host>
结果:上面四条是使用的默认配置,下面四条是自定义之后的,成功显示毫秒
四、配置tomcat的访问日志
修改tomcat/conf/server.xml文件。
找到<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"。。。>这一行。修改成如下形式。tomcat的%t日期的格式化是使用的java的simpledateformat,和resin不一样。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
              prefix="localhost_access_log" suffix=".txt"
              pattern="%h %l %u %{yyyy-MM-dd HH:mm:ss:SSS}t &quot;%r&quot; %s %b %T" />
保存修改,启动tomcat,用postman测试,成功显示请求的时间,精确到毫秒。
当然也可以修改server.xml文件,添加user-agent等信息,如我上面列出的参考文档,显示发送请求的客户端信息。如下:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
              prefix="localhost_access_log" suffix=".txt"
              pattern="%{X-Real-IP}i %A %p %{yyyy-MM-dd HH:mm:ss}t %D %H %m %U %s %B %B %{Referer}i %{User-Agent}i" />
tomcat的日志存在tomcat/logs目录下,访问日志的文件名如:localhost_access_log.2020-09-08.txt。
五、配置jetty的访问日志
尝试参照下面的文档写。
但是结果不好,不会弄。
然后又尝试用log4j,还是弄不好。。。
明天计划的:
尝试写部署脚本。
遇到的问题:
tomcat能够启动,但是很慢,我在本地浏览器尝试访问,需要等好几分钟才能进去。不知道为啥。。。
jetty启动后就不能干别的事了,可不可以当作服务启动呢?就像tomcat一样在后台默默运行。如果不行,倒是可以用tmux工具实现后台运行。。
收获:
熟悉了tmux工具的使用。
了解了resin和tomcat配置日志的一些内容。



返回列表 返回列表
评论

    分享到