栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

记一次客户测试环境运维

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

记一次客户测试环境运维

记一次客户测试环境运维

好久没有更新博客了,主要是最近有点忙,主要忙着两件事,一个是系统性能测试及调优,另一个忙着在客户测试环境部署服务,今天就来聊一聊环境部署相关的内容,下一期像讲一讲关于性能优化的问题。

在正式开始前先来看下这篇博客是如何完成的:

首先,我是在家远程公司的电脑,取一些素材,大概是这样的,中间小窗口是远程公司电脑桌面:

然后是需要远程到客户端机器上,由于都是证券公司,服务都是部署在内网,所以我需要远程到客户电脑,然后连接客户服务器,在上面进行项目的部署和测试。估计是有很多服务通过一台电脑远程,所以这个桌面上跑了无数个进程,图标开的满满的,就是下面这样的(声明:图中无用户隐私内容):

现在呢,我就是开着两边的连接在三台电脑上来回切换,完成这篇文章。

接下来进入正题。

1. 项目打包

由于在公司自己的开发和测试环境是自己公司内网,项目是使用gitlab+jenkins+Nexus Maven仓库。所以在在开发测试环境时,只需要配置好各个环境的配置文件,提交代码,在jenkins上配置好各个环境的信息,只需一键构建即可完成项目的部署和运行,当然还有一个前提是写好服务的启停脚本

但是由于项目发布到客户的机器上,没法使用这种自动化工具,只能手动将项目所有的服务,依赖,配置文件等等一起打包。

首先是各个Service包,更改好配置文件中active的环境,使用Maven package插件即可。

然后是各种中间件,的安装包,比如使用的什么注册中心,配置中心,消息中间件,cache等等,当然不排除用户服务器上没有jdk和数据库,所以所有的安装包一起打包。

2. 传输服务到客户机器

使用远程桌面,一键拖过去即可,但是由于万恶的资本,在每购买vip的情况下,传输速度急速,300k/s。oh,天呐。1个GB的压缩包需要传输一个小时。。。无语,害!兜里没钱,要忍受这种速度,不过没关系,慢慢传呗。

3. 客户服务器配置

在这里说一点很神奇的事,客户服务器的用户名和密码是我们的产品传达给到我这里,然后我在客户机器上连接服务器,结果密码错误。。。

真的是坎坷,最终成功拿到了正确的密码,接下来就进入到正式的部署环节了。

4. 服务部署 4.1 JDK

按照正常流程安装配置即可,把JDK的安装包传到服务器上,解压后配置环境变量,之后刷新生效即可,这里没啥幺蛾子。perfect,next。

4.2 数据库安装

我们使用的是Mysql,这里说一下拿到一台新的服务器安装配置数据库时的注意事项吧。

4.2.1 卸载删除原有机器上的mysql,mariadb等相关的安装和注册文件

反正个人觉得是删掉重新安装更放心,具体方法可以某度,如下:

4.2.2 下载安装Mysql安装包

一般使用rpm -ivh获取下载,yum安装,简单的在服务器上执行如下指令即可

rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-community-server

但是,但是,这里,万一服务器没有联网,或者域名域名解析服务,那就获取不到安装了,怎么办?怎么办?

下载好传到服务器上安装呗!

大概需要这几个包,按照一定的顺序,使用yum -y install …安装即可,遇到需要其他的依赖包是,会有提示,不用担心:

4.2.3 初始化数据库用户名,密码,权限等等

4.2.4 初始化数据库表

直接将ddl语句传入服务器,source xxx.sql 语句执行即可。

4.3 服务部署

当然,项目部署在root用户下,需要创建用户,并在该用户的工作目录下部署服务,这里也记录下创建用户,初始化密码的指令吧,这里以app用户为例:

新建用户,初始化密码

adduser app
passwd app

之后输入密码,并再次输入后确认

4.3.1 中间件,cache安装,启动 4.3.2 各服务解压缩,启动

当然,可以编辑shell脚本运行,省去逐个服务安装运行的烦恼

部署完成后的家目录是这样的:

具体服务内部目录是长这样的:

其中,bin目录下是startup.sh 和shutdown.sh脚本,config目录下是配置文件,lib下是服务依赖。

4.3.3 最后检查下各服务正常启动

执行提前准备好的脚本即可

OK,大功告成。

5. 关于查看机器配置的一些指令 5.1 查看机器版本

由于这里使用的是redhat的linux发行版本,查看命令如下

cat /etc/redhat-release

5.2 使用numactl

查看cpu信息

关于numactl的具体介绍和功能,将在下一篇关于性能调优的文章展开描述

5.3 使用 tuned

主要是配置一些调优参数,将在下一篇关于性能调优的文章展开描述

感受

这也是我做开发以来第一次进客户的机器上整个环境部署服务,其实正常来讲这些工作都是由运维的同事进行的,但是我们的项目还处于初版的开发测试环节,需要由开发产生部署文档,之后给到运维的同事执行。

之前也在公司内部新机器上部署过,但是由于客户的机器没有域名解析服务,安装mysql服务时折腾了很久,害。

下一篇讲一讲关于性能测试和性能优化的一些事,之后介绍下一种证券交易用的比较多的协议-FIX协议。再之后写什么呢?暂时还没想好,估计继续聊一聊JVM相关的内容吧,OK,下期再会。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451131.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号