Ubuntu上线一个JAVA环境微服务架构的系统

本文详述了在Ubuntu系统中部署和配置一个基于JAVA的微服务架构的过程,包括系统安装、软件安装(如java, activemq, redis, mongodb, nginx, mysql)、环境配置、微服务发布与启动、网站类与API类应用部署等步骤,旨在实现系统的正常运行和版本发布。" 105523370,9370679,使用GeoServer发布TMS地图服务教程,"['GIS', '地图发布', '开源软件', '地理信息系统', '遥感']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目介绍

项目背景:

已经有一套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

十、nginx集群,略

至此,项目启动完成

注册中心情况:

端口使用情况:

系统资源情况:

虚拟主机情况:

grafana图表情况:

系统使用情况:

bi报表情况:略

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jekc868

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值