Job - QLGQ/learning-python GitHub Wiki

部署新项目

  1. 建立文件夹: mkdir -p /usr/longrise/LEAP/CZWAPP/WEB-INF
  2. 拷贝文件:
    • 拷贝文件:cp ./APP/* -rf /usr/longrise/LEAP/CZWAPP/WEB-INF/cp /usr/longrise/LEAP/CZWLSIP/WEB-INF/License.lic /usr/longrise/LEAP/CZWAPP/WEB-INF/(在拷贝License时记得在216中备份)(如果挂载了216的话,拷贝文件可以使用命令:cp /data/smbshare/project_update/XIEHUIWEB/AHWEB/test/install/* ./WEB-INF/ -r
    • 修改权限:chown -R tomcat:tomcat /usr/longrise/LEAP/CZWAPP
    • 修改文件:vim /usr/longrise/LEAP/CZWAPP/WEB-INF/leap.xml
    • 安装tomcat:/usr/setup/pubtomcat6.sh
    • 新建文件夹:touch mode2.lic(可选项)
    • 修改权限:chown -R tomcat:tomcat /usr/longrise/LEAP/CZWAPP/WEB-INF/mode2.lic(可选项)
    • 重启tomcat
    • 查看tomcat日志

如果更新了License,就用如下命令拷贝:cp /home/longrise/DEVOPS/project_update/APP/install/License.lic /usr/longrise/LEAP/CZWAPP/WEB-INF/License.lic

安装tomcat

安装tomcat:/usr/setup/pubtomcat6.sh
不过之前先用命令ll /usr/local/tomcatgroup/查看下已经使用的tomcat,以免跟其他服务冲突。安装的过程中,注意每一步的输入,第一步输入tomcat编号,后面几部会涉及到上下文和文件路径,这两个不能搞错。

查看tomcat日志命令 tail -f /usr/local/tomcatgroup/tomcatA13/logs/catalina2018-04-02_13_57_24.out

更新包

更新lib/ResourceLib包

  1. 将包从216复制到对应服务器上(一般通过WinSCP操作):cp /datafile/smbshare/project_update/CZW/LSIP/update/v2 /home/longrise/DEVOPS/project_update/CZW/LSIP/update/ -r
  2. 将/home下面的文件复制到正式上:cp /home/longrise/DEVOPS/project_update/CZW/LSIP/update/v2/lib/* /usr/longrise/LEAP/CZWLSIP/WEB-INF/lib
  3. 重启tomcat。(重启哪个tomcat,如果不确定的话,可以去nginx配置文件中出查找。)

不同的项目要更新的包的位置可能不同,有的项目可能需要执行:cp /home/longrise/v59/lib/* /datafile/fileshare/LEAP.PROJECT/SZLSIP/WEB-INF/lib,或者cp /home/longrise/project_update/GXLSIP/v28/ExcelTemplate/* /datafile/fileshare/LEAP/GXLSIP/WEB-INF/ExcelTemplate/* -r,或者cp /home/longrise/project_update/GXIS/v13/ResourceLib/* /datafile/fileshare/LEAP/GXIS/WEB-INF/ResourceLib等等。

更新war包

  1. 将包拷贝到服务器的备份目录中(/datafile/fileshare/DevOps/project_update/INSH/INSHJERSEYACC)
  2. 将包拷贝到项目下面:cp /datafile/fileshare/DevOps/project_update/INSH/INSHJERSEYACC/v4/INSHJERSEYACC.war /usr/local/tomcatgroup/tomcatA11/webapps/
  3. 重启tomcatA11
  4. 将配置文件拷贝到项目中:cp /datafile/fileshare/JERSEYCONF/INSHJERSEYACC/* /usr/local/tomcatgroup/tomcatA11/webapps/INSHJERSEYACC/WEB-INF/classes/
  5. 重启tomcatA11

查看数据库

  1. 通过运维服务器(73)进入数据库:ssh -p 62222 [email protected]
  2. 查看数据库日志:less /dbssd/pgdata/9.4/pg_log/postgresql-2018-04-18_000000.csv

恢复数据库

  1. 编写脚本:cd /home/longrise/work/DB/vim 20180416_DB_restore.sh
  2. 执行上述脚本

编写的脚本的内容最好在notepad++中写好,注意使用好notepad++中的快捷键操作

导出csv文件

  1. (通过VNC)在pgadmin上执行SQL语句后,点击菜单栏的文件,再点击导出,文件就保存在运维服务器的/datafile/fileshare/DevOps/download中,再复制到桌面即可。

安装服务器

  1. 给服务器安装CentOS系统,手动设置IP
  2. 初始化
    • 建立挂载目录:mkdir -p /data/smbshare
    • 挂载在216上:mount -t nfs 192.168.7.216:/datafile/smbshare /data/smbshare
    • 查看磁盘挂载情况:df -HT
    • 复制setup、setiptables、yum等文件到/usr/目录下:cp /data/smbshare/【运维相关】/LEAP服务器部署/Centos/Redhat\&CentOS\ V4/* /usr/ -r
    • 更新yum源:sh yum.sh
    • 执行防火墙脚本:./setiptables_6.sh
    • 执行初始化脚本:./setup6.sh(该脚本执行后,服务器重启,ssh端口号由22变成62222)
  3. 安装postgresql数据库:cd /usr/setupsh install-pg9.4.5.sh,此时可以查看数据库的配置文件,vim /usr/local/pgsql/data/postgresql.conf,可以开启,/etc/init.d/postgres start
  4. 同步时间:vi /etc/ntp.confdatentpdate 192.168.7.212
  5. 将nfs、ntp设置为开机启动
    • systemctl enable /usr/lib/systemd/system/nfs-server.service
    • systemctl restart nfs-server.service
    • chkconfig ntpd on

如果服务器安装的为CentOS7系统,则要拷贝CentOS7的yum源以及防火墙文件。mount -o loop /data/smbshare/【运维相关】/LEAP服务器部署/Centos/ISO/7.2/rhel-server-7.2-x86_64-dvd.iso /usr/yum

取消挂载命令:umount /data/smbshare/ -l

更改密码

  1. 更改longrise用户密码:passwd longrise
  2. 更改root用户密码:passwd root
  3. 更改vnc用户密码:vncpasswd

切换用户

sudo su - longrise

安装配置Jenkins

  1. 下载安装jdk(jdk1.8.0_91)
    • 官网下载jdk包
    • 上传到Linux服务器,一般上传至目录/usr/local下面:cp /data/smbshare/【运维相关】/LEAP服务器部署/JDK/jdk-8u91-linux-x64.tar.gz ./
    • 解压包:tar -zxvf jdk-8u91-linux-x64.tar.gz
  2. 下载WAR文件(jenkins.war(2.107)),上传到服务器上:cp /data/smbshare/【运维相关】/LEAP服务器部署/jenkins/2.107.2/jenkins.war ./
  3. 安装tomcat(tomcat8)
    • 新建目录jenkins:cd /usr/localmkdir jenkins
    • 新建目录tomcatgroup:mkdir tomcatgroup
    • 再建目录jenkins:mkdir jenkins,这个目录是建在tomcatgroup目录下的。
    • 把tomcat安装包拷贝到jenkins目录下:cp /data/smbshare/【运维相关】/LEAP服务器部署/tomcat8/apache-tomcat-8.5.30.tar.gz ./cp apache-tomcat-8.5.30.tar.gz /usr/local/tomcatgroup/jenkins/,然后解压:mv apache-tomcat-8.5.30.tar.gz ./jenkins/tar -zxvf apache-tomcat-8.5.30.tar.gz
    • 再将解压的目录下的文件拷贝到jenkins目录下:cp apache-tomcat-8.5.30/* ./ -r
    • 修改配置文件:vim /usr/local/tomcatgroup/jenkins/conf/context.xml,将端口依次改为8299,8099,8199。
    • 修改启动脚本:vim /usr/local/tomcatgroup/jenkins/bin/catalina.sh
    • 修改权限:chown -R tomcat:tomcat jenkins/
    • 将WAR文件放入tomcat安装路径/webapps/目录下。
    • 启动jenkins:./bin/catalina.sh start
    • 查看jenkins状态:ps -ef | grep jenkins
export JENKINS_HOME=/usr/local/jenkins

# OS specific support.  $var _must_ be set to either true or false.

export JAVA_HOME=/usr/local/jdk1.8.0_91
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/usr/local/tomcatgroup/jenkins
export CATALINA_HOME=/usr/local/tomcatgroup/jenkins

上述为修改启动脚本加入的代码。

  1. 修改防火墙设置,增加端口访问,重启防火墙。
  2. 访问网址即可:http://192.168.5.109:8099/jenkins/

部署新项目流程

  1. 创建文件夹:mkdir -p /usr/longrise/LEAP/OUCTEST/WEB-INF
  2. 修改文件夹权限:chown -R tomcat:tomcat /usr/longrise/LEAP/OUCTEST/WEB-INF
  3. 拷贝文件:
    • lib文件:cp /data/smbshare/project_update/OUC/OUCTEST/test/install/lib -r ./
    • ResourceLib文件:cp /data/smbshare/project_update/OUC/OUCTEST/test/install/ResourceLib -r ./
    • xml文件(leap.xml,web.xml):cp /data/smbshare/project_update/OUC/OUCTEST/test/install/*.xml -r ./
  4. 安装tomcat:sh /usr/setup/pubtomcat6.sh
    • 输入tomcat编号:2
    • 输入LEAP项目所在文件夹:/usr/longrise/LEAP/OUCTEST
    • 输入服务器上下文:OUCTEST
  5. 拷贝License文件:cp /usr/longrise/LEAP/OUCSMOKE/WEB-INF/License.lic ./(如果部署的该项目产生的sn.txt与该项目所在服务器上的其他某个项目的sn.txt相同,就直接拷贝其他某个项目的License文件到该项目下面,否则需要申请License。)
  6. 重启tomcat并查看日志:
    • 关闭tomcat:service tomcatA02 stop
    • 启动tomcat:service tomcatA02 start
    • 查看tomcat运行情况:ps -ef | grep tomcatA02
    • 查看日志:tail -f /usr/local/tomcatgroup/tomcatA02/logs/catalina2018-04-25_09_54_53.out
  7. 修改leap.xml文件:
    • 修改上下文:<Resource context="OUCTEST" jar="" path="../" use="jar" encoding="UTF-8" />
    • 修改缓存:<cache local="true" bus_name="OUCTEST_LEAPCacheBus" mcast_port="55555" />
  8. 修改永兴元业务中间件平台中的LEAP Studio中的我的文件柜的网站媒体库和配置项图片的路径
  9. 出错问题:
    • 安装tomcat后,/usr/longrise/LEAP/OUCTEST/WEB-INF下面没有sn.txt等文件,说明tomcat安装有问题;
    • 重启tomcat,执行命令ps -ef | grep tomcatA02后,未发现tomcat在运行,则进入tomcat日志查找问题,一般License没有的话就会出现这种情况。

一定要记得修改用户属性为tomcat:chown -R tomcat:tomcat ./

在jenkins上配置项目

需注意的问题:

  1. 在服务器上新建了项目之后,其中的有些构建才可以执行,如拷贝文件和重启tomcat,这些都必须先把项目部署起来才可以执行。
cp: 目标"/usr/longrise/LEAP/OUCSMOKE/WEB-INF/lib/" 不是目录
  1. 构建时需要找开发要Build File:./BB_OUC.Client/BB_OUC.Client.publish.xml./BB_OUC.BLL/BB_OUC.BLL.publish.xml
  2. 当构建出现如下错误时,可能是/data/smbshare/project_update/OUC/OUCSMOKE/test/update/lib和/data/smbshare/project_update/OUC/OUCSMOKE/test/update/ResourceLib下的jar包缺少了,也可能是/usr/local/jenkins/workspace/OUCSMOKE/BB_OUC.Client/BB_OUC.Client.publish.xml文档出错了。
BUILD FAILED
/usr/local/jenkins/workspace/OUCSMOKE/BB_OUC.Client/BB_OUC.Client.publish.xml:16: taskdef class com.longrise.LEAP.Base.AntTask.GZIPTask cannot be found
 using the classloader AntClassLoader[]

查看日志

  1. 查看tomcat日志:tail -f /usr/local/tomcatgroup/tomcatA10/logs/catalina2018-04-26_18_06_20.out,或者less /usr/local/tomcatgroup/tomcatA10/logs/catalina2018-04-26_18_06_20.out
  2. 查看服务日志:
    • less /usr/local/tomcatgroup/tomcatA10/logs/catalina2018-04-26_18_06_20.out | grep LOG
    • less /datafile/fileshare/LEAP/LSIPDevDataAddSyn/WEB-INF/logs/2018-04-13/001/leaperror.log

项目更新包

  1. 从测试服务器上面(一般都在216上面)拷贝要更新的安装包到project_update中:
    • cp /datafile/smbshare/project_jar/IS/GXISTEST/201804281655/lib/ISXS.policydata.interface.jar //datafile/smbshare/project_update/GXIS/v14/
  2. 在正式服务器上新建备份文档:
    • mkdir -p /datafile/fileshare/DEVOPS/project_update/GXIS/v14
  3. 将216上的project_update上面的包拷贝到正式服务器的备份的文档中
  4. 将正式服务器的备份文档中的包拷贝到项目所在地址中替换掉之前的包:
    • cp /datafile/fileshare/DEVOPS/project_update/GXIS/v14/ISXS.policydata.* ./lib
    • cp /datafile/fileshare/DEVOPS/project_update/GXIS/v14/ISXS.Client.jar ./ResourceLib
  5. 重启tomcat,如果在上班的时候更新的话,先在nginx配置文件中屏蔽掉两个tomcat,再重启对应屏蔽掉的,这样不影响工作,之后类似操作重启其他的tomcat。

数据库连接

PostgreSQL

  1. 安装有客户端的,直接通过VNC在客户端上面操作。
  2. 没有安装客户端的则需要通过应用服务器连接到数据库服务器上。(注意服务器必须跟数据库对应!)
    • 方法一:通过应用服务器远程连接数据库:
      • 直接通过应用服务器连接数据库:/usr/local/pgsql/bin/psql -h 10.0.0.1 -p 54320 -U postgres -d postgres
    • 方法二:先通过应用服务器远程连接数据库服务器,再在数据库服务器上连接数据库
      • 连接数据库服务器:ssh -p 62222 [email protected](只能以longrise身份登录,不能以root身份登录!)
      • 连接数据库:/dbssd/pgsql10/bin/psql (-h 127.0.0.1 -p 54320 -U postgres -d postgres) (只能以root身份执行,不能用longrise!)

广西主数据库只能通过广西消保这个应用服务器连接!

Redis

  1. /usr/local/redis/bin/redis-cli
  2. AUTH longrise

常见问题及解决办法

更新项目包之后tomcat启动失败问题

  • 问题描述:项目更新之后,重启tomcat,但是tomcat重启失败。
[root@host-192-168-1-119 longrise]# cat /usr/local/tomcatgroup/tomcatA03/logs/catalina2018-07-19_18_14_40.out 
19/07/2018 18:14:40 14354 jsvc.exec error: Service did not exit cleanly
  • 解决办法:
    • 执行语句:rm /var/run/jsvc_tomcatA03.pid (根据错误提示,说的是jsvc.pid已经存在了,一般都是确实在运行或者异常退出,pid没删除造成的。) 如果执行以上语句后任然重启失败,则查看系统磁盘,看是否已经用满,很有可能是项目的tomcat日志太大,导致磁盘用满了。