Centos部署Spring cloud微服务(CCE example)
前提
您登录的用户必须拥有 sudo 权限。
tomcat版本:v9
jdk版本1.8
tomcat镜像地址:http://archive.apache.org/dist/tomcat/tomcat-9/
redis镜像地址:http://download.redis.io/releases/
Step1 安装 JDK
输入以下命令安装 Java(安装目录/usr/lib/jvm):
sudo yum install java-1.8.0-openjdk-devel
推荐使用阿里云的JDK
https://blog.csdn.net/tiaga/article/details/122883149
可不用配置 JAVA_HOME
Step2 创建tomcat 系统用户
用 home 目录/opt/tomcat 创建一个新的系统用户和组,它将运行 Tomcat 服务:
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
- -m,自动建立用户目录:
- -U,可指定UID
- -d,指定用户home目录
- -s /bin/false,禁止用户登录
- 不用设置密码
Step3 安装redis 服务
输入以下命令下载 reids
cd /tmp
sudo wget http://download.redis.io/releases/redis-6.2.6.tar.gz
解压缩
sudo tar xzf redis-6.2.6.tar.gz
进入redis安装包跟目录
cd redis-6.2.6
编译
sudo make #如果报错 运行 make distclean
sudo make install PREFIX=/usr/local/redis #默认安装在/usr/local/bin下
复制配置文件到 etc目录
sudo cp /tmp/redis-6.2.6/redis.conf /etc/redis.conf
禁止远程连接redis数据库
vim /etc/redis.conf
257 daemonize yes //编辑257行将no改为yes
创建redis systemd unit文件
vim /etc/systemd/system/redis.service
[Unit]
Description=Redis persistent key-value database
After=network.target
After=network-online.target
Wants=network-online.target[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /etc/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID[Install]
WantedBy=multi-user.target
保存并关闭文件。
Step4 下载tomcat
输入以下命令下载 tomcat
cd /tmp
sudo wget http://archive.apache.org/dist/tomcat/tomcat-9/v9.0.0.M22/bin/apache-tomcat-9.0.0.M22.tar.gz
解压缩
sudo tar -xf apache-tomcat-9.0.0.M18.tar.gz
将 Tomcat 源文件移动到/opt/tomcat 目录
sudo mv apache-tomcat-9.0.0.M22 /opt/tomcat/
复制对应微服务或其他tomcat服务专属的tomcat文件
sudo cp -r /opt/tomcat/apache-tomcat-9.0.0.M22 /opt/tomcat/msaeureka-service
sudo cp -r /opt/tomcat/apache-tomcat-9.0.0.M22 /opt/tomcat/msaconfig-service
sudo cp -r /opt/tomcat/apache-tomcat-9.0.0.M22 /opt/tomcat/msazuul-service
sudo cp -r /opt/tomcat/apache-tomcat-9.0.0.M22 /opt/tomcat/msacusttomer1-service
sudo cp -r /opt/tomcat/apache-tomcat-9.0.0.M22 /opt/tomcat/msacusttomer2-service
......
运行以下命令将目录所有权更改为 user 和 group tomcat:
部署新的tomcat服务后必须再执行一次
sudo chown -R tomcat: /opt/tomcat
运行以下 chmod 命令,使 bin 目录中的脚本可执行(注意*号匹配的文件夹):
部署新的tomcat服务后必须再执行一次
sudo sh -c 'chmod +x /opt/tomcat/msa*-service/bin/*.sh'
创建对应systemd unit文件(以eureka为例)
sudo vim /etc/systemd/system/msaeureka.service
写入以下内容(不包括注释的内容,这里只是用来说明)
[Unit]
Description=Spring Cloud Eureka Service
After=network.target[Service]
Type=forkingUser=tomcat
Group=tomcat
#JDK的路径(根据你JDK安装的位置)
Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" #默认配置
#填写对应的路径
Environment="CATALINA_BASE=/opt/tomcat/msaeureka-service"
Environment="CATALINA_HOME=/opt/tomcat/msaeureka-service"
Environment="CATALINA_PID=/opt/tomcat/msaeureka-service/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/msaeureka-service/bin/startup.sh
ExecStop=/opt/tomcat/msaeureka-service/bin/shutdown.sh[Install]
WantedBy=multi-user.target
保存并关闭文件。
通知 systemd 我们创建了一个新的单元文件,输入
sudo systemctl daemon-reload
启用并启动 Tomcat 服务:
sudo systemctl enable eureka
sudo systemctl start eureka
检查服务状态:
sudo systemctl status eureka
● msaeureka.service - Tomcat 9 servlet containerLoaded: loaded (/etc/systemd/system/msaeureka.service; disabled; vendor preset: disabled)Active: active (running) since Thu 2022-02-17 13:55:12 CST; 1h 49min agoProcess: 23600 ExecStop=/opt/tomcat/msaeureka-service/bin/shutdown.sh (code=exited, status=0/SUCCESS)Process: 23712 ExecStart=/opt/tomcat/msaeureka-service/bin/startup.sh (code=exited, status=0/SUCCESS)Main PID: 23719 (java)CGroup: /system.slice/msaeureka.service└─23719 /usr/java/jdk8u312-b01/bin/java -Djava.util.logging.co...Feb 17 13:55:12 VM-20-14-centos systemd[1]: Starting Tomcat 9 servlet co....
Feb 17 13:55:12 VM-20-14-centos startup.sh[23712]: Tomcat started.
Feb 17 13:55:12 VM-20-14-centos systemd[1]: Started Tomcat 9 servlet con....
Hint: Some lines were ellipsized, use -l to show in full.
防护墙根据实际情况设置,这里不做讲述。
查看 tomcat 运行日志:
文件路径/opt/tomcat/msaeureka-service/logs/catalina.out
Step5 启动微服务(CCE)
端口配置等就不在此讲述了
#启动redis 服务
sudo systemctl start redissudo systemctl start msaeureka
sudo systemctl start msaconfig
#等待config启动完成后启动后续服务
sudo systemctl start msaezuul
sudo systemctl start msacustomer1
sudo systemctl start msacustomer2
sudo systemctl start msacustomer3
......
查看微服务已启动的服务
打开浏览器输入http://<your_domain_or_IP_address>:<eureka端口>
Centos部署Spring cloud微服务(CCE example)相关推荐
- 这样的 Spring Cloud 微服务项目太牛了!
最近有个学弟问我:为什么去面试的时候都要问一些微服务的问题?我听到时候也有点惊讶微服务器架构已经深入到各个企业,尽管有些企业不大,但他们也有微服务的想法,毕竟互联网公司发展快,真要到了爆发期如果现有的 ...
- Dubbo和Spring Cloud微服务架构对比
一.为什么要使用微服务? 微服务提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合. 今天我们来了解下业内主要的微服务框架:Dubbo 和 Spring Cloud 微服务主要的优势 降 ...
- Spring Cloud微服务版本灰度发布新神器
项目地址:https://github.com/Nepxion/Discovery 强烈建议stra.fork该项目,该项目可以作为学习改造Spring Cloud组件的案例项目. Nepxion D ...
- 如何优化Spring Cloud微服务注册中心架构?
作者: 石杉的架构笔记 1.再回顾:什么是服务注册中心? 先回顾一下什么叫做服务注册中心? 顾名思义,假设你有一个分布式系统,里面包含了多个服务,部署在不同的机器上,然后这些不同机器上的服务之间要互相 ...
- spring cloud微服务分布式云架构 - Spring Cloud集成项目简介
Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Clo ...
- Nacos发布 v0.2 版本,无缝支持 Spring Cloud 微服务生态及高可用集群模式
2019独角兽企业重金招聘Python工程师标准>>> 近日,阿里巴巴新开源项目Nacos 发布了 v0.2 版本,该版本开始支持完整的Spring生态技术栈,这包括 Spring ...
- Spring Cloud微服务分布式云架构—集成项目简介
Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Clo ...
- spring cloud微服务分布式云架构 - Spring Cloud简介
Spring Cloud是一系列框架的有序集合.利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现.注册.配置中心.消息总线.负载均衡.断路器.数据监控等(这里只简单的列了 ...
- Spring Cloud微服务下的权限架构调研
随着微服务架构的流行,系统架构调整,项目权限系统模块开发提上日程,需要对权限架构进行设计以及技术选型.所以这段时间看了下相关的资料,做了几个对比选择. 一.架构图 初步设想的架构如下,结构很简单:eu ...
最新文章
- dataframe构建
- 我宣布,这是我找到的史上AI最全论文体系!
- .NET之Docker部署详细流程
- 纪中B组模拟赛总结(2019.12.21)
- UML 中extend和include的区别
- 毫米波雷达_最新的7个毫米波雷达应用案例
- unix环境高级编程 pdf_UNIX环境高级编程——记录锁
- snmp协议_SNMP开发和使用
- Android Studio快捷键-mac版
- python读取csv内容变为nan,python – 获取pandas.read_csv以空字符串而不是nan读取空值...
- QQ登录pc端测试用例
- MUSIC算法的参数设置
- Python-snap7 安装和测试
- 祝贺博主新浪微博个人认证与企业微博认证通过,欢迎关注!
- 什么是物联网?常见IoT协议最全讲解
- SpringBoot排序之Order注解
- 支付业务与技术架构学习总结(9)——银行核心系统之清算体系
- Kubernetes监控在小米的落地
- sshpass命令的安装使用
- 0x32 数学知识-约数