前提
您登录的用户必须拥有 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=forking
User=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 container
Loaded: loaded (/etc/systemd/system/msaeureka.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2022-02-17 13:55:12 CST; 1h 49min ago
Process: 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 redis
sudo 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端口>