云服务器ECS安装Mysql、JDK、RocketMQ

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 本文主要讲怎么在阿里云服务器ECS上面安装JDK、Mysql、RocketMQ

云服务器ECS

既然说到在云服务器ECS上面安装web应用所需的基础组件,那么首先需要现有一台云服务器ECS,控制台地址: https://ecs.console.aliyun.com/#/home,打开控制台,我这里已经购买过云服务器ECS了,直接启动就可以了

image.png

没有购买云服务器ECS的小伙伴可以参考博文:https://developer.aliyun.com/article/883336来操作就可以的。

远程连接ECS

想要操作云服务器ECS,需要一个远程连接工具,这里我由于一直用的是xshell5,习惯了,所以这里我就用xshell5来远程连接我的云服务器ECS,具体操作可以参考博文:https://developer.aliyun.com/article/980312,这篇博文会告诉你如何开通云服务器ECS,如何创建ECS实例,如何远程连接ECS。

安装JDK

首先需要你下载想要安装的jdk版本的压缩包,可以去官网下载,也可以直接用我的这个版本,这里我把我的jdk上传到百度网盘 链接:https://pan.baidu.com/s/1QwReJZPdiIjcyddMix7qgA?pwd=rvxv ,下载完成后安装

上传文件到服务器后查看

ls /usr/local/src/

解压到当前文件夹

cd /usr/local/src/
tar -zxvf jdk-8u251-linux-x64.tar.gz 

解压完成后移动jdk1.8.0_251到/usr/local/下

mv jdk1.8.0_251 /usr/local/

编辑 /etc/profile文件

vim /etc/profile

在/etc/profile末尾添加如下代码行

JAVA_HOME=/usr/local/jdk1.8.0_251
CLASS_PATH=.:$JAVA_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASS_PATH PATH

完成之后esc退出编辑并:wq保存,执行命令使环境变量生效

source /etc/profile

查验jdk是否安装成功

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)

安装RocketMQ

首先需要下载RocketMQ安装包,官网下载地址:https://rocketmq.apache.org/docs/quick-start/,也可以直接用我下载的版本,百度网盘地址:链接:https://pan.baidu.com/s/1aiJDDLuBWOtC4qiQtouXwA?pwd=jk7x ,下载完成之后上传至服务器/usr/local/src路径下

image.png

RocketMQ安装操作

首先将安装包解压到当前文件夹

unzip rocketmq-all-4.5.0-bin-release.zip

解压完成之后移动rocketmq-all-4.5.0-bin-release到/usr/local下

mv rocketmq-all-4.5.0-bin-release /usr/local/

进入到rocketmq-all-4.5.0-bin-release下

cd /usr/local/rocketmq-all-4.5.0-bin-release/

创建/data/logs/rocketmqlogs目录,并且修改broker、namesrv、tools的日志输出到/data/logs/rocketmqlogs,命令如下

mkdir -p /data/logs/rocketmqlogs
sed -i 's#${user.home}/logs/#/data/logs/#g' conf/logback_broker.xml
sed -i 's#${user.home}/logs/#/data/logs/#g' conf/logback_namesrv.xml
sed -i 's#${user.home}/logs/#/data/logs/#g' conf/logback_tools.xml

这里默认设置的JVM内存比较大,个人测试的话可以改小一点,下面修改borker 的JVM内存

vim bin/runbroker.sh

找到配置【JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"】修改为

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

修改namesrv的JVM内存

vim bin/runserver.sh

找到配置【JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"】修改为

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

修改tools的JVM内存

vim bin/tools.sh

找到配置【JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"】修改为

JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"

JVM内存修改完成之后需要修改conf文件

vim /usr/local/rocketmq-all-4.5.0-bin-release/conf/broker.conf

找到如下配置或者增加如下配置

namesrvAddr=127.0.0.1:9876
brokerIP1=127.0.0.1

最后配置环境变量,在/etc/profile中增加rocketmq相关的系统环境变量,增加之后的环境变量

JAVA_HOME=/usr/local/jdk1.8.0_251
ROCKETMQ_HOME=/usr/local/rocketmq-all-4.5.0-bin-release
CLASS_PATH=.:$JAVA_HOME/lib
PATH=$JAVA_HOME/bin:$ROCKETMQ_HOME/bin:$PATH
export JAVA_HOME ROCKETMQ_HOME CLASS_PATH PATH

最后执行命令使环境变量生效

source /etc/profile

RocketMQ测试

启动RocketMQ,首先启动namesrv服务

nohup mqnamesrv>>/data/logs/mqnamesrv.log 2>&1 &

启动broker服务

nohup mqbroker -n 127.0.0.1:9876 -c /usr/local/rocketmq-all-4.5.0-bin-release/conf/broker.conf autoCreateTopicEnable=true>> /data/logs/mqbroker.log 2>&1 &

启动完成之后可以查看是否启动成功

ps -ef|grep mqnamesrv

image.png

ps -ef|grep mqbroker

image.png

服务检查启动完成之后进入测试RocketMQ,在命令行指定namesrv ip地址和端口

export NAMESRV_ADDR=127.0.0.1:9876

然后使用tools.sh脚本启动Producer类

tools.sh org.apache.rocketmq.example.quickstart.Producer

可以看到如下日志

image.png

消息发送完毕之后再使用tools.sh脚本启动Consumer类消费消息

tools.sh org.apache.rocketmq.example.quickstart.Consumer

执行日志

image.png

到此说明RocketMQ可以正常发送和消费消息,搭建成功

安装Mysql

首先需要下载mysql,这里我们可以直接用阿里云服务器ECS提供的镜像文件

wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

然后执行安装

yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server --nogpgcheck

安装完成之后查看是否安装成功

mysql -V

image.png

安装成功,

启动Mysql

systemctl start mysqld.service

查看Mysql初始密码

grep "password" /var/log/mysqld.log

执行结果如图

image.png

登录数据库

mysql -uroot -p

修改数据库密码

#修改密码安全策略为低(只校验密码长度,至少8位)。
set global validate_password_policy=0;
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';


授予root用户远程管理权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';

image.png

这样数据库的安装也就完成了,至此就完成了阿里云服务器ECS安装Mysql、RocketMQ、JDK的操作,大功告成。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
存储 关系型数据库 MySQL
使用Docker快速部署Mysql服务器
本文介绍了如何使用Docker快速部署MySQL服务器,包括下载官方MySQL镜像、启动容器、设置密码、连接MySQL服务器以及注意事项。
69 18
|
22天前
|
关系型数据库 MySQL Java
腾讯云服务器的使用、服务器中使用Docker安装常见的软件、如何将一个项目发布到服务器
这篇文章介绍了在腾讯云服务器上使用Docker安装常见软件的过程,包括安装MySQL、Redis和Tomcat,并提供了解决连接问题的方法。同时,还涉及了服务器中安装JDK 1.8的步骤和如何将项目打包部署到服务器上的指导,包括注意事项和操作提示。
腾讯云服务器的使用、服务器中使用Docker安装常见的软件、如何将一个项目发布到服务器
|
22天前
|
关系型数据库 MySQL 网络安全
有关使用Navicat 无法成功连接腾讯云服务器上Mysql的问题解决
这篇文章提供了解决Navicat无法连接腾讯云服务器上MySQL问题的步骤,包括调整防火墙设置、更新MySQL权限和检查远程连接配置。
有关使用Navicat 无法成功连接腾讯云服务器上Mysql的问题解决
|
22天前
|
应用服务中间件 Docker 容器
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
这篇文章介绍了在Docker中安装Tomcat的过程,包括搜索Tomcat镜像、拉取镜像、目录挂载的准备、创建并挂载容器,以及如何进入容器和进行测试。文中还说明了如何将WAR包部署到Tomcat服务器并访问部署的应用。
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
|
19天前
|
关系型数据库 MySQL Linux
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
|
23天前
|
关系型数据库 MySQL Linux
数据类型和运算符(MySQL服务器的安装,MySQL客户端,数据类型,运算符,MySQL的语法规范)
无论是对于初学者还是有经验的开发者,了解MySQL的安装、客户端使用、数据类型、运算符和语法规范都是至关重要的。这不仅有助于高效地管理和查询数据,而且对于设计和实现数据库解决方案来说是基础工作。通过深入学习和实践这些知识,您可以更好地发挥MySQL数据库的强大功能。
16 2
|
22天前
|
敏捷开发 数据可视化 测试技术
阿里云云效产品使用合集之怎么在php composer安装自己服务器的代码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
消息中间件 C语言 RocketMQ
消息队列 MQ操作报错合集之出现"Connection reset by peer"的错误,该如何处理
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
2月前
|
消息中间件 Java C语言
消息队列 MQ使用问题之在使用C++客户端和GBase的ESQL进行编译时出现core dump,该怎么办
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
22天前
|
消息中间件 存储 Java
【揭秘】RocketMQ内部运作大揭秘:一探究竟,原来消息队列是这样工作的!
【8月更文挑战第19天】RocketMQ是一款高性能、高可用的消息中间件,在分布式系统中至关重要。它采用发布/订阅模式,支持高吞吐量的消息传递。核心组件包括管理元数据的NameServer、存储消息的Broker以及Producer和Consumer。RocketMQ支持发布/订阅与点对点两种模型,并具备复杂的消息持久化和路由机制。通过Java API示例,可轻松实现消息的发送与接收。RocketMQ凭借其出色的特性和可靠性,成为大型分布式系统首选的消息解决方案。
45 5
下一篇
DDNS