项目介绍
项目背景:
已经有一套JAVA项目微服务系统,包含web、api、微服务,迁移部署到新服务器,服务器不同,数据同步,相同框架,提供对应网站服应用等业务服务
项目目的:
部署并迁移系统,在新服务器正常使用
单机测试,从裸机-系统-软件-架构-部署-数据-同步-发版-上线,整体流程与思路分享,包含后端、数据,测试、网络、运维等相关事务。
项目软件:
idea、xftp、ssh、nosqlbooster、redis desktop manager,会安装和卸载,常用
项目架构:
ubuntu、java1.8、activemq、 Eureka、redis、mysql、mongodb、nodejs、tomcat\nginx、gradle
配置环境:
可以多台同类服务器集群
呈现结果:
api 集群,erp 、网站集群、后台、差不多10个微服务
配置流程:
一、准备工作
1、系统安装与常用命令
uname、 uname -v 、uname -a 、 apt install 、apt update 、apt upgrade、mv 、cp 、rm
1.1、更改root密码
sudo passwd root
设置root密码123
1.2、切换用户
su root
输入root密码123
1.3、开启root远程ssh
编辑配置文件
vi /etc/ssh/sshd_config
更改以下行
#PermitRootLogin prohibit-password
为
PermitRootLogin yes
1.4、再重启ssh
service ssh restart
1.5、ifconfig查看Ip
1.6、检测连接:ssh客户端
1.7、检测连接:xftp客户端
2、准备安装文件:
2.1 软件
2.2 系统配置文档
2.3 软件配置文档
2.4 开发配置文档
2.5 tomcat配置
2.6 启动脚本配置
2.7 nginx配置
3、准备配置文件:
3.1系统配置文件 /etc/profile
3.1.1默认配置:
3.1.2参考配置:
3.1.3配置说明:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
## 这里要注意目录要换成自己解压的jdk 目录
#export JRE_HOME=${JAVA_HOME}/jre
#export CLASSPATH=.${JAVA_HOME}/lib:${JRE_HOME}/lib
#export PATH=${JAVA_HOME}/bin:$PATH
#set java environment
JAVA_HOME=/usr/local/java
JRE_HOME=/usr/local/java/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
export TZ="Asia/Shanghai"
# Nodejs
VERSION=v10.12.0
DISTRO=linux-x64
export PATH=/usr/local/nodejs/node-$VERSION-$DISTRO/bin:$PATH
3.1.4 mysql配置文件
3.1.5 monogo配置文件
3.1.6 redis配置文件
3.1.7 activemq配置文件
3.1.8 tomcat配置文件
3.1.9 nginx配置文件
4、 启动命令与文件
4.1 jar项目启停
4.2 nginx启停
4.3 tomcat启停
5、准备jar目录与文件
xftp文件数量和数据大小有关系,多了会卡死,具体数值没有计算
二、软件安装与更新
2.1 更新
2.1.1 apt update
2.1.2 apt upgrade
2.1.3 等待完成
2.2、安装java
2.2.1 上传下载文件
jdk-8u181-linux-x64.tar.gz
2.2.2 进入文件目录
cd
2.2.3 查看文件
ll
2.2.4 解压文件
tar -xvf jdk-8u181-linux-x64.tar.gz -C /usr/local/
指定到目录
2.2.5 改名文件
mv 改名为java,个人爱好
2.2.6 编辑系统配置
vi /etc/profile,添加环境变量
2.2.7 更新环境变量
使之生效
source /etc/profile
2.2.8 检查版本
java 、javac 、java -version
至此,java安装完成
2.3、安装activemq
进入对应目录解压cd ll
tar -xvf ***** -C /usr/local/
进入解压目录,个人爱好,可以改个名称activemq,我没有改了
进入目录,启动activemq
./activemq start
netstat -tlnp 查看进程 35456545就是activemq的pid,网页登陆默认用8161端口
网页检测:默认admin admin
至此,activemq安装完成
2.4、安装redis
方法1:
tar -xvf ***** -C /usr/local/
编译
进入目录,启动redis
./bin/redis-server /usr/local/redis/redis.conf
方法2:
apt install redis-server
修改配置 vi /etc/redis/redis.conf
所有IP
bind 0.0.0.0
设置密码123456
requirepass 123456
查看端口:6379
登录检测:使用redis桌面管理工具
至此,redis安装完成
2.5、安装monogodb
方法1:下载,解压 ,初始数据配置,数据目录、日志目录、启动
方法2:
复制可以正常使用的mongo目录,启动mongo
./mongod --config /usr/local/mongodb/conf/mongodb.conf
查看配置
启动mongo,查看端口
登录检测:我使用NoSQLbooster 工具访问
复制数据库
从其他服务器复制粘贴
至此,mongo安装完成
2.6、安装nginx
安装nginx之前,安装一下依赖与更新
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g-dev
apt-get install openssl libssl-dev
apt-get install gcc
apt update
apt-get install libpcre3-dev
apt-get install ruby
apt-get install zlib1g-dev
进入下载目录
解压文件
进入解压目录,
编译,包含参数,比如ssl
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
安装 make && make install
启动检测:./nginx ./nginx -s reload
至此,nginx安装完成
2.7、安装node
2.7.1 node安装
apt install npm
2.8、安装mysql 5.7
2.8.1 修改下载源
添加 # 清华镜像源 # 阿里源 # 中科大源
# 清华镜像源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# 阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
# 中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
vi /etc/apt/sources.list
2.8.2 执行更新
apt-get update
apt-get upgrade
2.8.3 安装mysql 5.7
apt-get install mysql-server-5.7
2.8.4 授权root远程
2.8.4.1 登录
mysql -u root -p
2.8.4.2 使用
use mysql;
2.8.4.3 创建
create user 'root'@'%' identified by '123456';
2.8.4.4 授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
2.8.4.5 加载
flush privileges;
2.8.4.6 重启!
service mysql restart
2.8.5 连接测试
mysql远程连接工具navicat for mysql
2.8.6 复制数据:
sqlyog fro mysql远程连接工具
至此,mysql安装完成
三、微服务版本发布与启动配置
方案一、jenkins自动部署
方案二、idae开发工具手工打包
1、eureka注册中心启动参数
发布版本:启动后生成jar文件
jar文件上传到服务器
更改jar文件名称,对应启动命令定义在名称
更改启动配置:
启动 eureka,通过脚本启动
查看启动日志 tail -fn 300 logs/..
登录网页查看:
2、启动tmservice
同样idea jar打包,xftp上传、ubuntu编辑脚本,并启动后查看日志和使用情况!
查看:下科7870就是我定义的tmservice
休息下,小插曲,双网卡网络不通,添加个路由
添加路由: route add -net 172.20.0.0/16 gw 172.20.0.2
3、启动业务logservice
同样idea jar打包,xftp上传、ubuntu编辑脚本,并启动后查看日志和使用情况!
发版,上传,编辑启动配置,启动,查看日志
查看注册情况:
4、启动WarehouseService
添加新在启动环境,发布版本
启动并查看:
5、启动余下微服务器业务
同样idea jar打包,xftp上传、ubuntu编辑脚本,并启动后查看日志和使用情况!
插曲:
max_connections=20000
sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
四、网站类应用部署与发布
java web项目文件
1、添加更改配置
2、发布应用
用 tomcat启动
3、添加到zip文件上传服务器
4、解压unzip
5、改名:mv
6、tomcat启动java项目配置:
6.1 vi catalina.sh
修改启动参数环境dfa
查看服务器配置:
6.2 vi server.xml
6.3 启动项目:查看启动配置
6.4 启动: sh start.sh
6.5 查看启动日志:tail -fn 300 logs/ca....
7、查看端口pid
8、检查注册中心
9、网页登录测试: http://10.50.10.91:8070
至此web 项目启动完毕
五、API类应用部署与发布
1、idea相关
同样idea jar打包,xftp上传、ubuntu编辑脚本,并启动后查看日志和使用情况!
2、检查API情况:
执行启动
查看服务器启动是否报错
3、查看注册中心api是否注册
4、调试API,检查API是否正常
至此API正常启动:
六、定时任务类应用部署与发布
同样idea jar打包,xftp上传、ubuntu编辑脚本,并启动后查看日志和使用情况!
查看端口:
查看计划任务运行情况:
七、商城web项目发布,同理略
同理,idea tomcat打包web项目,xftp上传、ubuntu编辑脚本,并启动后查看日志和使用情况!
参考效果图,由于新项目需求,我这就不启动了!
八、商城后台项目发布,同理略
同样idea tomcat打包web项目,xftp上传、ubuntu编辑脚本,并启动后查看日志和使用情况!
参考效果图,由于新项目需求,我这就不启动了!
九、移动站点,略
cd /mnt/webapps/client/m
pm2 start npm -- start
pm2 stop /mnt/webapps/client
pm2 start /mnt/webapps/client
node /mnt/webapps/client
pm2 start /mnt/webapps/client/m/package.json
pm2 start /mnt/webapps/client/m/nuxt.config.js