运维相关笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liufang1991/article/details/81876009

1. 增量发布
在windows下操作得到增量包
1)拷贝整个工程到d:/tmp下
2)清除一天以前所有的文件,参考win7 如何批量删除指定日期以前的文件
···forfiles /p D:\tmp /d -1 /s /m . /c “cmd /c del /f @path”···
3)用删除空目录工具Remove Empty Directories删除所有空目录
工具下载地址
4)至此得到了一个增量更新的目录就可以压缩上传发布到服务器上了
2. Angular2的项目发布
1)如果用hash路由打包,则可以部署在任意容器中
2)否则只能用node或者nginx来启动,用tomcat不知道怎么配置
nginx的配置

       location / {
           root /data/server/apps/app1/dist;
           try_files $uri $uri/ /index.html =404;
        } 

问题解决

  • nested exception is java.lang.ClassFormatError: Illegal UTF8 string in constant pool in class file
    把老的工程复制到另外一台服务器上就报这个错误, 有说法是JDK和tomcat版本不一致导致,也有说法是在文件传输过程中字节码文件被损坏了。
    在新机器中输入 echo $LANG,发现新的服务器上只有en_US.UTF-8英文的UTF-8字符集,没有中文的字符集。而在老的机器中有:zh_CN.UTF-8:en_US.UTF-8,老机器中vim /etc/sysconfig/i18n, 然后source /etc/sysconfig/i18n
LANGUAGE="en_US:zh_CN.UTF-8:en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LANG="zh_CN.UTF-8:en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

CentOS6.x 字符集配置文件在/etc/syscconfig/i18n;
CentOS7.x 字符集配置文件在/etc/locale.conf;
但是问题还是没有解决,最后发现报错的类文件在近期被人修改过,原来是用Linux命令把微软雅黑字体替换掉造成的,该类是发送邮件类,里面用到了Microsoft YaHei字体,命令竟然能够找到.class文件中的字符串

  • 有两个web工程原来是通过不同子域名配置访问正常,有客户要求用IP访问,发现从web1通过sendRedirect跳转到web2以后web1的session就丢失了
    原因分析:cookie是只认IP不认端口的,在访问web1时生成了一个cookie,跳转到web2后又重新生成了一个cookie,这个时候再去操作web1使用的是web2的cookie了,找不到session所以就会跳转到登录界面去
    解决办法:web1和web2使用不同的IP访问

猜你喜欢

转载自blog.csdn.net/liufang1991/article/details/81876009