【原创】开发部署中间件安装记录

1 篇文章 0 订阅
1 篇文章 0 订阅

1. docker安装

  • 系统部署

1.1 离线安装:X86架构的主机

curl -LJ -o docker-20.10.14.tgz https://download.docker.com/linux/static/stable/x86_64/docker-20.10.14.tgz

tar -zxvf docker-20.10.14.tgz

cp docker/* /usr/bin/

## 参考 11.3 systemctl管理docker,创建docker.service
touch /lib/systemd/system/docker.service
vim /lib/systemd/system/docker.service

# 启动Docker服务
dockerd &

# 验证docker服务是否启动
docker run hello-world

# 如果出现 Hello from Docker! 则表示安装Docker安装成功

1.2 离线安装:ARM64架构的主机

curl -LJ -o docker-20.10.14.tgz https://download.docker.com/linux/static/stable/aarch64/docker-20.10.14.tgz

tar -zxvf docker-20.10.14.tgz

cp docker/* /usr/bin/

## 参考 11.3 systemctl管理docker,创建docker.service
touch /lib/systemd/system/docker.service
vim /lib/systemd/system/docker.service

# 启动Docker服务
dockerd &

# 验证docker服务是否启动
docker run hello-world

# 如果出现 Hello from Docker! 则表示安装Docker安装成功

1.3 在线安装-系统CentOS

yum install -y yum-utils

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum install -y docker-ce docker-ce-cli containerd.io

# 设置自启动
systemctl enable docker 
# 启动
systemctl start dcoker 
# 查看状态
systemctl status docker**

1.3 在线安装-系统Debian

apt-get update

apt-get install -y ca-certificates curl gnupg lsb-release

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && ls /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && ls -al /etc/apt/sources.list.d/docker.list

apt update

apt-get install -y docker-ce docker-ce-cli containerd.io

2. supervisor安装

3. nginx安装

4. rabbitmq-包含x-delayed-message

  • docker部署
docker pull rabbitmq:3.8.1-management
mkdir -p /data/rabbit_data/data
docker run -dit --name rabbitmq -v /data/rabbit_data/data:/var/lib/rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin123 -p 15672:15672 -p 5672:5672 rabbitmq:3.8.1-management
#拷贝插件到rabbitmq容器plugins中
docker cp /data/rabbit_data/rabbitmq_delayed_message_exchange-3.8.0.ez rabbitmq:/plugins
docker exec -it rabbitmq /bin/bash
#启用插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
#查看
rabbitmq-plugins list
#控制台
http://127.0.0.1:15672/#/

5. nacos

5.1 docker部署

docker pull nacos/nacos-server:1.3.1

mkdir -p /data/nacos_data/init.d /data/nacos_data/logs
touch /data/nacos_data/init.d/custom.properties
# 进行暴露监控端点
echo 'management.endpoints.web.exposure.include=*' >> /data/nacos_data/init.d/custom.properties

# 设置jvm大小启动
docker run --name nacos -d -p 8848:8848  --restart=always -e JVM_XMS=512m -e JVM_XMX=512m -e MODE=standalone -e PREFER_HOST_MODE=hostname  nacos/nacos-server:1.3.1

# 挂载启动
docker run -d -p 8848:8848 -e MODE=standalone -e PREFER_HOST_MODE=hostname -v /data/nacos_data/init.d/custom.properties:/home/nacos/init.d/custom.properties -v /data/nacos_data/logs:/home/nacos/logs --restart always --name nacos nacos/nacos-server:1.3.1

# 挂载启动+设置jvm大小,dockers内存太小需要限制nacos内存
docker run -d -p 8848:8848 -e JVM_XMS=512m -e JVM_XMX=512m -e MODE=standalone -e PREFER_HOST_MODE=hostname -v /data/nacos_data/init.d/custom.properties:/home/nacos/init.d/custom.properties -v /data/nacos_data/logs:/home/nacos/logs --restart always --name nacos nacos/nacos-server:1.3.1

5.2 系统命令部署(单机)

cd /usr/local

mkdir nacos

cd /usr/local/nacos

curl -LJ -o nacos-server-1.3.2.tar.gz https://github.com/alibaba/nacos/releases/download/1.3.2/nacos-server-1.3.2.tar.gz
或者
wget https://github.com/alibaba/nacos/releases/download/1.3.2/nacos-server-1.3.2.tar.gz

tar -zxvf nacos-server-1.3.2.tar.gz

### 11.3 systemctl管理nacos,创建nacos.service
touch /lib/systemd/system/nacos.service
vim /lib/systemd/system/nacos.service

# 进入所下载的nacos下的bin目录,使用sh startup.sh -m standalone命令
cd /usr/local/nacos/nacos/bin
sh startup.sh -m standalone

# 当看到最后这两行,说明启动成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WWsythPX-1678597165716)(uploads/3fd532ae877b2a6b16b2e558b0f253b1/image.png)]

# 浏览器访问地址:http://ip:8848/nacos(记得添加安全组8848),默认账号密码:nacos/nacos

# 停止nacos
./shutdown.sh

# 进行暴露监控端点,进入conf目录下(cd conf),编辑application.properties
echo 'management.endpoints.web.exposure.include=*' >> /usr/local/nacos/nacos/conf/application.properties

# centos7给防火墙开放8848端口
firewall-cmd --zone=public --add-port=8848/tcp --permanent 
# 重新载入防火墙:
firewall-cmd --reload

5.3 定制jar包部署,supervisor托管,使用提供的压缩包操作

自行提供

6. zookeper

  • docker部署
docker pull zookeeper
mkdir -p /data/zk_data/data
docker run --privileged=true -v /data/zk_data/data:/data -d --name zookeeper --publish 2181:2181  -d zookeeper:latest

7. redis

  • docker部署
docker pull redis
docker run --name redis -p 6379:6379 -d --restart=always redis:latest redis-server --appendonly yes --requirepass "123456.a"

8. mysql

  • docker部署
docker pull mysql
mkdir -p /data/mysql_data/mysql
docker run --name mysql -v /data/mysql_data/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest  --lower_case_table_names=1
# 进入数据库容器
docker exec -it mysql /bin/bash

mysql -uroot -p
-- 执行数据库脚本
source /var/lib/mysql/xxx.sql

9. xxljob

9.1 supervisor托管

  • supervisor托管部署,同jar部署

9.2 docker部署

docker pull xuxueli/xxl-job-admin:2.3.0

docker run -d -e PARAMS="--spring.datasource.url=jdbc:mysql://81.69.30.71:3306/xxl_job?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai \
--spring.datasource.username=root \
--spring.datasource.password=123456.a \
--xxl.job.accessToken=chenyanbin" \
-p 8080:8080 \
--name xxl-job-admin --restart=always xuxueli/xxl-job-admin:2.3.0

10. java 1.8

11. systemctl托管(需要增加.service文件)

11.1 增加systemctl自启动脚本模板

CentOS7的systemctl服务文件的路径是/usr/lib/systemd/system/,我们需要在这个路径下创建对应服务的服务文件,管理nginx服务,则需要在这个路径下创建文件xxx.service。xxx是服务的名称,.service是后缀,是固定写法。

  • nginx为例:增加nginx.service
vim /lib/systemd/system/nginx.service
  • 内容解释
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
 
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径
 
[Install]服务安装的相关设置,可设置为多用户
  • 重新加载systemctl配置(每次修改完***.service文件都要执行以下命令)
systemctl daemon-reload      # 重新加载systemctl
  • 启停服务
systemctl start|restart|stop|status xxx.service      # 启停docker
systemctl enable|disable xxx.service      # 开机启动/不启动docker服务
  • 查看服务状态
systemctl status xxx.service

11.2 systemctl管理nginx,创建nginx.service

vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
 
[Install]
WantedBy=multi-user.target

11.3 systemctl管理docker,创建docker.service

touch /lib/systemd/system/docker.service
vim /lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
# 默认是不为cgroups使用systemd,因为委托问题仍然存在
# exists和systemd目前不支持cgroup特性集
# 用于docker运行的容器
ExecStart=/usr/bin/dockerd --selinux-enabled=false
ExecReload=/bin/kill -s HUP $MAINPID
# 由于会计开销,使用非零Limit*会导致性能问题
# 我们建议使用cgroup来进行容器本地计费。
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# 如果你的systemd版本支持TasksMax,取消注释。
# 只有systemd 226及以上版本支持此版本。
# TasksMax=infinity
TimeoutStartSec=0
# 设置委托为yes,这样systemd就不会重置docker容器的cgroup
Delegate=yes
# 只杀死docker进程,而不是cgroup中的所有进程
KillMode=process
# 如果docker进程过早退出,请重新启动它
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

11.3 systemctl管理nacos,创建nacos.service

touch /lib/systemd/system/nacos.service
vim /lib/systemd/system/nacos.service
[Unit]
Description=nacos
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m standalone
ExecReload=/usr/local/nacos/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

12 其他

12.1 防火墙操作

i. centOS6及以前版本使用命令: systemctl stop iptables.service

ii. centOS7关闭防火墙命令: systemctl stop firewalld.service
一、防火墙的开启、关闭、禁用命令
(1)设置开机启用防火墙:systemctl enable firewalld.service
(2)设置开机禁用防火墙:systemctl disable firewalld.service
(3)启动防火墙:systemctl start firewalld
(4)关闭防火墙:systemctl stop firewalld
(5)检查防火墙状态:systemctl status firewalld 

二、使用firewall-cmd配置端口,firwall-cmd:是Linux提供的操作firewall的一个工具
(1)查看防火墙状态:firewall-cmd --state
(2)重新加载配置:firewall-cmd --reload
(3)查看开放的端口:firewall-cmd --list-ports
(4)开启防火墙端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
  命令含义:
  –zone #作用域
  –add-port=9200/tcp #添加端口,格式为:端口/通讯协议
  –permanent #永久生效,没有此参数重启后失效
  注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效
(5)查询端口是否开放:firewall-cmd --query-port=9999/tcp
(6)关闭防火墙端口:firewall-cmd --zone=public --remove-port=9200/tcp --permanent
(7)查看当前所有tcp端口:netstat -ntlp
(8)查看所有9999端口使用情况:netstat -ntulp |grep 9999

12.2 jar包替换jar/文件引用操作

  1. 解压:jar -xvf .**.jar
  2. 替换引用jar
  3. 替换完成后重新压缩打包:jar -cfM0 **.jar ./

13 highgo

  • docker部署
docker pull jefferlau/highgo:6.0.1
docker run --name highgo --privileged=true -p 5866:5866 -v ~/docker/highgo/data:/opt/HighGo6.0.1-cluster/data -e HIGHGO_PASSWORD=123456 -d jefferlau/highgo:6.0.1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值