发表于: 2017-07-19 14:43:07
3 1051
今天完成:
看任务四要求。翻了下师兄日报。
任务三总结:
1、jar包和war包是什么,区别?
可以理解为一个项目的压缩文件,war是web项目的jar。jar包可以通过java c 编译运行?? war包要放在服务器的容器(tomcat/resin)里部署运行。
maven中的打包方式:maven的pom文件可以配置<packaging>war</packaging>
2、nginx服务器有什么作用?什么叫反向代理?为什么要使用反向代理?
之前日报中有。
nginx服务器是反向代理服务器,接收所有用户的请求后分配给服务器处理。
反向代理是相对正向代理而言,正向代理 是 用户通过代理服务器访问指定的处理请求的服务器,正向代理服务器相当于中介。
反向代理是用户通过反向代理的命名空间发送请求,反向代理来交给某个服务器处理。
3、tomcat、jetty、resin各容器有什么区别?如何优化这些容器配置?
区别:
用过的:服务器上用的tomcat和resin,idea自带有jetty。
tomcat 配置文件:

使用tomcat时,把war包放在tomcat的WebRoot文件夹中,修改 tomcat 的 server.xml ,
server.xml里加入:
<Host name="123.206.213.250" appBase="/home/ubuntu/tomcat/WebRoot" unpackWARs="true" autoDeploy="true">
<Context path="123.206.213.250/task2" docBase="task2.war" debug="0" privileged="true"/>
修改hosts文件:
C:\Windows\notepad.exe C:\Windows\System32\drivers\etc\hosts
使用resin时候,也是把war包放在webapps里。resin.xml 里添加一行“web-app” :
<web-app id="/task2" root-directory="webapps/task2" />
访问:http://123.206.213.250:8080/task2/a/student/8
resin中可以放多个war,加上多行web-app
如何优化配置:
4、什么是ssh?如何在linux服务器上从网站下载文件?
ssh:
一种网络协议。用于计算机之间加密登录。
ssh保证安全的方式是采用公钥加密。
用户登录远程主机时发送请求——远程主机收到后发送公钥给用户——用户使用公钥加密登录密码,发送给远程主机—— 远程主机用私钥解密登录密码,密码正确则同意登录。
在上述过程中,如果有人截获登录请求,伪造公钥发给用户,用户再把自己密码发送给伪造的远程主机后,就会造成密码泄露。——中间人攻击(公共wifi 的危险)
SSH采用 口令登录 / 公钥登录 应对。
如下:第一次登录远程主机时,远程主机发送一个提醒,提醒可能存在风险,并且提醒里有一个公钥指纹,问用户是否想继续连接。而这个公钥指纹,需要用户自己确认是否与远程主机公示的一致?!!! 感觉这种方式很鸡肋啊。
用户同意登录后再输入密码。
公钥登录:
用户将自己公钥储存在远程主机,用户登录时,远程主机向用户发送字符串,用户用私钥加密后发回远程主机,远程主机用用户的公钥解密成功后允许登录。
下载文件用 wget ,一种类似迅雷的下载工具。
下载单个文件:wget +资源地址 如: wget http://man.linuxde.net/testfile.zip
下载多个文件:wget -i filelist.txt filelist.txt 里保存要下载的多个url
用wget下载方法学习链接:http://man.linuxde.net/wget
用apt-get 是一种软件安装方式。我现在用到的从网站下载文件也就是安装软件了。因此把apt-get也写出来了。
安装:sudo apt-get install /update/remove 软件名
5、如何写shell脚本?尝试自己编写一个简单脚本。
仿照此:
#!/bin/bash
echo "Hello World !"
执行脚本命令:
chmod +x ./test.sh #使脚本具有执行权限
./test.sh #执行脚本
自己用到的例子,用来统计nginx的access.log中总访问量、各ip 访问次数统计 、响应时间超过某个值的ip条数 。
#!/bin/bash
log_path=/var/log/nginx/access.log
export.GB2312;
ip_pv=`awk '{ip[$1]++}END{for (k in ip){print ip[k],k}}' ${log_path} | sort -rn | head -20`
total_visit=`wc -l ${log_path} | awk '{print $1}'`
d=`awk -F- '$2>0.007' access.log | sort -n | uniq | wc -l`
echo -e "总访问量-${total_visit}\nip-${ip_pv}\时间超过0.007毫秒的有${d}条"
6、spring aop 应用场景?
spring ioc 用于解耦,spring aop用于提高代码复用性。
AOP 将安全,事务等于程序逻辑相对独立的功能抽取出来,利用spring的配置文件将这些功能插进去。
适用于具有横切逻辑的应用,aop 将分散的代码通过横向切割方式(我用到的是xml文件中配置切点、切面等 )抽取到一个独立的模块(aop.Advice.class中 before after 方法里),
AOP适合性能监测,访问控制,事务管理、缓存、对象池管理以及日志记录,我使用的是用于日志分析吧 。
未解决的问题:
接口访问时长 :postman 可以看到
db时间日志在服务器上的输出。
评论