阿里云ECS使用体验--部署微服务项目

简介: 使用服务器部署微服务项目,其中也用到了mysql,nacos。

阿里云ECS使用体验--部署微服务项目

1. 使用背景

本人是计算机科学与技术专业大二学生,最近在做一个实验室管理系统项目。老师想让我们这个系统能够用起来,这是就需要服务器来支持了,所以就免费领取了阿里云的ECS进行使用。我的这个项目是一个SpringBoot的微服务项目,一共包含四个微服务,分别为api_gateway网关模块,oss阿里云存储模块,service_device设备模块,service_ucenter用户管理中心模块。除此之外,也使用了阿里巴巴的nacos注册中心,mysql数据库。

2.项目部署

  1. 首先,通过xshell远程连接到服务器
  2. 为服务器配置java环境
# 进入usr/local目录
cd /usr/local
# 通过Xshell从windows向linux传输文件, 输入rz,选择要传输的文件等待传输完成 
# 安装java环境,这里的安装包为jdk-8u281-linux-x64.tar.gz,解压安装包
tar -zxvf jdk-8u281-linux-x64.tar.gz
# 删除安装包
rm jdk-8u281-linux-x64.tar.gz
# 修改环境变量
vim /etc/profile

export JAVA_HOME=/usr/local/jdk1.8.0_281
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
# 使配置文件立即生效
source /etc/profile
# 测试java是否安装成功,输出java版本即代表配置成功
java -version
  1. 配置maven环境
# 进入usr/local目录
cd /usr/local
# 上传maven安装包,这里是apache-maven-3.6.3-bin.tar
# 解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz
# 删除安装包
rm apache-maven-3.6.3-bin.tar.gz
# 修改环境变量
vim /etc/profile

export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
# 使配置文件立即生效
source /etc/profile
# 测试maven是否成功
mvn -version
  1. 安装mysql
# 下载mysql安装包
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
# 安装软件源
rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
# 安装mysql服务端
yum install -y mysql-community-server
# 启动mysql
service mysqld start
# 启动服务
systemctl start mysqld
systemctl start mysqld.service
# 检测mysql运行状态
service mysqld status
systemctl status mysqld.service
# 查看临时密码
grep 'temporary password' /var/log/mysqld.log
# 登录
mysql -u root -p
https://blog.csdn.net/qq_23077403/article/details/85093705
# 修改密码复杂度
set global validate_password_policy=0;
set global validate_password_length=1;
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
  1. nacos
wget https://github.com/alibaba/nacos/releases/download/1.2.0/nacos-server-1.2.0.tar.gz
mv ./nacos-server-1.2.0.tar.gz /usr/local/
tar -zxvf ./nacos-server-1.2.0.tar.gz
application.properties中nacos.core.auth.enabled修改为true

#开启服务
[root@iZ0jl4zeeakpsmjy77xb38Z bin]# sh startup.sh -m standalone

#停止服务
[root@iZ0jl4zeeakpsmjy77xb38Z bin]# sh shutdown.sh
The nacosServer(8458) is running...
Send shutdown request to nacosServer(8458) OK

#查看状态
ps -ef | grep nacos
  1. 将打包好的项目jar包上传到服务器上面

其中运行jar包的几种方式如下:

  1. 方式一
java -jar service_device-0.0.1-SNAPSHOT.jar

特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

那如何让窗口不锁定?

  1. 方式二
java -jar shareniu.jar &

&代表在后台运行。

特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

继续改进,如何让窗口关闭时,程序仍然运行?

  1. 方式三,一般使用这种方式
nohup java -jar shareniu.jar &

nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行

当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

  1. 方式四
nohup java -jar shareniu.jar >/dev/null  &  

解释下 >temp.txt

command >out.file

command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

可通过jobs命令查看后台运行任务

jobs

那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
如果想将某个作业调回前台控制,只需要 fg + 编号即可。

查看某端口占用的线程的pid

netstat -nlp |grep :9181

3、访问服务器资源

将本地用到后台接口的URL改为服务器ip+端口号,并在ECS控制台中找到安全组,并开放对应的网关端口号即可。

const BASE_URL = 'http://服务器ip:8222'
相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
2202 5
|
10月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
311 17
|
10月前
|
API 微服务
阿里云微服务引擎 MSE 及 API 网关 2025 年 9 月产品动态
阿里云微服务引擎 MSE 及 API 网关 2025 年 9 月产品动态。
1021 66
|
10月前
|
Shell 网络安全 开发工具
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
558 5
|
11月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 9 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
656 142
|
11月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
1204 13
|
11月前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
2536 10
|
11月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
851 0