前提

您登录的用户必须拥有 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)相关推荐

  1. 这样的 Spring Cloud 微服务项目太牛了!

    最近有个学弟问我:为什么去面试的时候都要问一些微服务的问题?我听到时候也有点惊讶微服务器架构已经深入到各个企业,尽管有些企业不大,但他们也有微服务的想法,毕竟互联网公司发展快,真要到了爆发期如果现有的 ...

  2. Dubbo和Spring Cloud微服务架构对比

    一.为什么要使用微服务? 微服务提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合. 今天我们来了解下业内主要的微服务框架:Dubbo 和 Spring Cloud 微服务主要的优势 降 ...

  3. Spring Cloud微服务版本灰度发布新神器

    项目地址:https://github.com/Nepxion/Discovery 强烈建议stra.fork该项目,该项目可以作为学习改造Spring Cloud组件的案例项目. Nepxion D ...

  4. 如何优化Spring Cloud微服务注册中心架构?

    作者: 石杉的架构笔记 1.再回顾:什么是服务注册中心? 先回顾一下什么叫做服务注册中心? 顾名思义,假设你有一个分布式系统,里面包含了多个服务,部署在不同的机器上,然后这些不同机器上的服务之间要互相 ...

  5. spring cloud微服务分布式云架构 - Spring Cloud集成项目简介

    Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Clo ...

  6. Nacos发布 v0.2 版本,无缝支持 Spring Cloud 微服务生态及高可用集群模式

    2019独角兽企业重金招聘Python工程师标准>>> 近日,阿里巴巴新开源项目Nacos 发布了 v0.2 版本,该版本开始支持完整的Spring生态技术栈,这包括 Spring ...

  7. Spring Cloud微服务分布式云架构—集成项目简介

    Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Clo ...

  8. spring cloud微服务分布式云架构 - Spring Cloud简介

    Spring Cloud是一系列框架的有序集合.利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现.注册.配置中心.消息总线.负载均衡.断路器.数据监控等(这里只简单的列了 ...

  9. Spring Cloud微服务下的权限架构调研

    随着微服务架构的流行,系统架构调整,项目权限系统模块开发提上日程,需要对权限架构进行设计以及技术选型.所以这段时间看了下相关的资料,做了几个对比选择. 一.架构图 初步设想的架构如下,结构很简单:eu ...

最新文章

  1. dataframe构建
  2. 我宣布,这是我找到的史上AI最全论文体系!
  3. .NET之Docker部署详细流程
  4. 纪中B组模拟赛总结(2019.12.21)
  5. UML 中extend和include的区别
  6. 毫米波雷达_最新的7个毫米波雷达应用案例
  7. unix环境高级编程 pdf_UNIX环境高级编程——记录锁
  8. snmp协议_SNMP开发和使用
  9. Android Studio快捷键-mac版
  10. python读取csv内容变为nan,python – 获取pandas.read_csv以空字符串而不是nan读取空值...
  11. QQ登录pc端测试用例
  12. MUSIC算法的参数设置
  13. Python-snap7 安装和测试
  14. 祝贺博主新浪微博个人认证与企业微博认证通过,欢迎关注!
  15. 什么是物联网?常见IoT协议最全讲解
  16. SpringBoot排序之Order注解
  17. 支付业务与技术架构学习总结(9)——银行核心系统之清算体系
  18. Kubernetes监控在小米的落地
  19. sshpass命令的安装使用
  20. 0x32 数学知识-约数

热门文章

  1. 阿里云服务器DDoS防御方法免受攻击的详细内容
  2. 平面设计:制作创意头像
  3. chrome 前端开发插件:尺子
  4. TMMi连接传统与敏捷--2017中国首届TMMi国际峰会在京圆满举行
  5. mysql经典语句(外键开关)
  6. 这是我看过的最好的Python零基础Pandas教程
  7. SOI七层模型和TCP/IP五层协议:
  8. wwj jnlp配置
  9. flutter之包管理
  10. Android 热补丁技术——资源的热修复