发表于: 2019-12-18 00:00:44
2 1329
今天完成的事情:
根据别人的内容
编写了部署复制war项目到tomcat/resin/jetty
webapps文件夹下的shell脚本
个人理解:
shell脚本就是linux命令的合集
以便于设定条件去执行某项命令
shell脚本主要分两种 sh 和 bash
区别:
1. sh 遵循POSIX规范:“当某行代码出错时,不继续往下解释”。
bash 就算出错,也会继续向下执行。
2. sh是bash的一种特殊的模式,sh就是开启了POSIX标准的bash
/bin/sh 相当于 /bin/bash --posix。
如何表明是sh 还是 bash
在shell脚本开头表明
#!是一个特殊标记,说明这是一个可执行的脚本。除了第一行,其他以#开头的都不再生效,为注释。
#!/bin/bash
#!/bin/sh
myshell.sh 文件目录 脚本内容
#!/bin/sh
function deployall(){ 编写一个方法 名为deployall
cp *.war $1/webapps 复制此目录下的war包至 参数1 webapps目录下
if [ $# -gt 0 ]; then 循环函数 if then 如果传递给函数或脚本的参数个数 大于0
shell脚本语言参考这一篇
https://www.cnblogs.com/yinheyi/p/6648242.html
运行中出现了如下问题:
问题1. Permission denied
原因:无权限
解决方法: 添加权限 chmod a+x myshell.war
问题2: bad interpreter: No such file or directory
原因:我用windows自带的文本编辑器编写的shell文,文档格式为 CR LF
windows认,linux不认
解决方法: 用Notepad++ 程序编写shell 在里面转为LF格式 linux才能识别
这个我之前就下过了
使用notepad++将windows风格的文件转为linux风格
https://blog.csdn.net/beyondrl/article/details/90312945
问题3:
(1) syntax error near unexpected token `then'
(2)
原因:很简单 都是空格的问题
文档内所有指令之间都必须把空格加上
解决(1):
if语句 [ ] 之前 中间 空格都不能少
解决(2)
*war $1 之间加空格
shell脚本对空格要求很高,不能出错。
输入命令 运行shell脚本 后面是传入的参数数字
3个都是复制成功 且可以正常运行
看了nginx 没怎么看懂
就大概了解了正向代理 和 反向代理的区别
明天试试搭建这个
正向代理和反向代理的区别(通俗易懂)
1、正向代理:类似我们想要访问国外的Google服务器,但是由于访问限制,我们需要找一个代理去访问。换句话说,客户端明确知道要访问的服务器的地址,客户端把请求发送给代理,代理转发给服务器,服务器把响应传给代理,最后代理把响应传给客户端。我们可以看到客户端知道服务器是谁,但是服务器并不知道客户端是谁,这就是正向代理,隐藏了客户端的真实信息。
2、反向代理:类似我们访问淘宝,由于访问量巨大,淘宝会使用许多台服务器(就是分布式服务器)来支持,但是每个客户端的请求到底由哪一台服务器来响应,我们需要一个代理来决定。换句话说,客户端并不知道要把请求发送给哪一台服务器,但是知道发送给哪一个代理,然后代理依据规则(响应时间,负载均衡等)决定把请求转发给哪一台服务器。可以看到,客户端并不知道他访问的服务器是谁,这就是反向代理,隐藏了服务器的真实信息。
明天的计划:
完成剩余的任务
评论