zoukankan      html  css  js  c++  java
  • xxxxx子系统部署手册

    1.运行环境和规格

    系统环境如下:

    Linux版本

    CentOS 7

    JDK版本

    jdk-8u141以上

    PostgreSQL版本

    10.x

     

    应用构建部署环境如下:

    git

    1.8.3.1

    node

    node-v8.11.4-linux-x64

    nginx

    1.6.2

    2.基础环境安装与配置

    基础环境的安装与配置请请参考运维编写基础环境部署文档

    2.1.安装 JDK

    2.2.安装 PostgreSQL

    2.3.安装 git

    2.4.安装 node

    2.5.安装 nginx

    3.数据库部署配置

    3.1.主机信息

    部署数据库服务器的主机信息如下:

    • 服务器IP:59.214.215.xx
    • 主机账号1:root 密码:xxxxx
    • 主机账号2:root 密码:Hlw..xxx

    3.2.pg数据库安装

    这部分内容参考上面的基础环境部署章节

    3.3.数据库配置

    这部分内容主要有创建数据库、执行相应的数据库脚本、或者迁移数据库的一些操作步骤,具体可根据项目情况来进行数据库配置,就目前的状态,我们的目标就是将正式环境10.10.1.xxx上的pg数据库迁移到测试环境59.214.215.xxx上来。下面即具体的操作步骤:

    1. 进入正式环境10.10.1.xxxx服务器
    2. 使用ps命令查找pg数据库安装目录
    3. 通过查看,安装目录为/opt/haishu/local/postgresql/bin 进入安装目录
    4. 使用pg数据库的导出命令
    ps -ef | grep pg
    cd  /opt/haishu/local/postgresql/bin 
    ./pg_dump -h 10.10.1.xx -U postgres msgmanage >/opt/haishu/backup/msgmanage.sql

    其中:

    • -h表示的是我们要导出的数据库所在的服务器地址,也就是10.10.1.1xx
    • -U表示的是正式环境数据库使用的用户名
    • ig_file_xycq表示该使用的数据库的名称
    • /opt/haishu/backup/ig_file_xycq.sql 表示我们将导出的数据存放的路径
    在使用这个命令时会遇到了一个问题,显示的是:
    
    error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory
    从网上找到了解决方案
    
    #使用find命令找到libpq.so.5所在的目录
    find / -name libpq.so.5
    #创建/usr/lib/libpq.so.5的软连接
    ln -s /opt/haishu/local/postgresql/lib/libpq.so.5 /usr/lib/libpq.so.5
    #创建/usr/lib64/libpq.so.5的软连接
    ln -s /opt/haishu/local/postgresql/lib/libpq.so.5 /usr/lib64/libpq.so.5
    然后再用次命令即可
    
    cd  /opt/haishu/local/postgresql/bin
    ./pg_dump -h 10.10.1.xxx -U postgres msgmanage >/opt/haishu/backup/
    进入我们导出数据存放的目录
    使用scp命令将导出的sql文件传送到59.214.215.xx中,具体放在/opt/haishu/backup/msgmanage/下
    cd /opt/haishu/backup/
    ll
    scp -r ./msgmanage.sql ztyw@59.214.215.xxx:/opt/haishu/backup/msgmanage/
     
    
    进入59.214.215.xx服务器,并使用ps命令来查找pg安装的目录
    进入pg安装的目录
    ps -ef | grep pg
    cd /opt/haishu/local/pgsql/10.1/bin
    ll
    ##使用pg数据库导入命令 
    ./psql -U postgres msgmanage_new < /opt/haishu/backup/msgmanage.sql
    其中:
    
    -U表示的是测试环境数据库使用的用户名
    msgmanage_new表示该使我们在测试环境创建的数据库的名称,导入之前先创建此数据库
    /opt/haishu/backup/msgmanage.sql 表示我们将使用哪个文件的数据进行导入操作

    4.  应用构建部署

    git拉取代码并进行代码的编译打包操作步骤用jenkins实现。

    4.1. 主机信息

    部署应用服务器的主机信息如下:

    • 服务器IP:59.214.215.xxxxx
    • 主机账号1:root 密码:xxx
    • 主机账号2:ztyw 密码:Hlw..2018

    4.2. 部署操作约定

    1. 部署的主目录在:/opt/haishu/app
    2. xxx的后端在:/opt/haishu/app/backend-v2
    3. xxx的前端在:/opt/haishu/app/frontend-v2
    4. 各个不同的子系统以子系统的名称在前端和后端下命名
    5. 如果是前后端一起的,则直接在/opt/haishu/app下建子系统目录

    4.3.部署操作步骤

    4.3.1.前端操作步骤

    4.3.1.1.获取前端dist文件

    首先从开发处获取前端的dist文件

    4.3.1.2.创建目录

    首先在/opt/haishu/app/frontend-v2目录建子系统的前端文件目录:message-management

    cd /opt/haishu/app/frontend-v2
    mkdir message-management
    ll 
    4.3.1.3.解压文件

    获取到了前端的压缩包,则使用如下命令解压

    解压完文件后,将解压后的dist文件放入到message-management目录下即可。

    tar -zxvf xxx.tar.gz
    cd message-management
    ll 
    4.3.1.4.nginx配置

    进入nginx目录(我们可以使用如下方式查找进程目录:ps -ef | grep nginx并找到nginx的进程pid,然后使用ls -l /proc/pid 来找相应进程所在的目录)

    ps -ef | grep nginx
    ls -l /proc/PID 
    cd /opt/app/local/tengine/conf/
    ll

    而nginx一般的配置是放在nginx.conf配置文件下的,进入nginx.conf文件,主要配置后端服务名、后端server地址,配置内容参考如下(注意最下面的include conf.d/*.conf表示的是这个nginx.conf的配置内容包含了conf.d目录下的所有以.conf结尾的配置文件)。我们进入conf.d目下,查看到对应的配置文件如下:

    vim nginx.conf 
    cd conf.d/
    ll

    我们xx系统二期的配置文件统一放在credit-system-v2.conf文件中,进入credit-system-v2.conf文件进行配置,如下所示:

    vim credit_system-v2.conf
    • 当然我们也可以直接在这个配置文件下配置第4个操作步骤中的服务名、后端地址;

    upstream message-backend-v2{

    server 59.214.215.xxx:18082;

    }

    • listen为我们设置前端需要访问的端口号,需要确保我们的端口号没有被使用,可使用命令:lsof -i:port 查看port端口号占用情况;
    • root后面配置我们前端的dist文件所在目录;
    • 后面的location相关的内容中涉及的服务名,均要改为我们上面设置的upstream,即message-management-v2
    4.3.1.5.启动nginx

    进入/opt/app/loacl/tengine/sbin中运行。

    cd /opt/app/local/tengine/sbin/
    ./nginx -c /opt/app/local/tengine/conf/nginx.cong -p /opt/app/localtengine 

    4.3.2. 后端操作步骤

    4.3.2.1.获取后端部署程序包

    首先从开发处或者jenkins获取到xxx系统相关的部署程序包,里面主要包含启动脚本:start.sh、停止脚本:stop.sh、版本说明配置文件:version.properties、应用配置文件:application.properties以及Java程序包:xxx.jar等。

    4.3.2.2.创建目录

    进入/opt/haishu/app/backend-v2目录,并在该目录下建一个xxxx系统的后端文件目录message-management。

    cd /opt/haishu/app/backend-v2
    mkdir message-management
    4.3.2.3.获取文件

    将获取到的应用相关的部署包及相关配置文件都放进message-management文件夹中,包含的内容如下图所示:

    cd message-management
    ll 
    4.3.2.4.查看并修改版本配置文件

    查看version.properties中对应的版本与java包的版本是否一致,如果不一致,则将文中的VERSION更改与java包的版本一致,如下图所示,文件中的VERSION与包的版本一致,这里不做修改。

    vim version.properties 
    4.3.2.5.查看并修改应用配置文件

    查看并修改application.properties文件,主要是修改相应的数据库配置的url,classname,username,password几个部分,具体如下:

    vim application.properties 
    4.3.2.6.启动后端

    然后运行start.sh脚本启动后端

    ./start.sh 
    4.3.2.7.查看进程启动情况

    使用ps命令查看进程启动情况,如果启动正常,那么实际操作到此就结束了,但如下我们可以看出实际上我们的邮件系统并未启动起来,所以我们需要查看日志并处理启动报错的问题。

    ps -ef | grep message 
    4.3.2.8.查看日志

    查看日志文件,报错信息为:/tmp/spring.log文件权限不够,则可能需要使用root账号执行,或者更改该文件的用户权限。

    cd log  #进入日志目录
    ll      #查看目录有哪些日志文件
    tailf mm-web-metric.2019-06-04.0.log  #查看最新的日志文件 
    4.3.2.9.处理日志报错

    从上图的日志文件报错信息我们可以看出,报错原因是因为/tmp/spring.log权限不够,所以我们需要修改/tmp/spring.log文件的权限。

    cd /tmp
    ll 

    从上图我们确实可以看出,spring.log文件所属用户为root的,而我们正使用的是ztyw用户,所以这里我们可以将spring.log文件的权限更改为ztyw,更改如下所示:

    sudo chown ztyw ./spring.log
    chgrp ztyw ./spring.log
    ll 
    4.3.2.10.重新启动后端

    修改好后,再进入后端目录,重新运行./start.sh文件启动,并查看进程

    cd /opt/haishu/app/backend-v2/message-management
    ./start.sh
    ps -ef | grep message 

    4.3.2.11.      访问地址

    浏览器中输入59.214.215.xx:8012即可访问xx系统

  • 相关阅读:
    Basic Calculator II
    理解与模拟一个简单servlet容器
    括号字符串有效性验证
    理解与模拟一个简单web服务器
    Tomcat日志输出在linux和windows差异
    SqlCommand执行带GO的SQL脚本文件
    《第一行代码》添加百分比布局库依赖问题
    final 和 static之间的区别和联系
    oracle DB 使用注意点小结
    方法重载(method overloading)
  • 原文地址:https://www.cnblogs.com/wendyw/p/14837117.html
Copyright © 2011-2022 走看看