在Linux上跑Spring Cloud项目的环境部署记录

本文详细介绍了如何在Linux系统上安装和管理两个不同版本的JDK(1.8和15),包括环境变量配置、alternatives工具的使用,以及后续jenkins、docker、git和nacos的安装步骤,遇到的问题及解决方案。

安装两个不同环境的JDK

  1. 下载JDK,这里是15和1.8,上官网看来貌似15的找不到,所以在网上找了资源
  2. 将下载好的jdk传输到Linux上面,然后解压,移动目录

在这里插入图片描述
3. 配置文件设置环境变量

在这里插入图片描述

  1. 使用alternatives控制同一个系统中同一软件的多个版本

安装

## link 链接路径
## name 别名
## path 软件源路径
## priority 优先级
## eg. alternatives --install /usr/bin/java java /usr/local/jdk1.8.0/bin/java 100
alternatives --install <link> <name> <path> <priority>

切换版本

## 使用alternatives 进行版本控制
[root@localhost /]# alternatives --install /usr/bin/java java /usr/local/java6/jdk1.6.0_45/bin/java 6
[root@localhost /]# alternatives --install /usr/bin/java java /usr/local/java8/jdk1.8.0_251/bin/java 8 
[root@localhost /]# alternatives --install /usr/bin/javac javac /usr/local/java6/jdk1.6.0_45/bin/javac 6
[root@localhost /]# alternatives --install /usr/bin/javac javac /usr/local/java8/jdk1.8.0_251/bin/javac 8
## 刷新配置
[root@localhost /]# source /etc/profile
[root@localhost /]# java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
[root@localhost /]# javac -version
javac 1.6.0_45
[root@localhost /]# alternatives --config javac

共有 2 个提供“javac”的程序。

  选项    命令
-----------------------------------------------
 + 1           /usr/local/java6/jdk1.6.0_45/bin/javac
*  2           /usr/local/java8/jdk1.8.0_251/bin/javac

按 Enter 保留当前选项[+],或者键入选项编号:
[root@localhost /]# clear
[root@localhost /]# java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
[root@localhost /]# javac -version
javac 1.6.0_45
[root@localhost /]# alternatives --config java

共有 2 个提供“java”的程序。

  选项    命令
-----------------------------------------------
 + 1           /usr/local/java6/jdk1.6.0_45/bin/java
*  2           /usr/local/java8/jdk1.8.0_251/bin/java

按 Enter 保留当前选项[+],或者键入选项编号:2
[root@localhost /]# alternatives --config javac

共有 2 个提供“javac”的程序。

  选项    命令
-----------------------------------------------
 + 1           /usr/local/java6/jdk1.6.0_45/bin/javac
*  2           /usr/local/java8/jdk1.8.0_251/bin/javac

按 Enter 保留当前选项[+],或者键入选项编号:2
[root@localhost /]# java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
[root@localhost /]# javac -version
javac 1.8.0_251
[root@localhost /]# 
[root@localhost /]# 

这里不知道问什么我的Linux切换没有生效

安装jenkins

  1. sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

执行这一步发现报错

在这里插入图片描述
然后执行 yum install -y ca-certificates就行了

  1. sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
  2. sudo yum -y install jenkins
  3. 配置端口为8050
  4. sudo vi /etc/sysconfig/jenkins

在这里插入图片描述

  1. 启动jenkins
 sudo service jenkins start

结果报错 在这里插入图片描述
在这里插入图片描述

  1. 访问jenkins http://localhost:8085/

安装docker

1.使用 root 权限更新 yum 包

yum -y update

2.卸载旧版本(如果之前安装过的话)

yum remove docker  docker-common docker-selinux docker-engine

3.安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

4.设置 阿里yum 源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5.选择docker版本并安装 ,查看可用版本有哪些

yum list docker-ce --showduplicates | sort -r

6.选择一个版本并安装:yum install docker-ce-版本号

yum -y install docker-ce-18.03.1.ce

7.启动 Docker 并设置开机自启

systemctl start docker
systemctl enable docker

8.查看docekr版本

docker version

安装git

如果之前有则删除
git --version
yum -y remove git

yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
yum -y install git
git --vresion

安装nacos

下载nacos

https://github.com/alibaba/nacos/releases

在这里插入图片描述

上传到服务器然后解压

然后进入到nacos里面的bin里面启动nacos
sh startup.sh -m standalone

关闭
sh shutdown.sh

配置开机自启

进入/lib/systemd/system目录, 创建nacos.service文件

cd /lib/systemd/system
touch nacos.service

编辑nacos.service文件, 增加如下信息 (nacos路径替换成自己的路径即可)

[Unit]
Description=nacos
After=network.target
 
[Service]
Type=forking
ExecStart=/opt/module/nacos/bin/startup.sh -m standalone
ExecReload=/opt/module/nacos/bin/shutdown.sh
ExecStop=/opt/module/nacos/bin/shutdown.sh
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

编辑nacos/bin目录下的startup.sh, 修改JAVA_HOME的路径, 注释其他三行
在这里插入图片描述

执行命令

重新加载所有service服务
systemctl daemon-reload

开机启动nacos.service
systemctl enable nacos.service

查看该service是否开机启用
systemctl is-enabled nacos.service

启动该服务
systemctl start nacos.service

查看该服务状态
systemctl status nacos.service
 

注意这边开机自启不知道为什么不成功老是报找不到jdk,目前找不到解决方法

在这里插入图片描述

只能手动启动====到nacos/bin下面执行

单机启动
sh startup.sh -m standalone

安装maven

到官网下载maven

https://maven.apache.org/download.cgi

配置maven仓库,设置阿里镜像仓库,一定要配置一下,国内的下载jar快些,首先进入cd maven-3.8.5目录,创建仓库存储目录,mkdir ck

cd maven--3.8.5   #进入maven-3.6.3目录

mkdir ck    #创建ck目录

进入cd conf目录,编辑 vi settings.xml文件,找到·localRepository下面复制一行加上/opt/module/maven-3.8.5/ck, 在找到mirror 加上阿里的仓库配置,配置完成退出

cd conf            # 进入conf目录

vi settings.xm # settings.xm文件

<localRepository>/opt/module/maven-3.8.5/ck</localRepository>

<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
       <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
</mirror>

配置环境变量

vi/etc/profile

export MAVEN_HOME=/opt/module/maven-3.8.5
export PATH=$PATH:$MAVEN_HOME/bin
保存退出

source /etc/profile

验证
mvn -v

构建脚本

shell脚本不会只能用现有的知识写一个了

#!/bin/bash
#filename: run_jar.sh
#desc: 启动jar包,关闭jar包程序
#author: tjr

#根据端口停止jar如果有新的微服务记得加
echo "停止jar"

kill -9 `netstat -nlp | grep 9000 | awk '{print $7}'|awk -F/ '{print $1}'`

kill -9 `netstat -nlp | grep 8002 | awk '{print $7}'|awk -F/ '{print $1}'`

echo "停止jar完成"

#删除旧代码
echo "删除旧代码"

rm -rf /opt/java/code/cloud/

echo "删除旧代码完成"

#备份jar如果有新的微服务记得加

echo "备份jar"

cd /opt/java/jar
mv cloud-user-service-1.0.0.jar /opt/java/jar/backup
mv cloud-bean-1.0.0.jar /opt/java/jar/backup
mv cloud-base-1.0.0.jar /opt/java/jar/backup
mv cloud-common-1.0.0.jar /opt/java/jar/backup
mv cloud-mbp-1.0.0.jar /opt/java/jar/backup
mv cloud-app-gateway-1.0.0.jar /opt/java/jar/backup

echo "备份jar完成"

#拉取新代码
echo "拉取新代码"
cd /opt/java/code

git clone git@codeup.aliyun.com:6077a32361a945067837c0cd/cloud/cloud.git
echo "拉取新代码完成"

#打jar包如果有新的微服务记得加

echo "打jar包"
cd /opt/java/code/cloud/cloud-parent
mvn clean compile install package  -Dmaven.test.skip=true

cd /opt/java/code/cloud/cloud-bean/target/
cp cloud-bean-1.0.0.jar /opt/java/jar/cloud-bean-1.0.0.jar

cd /opt/java/code/cloud/cloud-base/target/
cp cloud-base-1.0.0.jar /opt/java/jar/cloud-base-1.0.0.jar

cd /opt/java/code/cloud/cloud-common/target/
cp cloud-common-1.0.0.jar /opt/java/jar/cloud-common-1.0.0.jar

cd /opt/java/code/cloud/cloud-mbp/target/
cp cloud-mbp-1.0.0.jar /opt/java/jar/cloud-mbp-1.0.0.jar

cd /opt/java/code/cloud/cloud-user-service/target/
cp cloud-user-service-1.0.0.jar /opt/java/jar/cloud-user-service-1.0.0.jar 

cd /opt/java/code/cloud/cloud-app-gateway/target/
cp cloud-app-gateway-1.0.0.jar /opt/java/jar/cloud-app-gateway-1.0.0.jar
echo "打jar包完成"

#运行如果有新的微服务记得加
echo "运行"

nohup /opt/module/jdk-15.0.2/bin/java -jar /opt/java/jar/cloud-app-gateway-1.0.0.jar >> /opt/java/log/app-gateway.log 2>&1 &
nohup /opt/module/jdk-15.0.2/bin/java -jar /opt/java/jar/cloud-user-service-1.0.0.jar >> /opt/java/log/user-service.log 2>&1 &

echo "运行完成"



### Spring Cloud 项目Linux 环境下的部署教程 Spring Cloud 是一个基于 Spring Boot 的分布式系统开发框架,其部署过程涉及多个步骤,包括配置环境、打包项目、上传至服务器以及启动服务。以下是关于如何在 Linux 环境部署 Spring Cloud 项目的详细说明。 #### 1. 配置开发环境 在开始部署之前,确保目标 Linux 服务器上已安装必要的软件和依赖项。例如: - Java JDK:通过设置 `JAVA_HOME` 环境变量来指定 JDK 安装路径[^4]。 - Maven 或 Gradle:用于构建和打包项目。 - Docker(可选):如果使用容器化部署,则需要安装 Docker[^3]。 #### 2. 打包 Spring Cloud 项目 在本地开发环境中,为每个子模块添加 Maven 插件以生成可执行的 JAR 文件。具体配置如下: ```xml <build> <finalName>registry</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> ``` 运行以下命令完成打包操作: ```bash mvn clean package -DskipTests ``` 这将生成目标目录下的 JAR 文件,供后续上传到服务器使用[^1]。 #### 3. 创建项目目录结构 在目标 Linux 服务器上创建存放项目的目录结构。例如: ```bash mkdir -p /usr/myProject/springcloud/ cd /usr/myProject/springcloud/ ``` 将本地打包好的 JAR 文件上传至该目录。可以使用工具如 SCP 或 FTP 完成文件传输[^3]。 #### 4. 配置 Nacos 和 Seata(可选) 如果项目中集成了 Nacos 和 Seata,需要提前完成相关配置。以下是简要步骤: - 安装并启动 Nacos 服务。 - 修改配置文件,将服务注册中心和配置中心的相关信息写入 Nacos[^2]。 - 部署 Seata 并确保其与数据库正常连接。 #### 5. 编写启动脚本 为简化服务启动流程,建议编写 Shell 脚本来管理服务的启动与停止。以下是一个示例启动脚本: ```bash #!/bin/bash export JAVA_HOME=/mydata/jdk1.8.0_171 export PATH=$JAVA_HOME/bin/:$PATH nohup java -jar registry.jar > /mydata/registry.log 2>&1 & ``` 将上述内容保存为 `start.sh`,赋予可执行权限后运行: ```bash chmod +x start.sh ./start.sh ``` 日志文件将记录服务运行状态,便于排查问题。 #### 6. 使用 Docker 部署(可选) 如果选择容器化部署,可以利用 Docker Compose 来管理服务。首先编写 `docker-compose.yml` 文件: ```yaml version: '3' services: registry: image: springcloud/registry ports: - "8761:8761" volumes: - ./registry.jar:/app/registry.jar ``` 然后通过以下命令启动容器: ```bash docker-compose up -d ``` --- ### 注意事项 - 确保防火墙规则允许外部访问所需端口。 - 检查所有配置文件是否正确无误,尤其是与服务注册中心相关的部分。 - 在生产环境中,建议使用负载均衡器或反向代理提升性能和可用性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

默语玄

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

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

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

打赏作者

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

抵扣说明:

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

余额充值