发表于: 2017-06-28 22:27:36
1 1173
今天完成的:任务6,7,8
收获:
然后linux下部署tmocat的web项目和windows异曲同工,丢到webapps里自动解压。
Nginx是支持http的反向代理服务器,与正向代理相反,它可以对客户的请求进行转发,实现负载均衡。

可以使用一台虚拟机,安装一个nginx,多个tomcat来模拟。
只需要在upstream的server后面添加一个weight即可代表权重。权重越高,分配请求的数量就越多。默认权重是1
这次任务又出来个resin,和tomcat/jetty本质上都差不多,都是jsp/servlet容器。
1)Jetty更轻量级。这是相对Tomcat而言的。
2)Jetty更灵活,体现在其可插拔性和可扩展性,更易于开发者对Jetty本身进行二次开发,定制一个适合自身需求的Web Server。
3)然而,当支持大规模企业级应用时,Jetty也许便需要扩展,在这场景下Tomcat便是更优的。
进入nginx的log目录(根据安装nginx的./configure)
查看log倒数100行的内容 tail -100f access.log
输入head access.log
脚本内容:
#!/bin/Bash
done
这段shell脚本踩了不少坑.如图。
1.windows下复制粘贴的代码,后面的回车符与unix的回车符是不兼容的,要在linux下运行shell可以使用notepad++将回车转成unix格式的。
2.编码问题,使用shell脚本最好使用utf-8-NO-BOM格式的。根据网上的说法,BOM(Byte Order Mark)是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF。这个标记是可选的,因为UTF8字节没有顺序,所以它可以被用来检测一个字节流是否是UTF-8编码的。微软做这种检测,但有些软件不做这种检测,而把它当作正常字符处理。
微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节, windows上面的notepad就是根据这三个字节来确定一个文本文件是ASCII的还是UTF-8的, 然而这个只是微软自己的标记, 其它平台上并没有对UTF-8文本文件做个这样的标记。
3.有一些空格其实是特殊的占位符,在notepad++中都看不出来,但运行脚本就会出乱码异常。删了就行。
以前用eclipse写xml配置文件,复制粘贴过来也总是满篇错误,现在看来也是上面的几个原因,总的来说是win平台和unix的兼容问题。
7.查看Resin日志,统计访问DB时间,Controller处理时间。
使用的tomcat,日志没写明白,还在考虑中。统计访问DB时间,Controller处理时间这两个似乎可以通过spring aop处理。
任务8:使用Top命令查看WEB服务占用内存和CPU。
top命令的第一行“top - 19:56:47 up 39 min, 3 users, load average: 0.00, 0.00, 0.00”显示的内容依次为“系统当前时间 、系统到目前为止已运行的时间、当前登录系统的用户数量、系统负载(任务队列的平均长度)三个值分别为1分钟、5分钟、15分钟前到现在的平均值【这三个一般会小于1,如果持续高于5,请仔细查看那个程序影响系统的运行】”
遇到的问题:
1.后来出现一个bug,部署到linux环境下,无法访问,页面一直等待加载,通过查看Tomcat日志发现远程端的DB密码忘了改,导致访问不到数据库
查看tomcat运行日志:
1、先切换到:cd usr/local/tomcat5/logs
2、tail -f catalina.out -f参数设置正序/逆序预览文件和预览行数
登录mysql后set password for 'root'@'localhost' = password('csk110110');更改密码即可。
2.log打出来之后发现有一堆ip,然而我都不认识。。而且我本机ip访问nginx的记录也没有。有点懵逼.
明天的任务:
把任务三整个重新研究一遍,之前做任务忽略了很多细节。
9.将以上数据都贴到日报里去。 执行时间统计要分成 执行了100次。其中的分布是怎么样的。如20MS有多少次。10MS有多少次。这个就不太懂,问下师兄分成一百次是什么意思?20ms又是什么。
评论