centos7.9源码安装zabbix7.12,求赞

news2025/6/8 5:26:53

centos7.9源码安装zabbix7.12-全网独有

  • 3.CentOS7_Zabbix7.0LTS
    • 3.1.安装环境
    • 3.2.换成阿里源
    • 3.3.安装相关依赖包
      • 3.3.1.直接安装依赖
      • 3.3.2.编译安装-遇到问题01-net-snmp
      • 3.3.3.编译安装-遇到问题02-libevent
      • 3.3.4.编译安装-遇到问题03-安装openssl
    • 3.4.创建用户和组
    • 3.5.下载上传源码包
    • 3.6.源码编译安装zabbix-server、zabbix-agentd、zabbix-proxy
    • 3.7.创建软链接与环境变量
    • 3.8.授权
    • 3.9.修改 Zabbix Server 配置文件
    • 3.10.创建Zabbix Server的服务文件:star:
    • 3.11.修改 Zabbix Agented配置文件
    • 3.12.Zabbix agentd的服务文件:star:
    • 3.13.Zabbix proxy的服务文件:star:
    • 3.14.Zabbix Java Gateway的服务文件:star:
  • 4.yum源安装Mysql
    • 4.1.安装Mysql的yum源
    • 4.2.默认安装Mysql8.0
    • 4.3.安装mysql-server
    • 4.4.启动mysql-server
    • 4.5.获取mysql-server初始登陆的密码
    • 4.6.创建数据库
    • 4.7.初始化数据库
    • 4.8.验证数据库和相关表
  • 5.安装Apache服务
  • 6.安装第三方源-remi源
    • 6.1.获取源信息
    • 6.2.配置php和初始化登录WEB页面
    • 6.3.安装php依赖包
    • 6.4.查看php版本信息
    • 6.5.编辑配置文件
    • 6.6.测试
  • 6.配置zabbix
    • 6.1.安装中文包
    • 6.2.zabbix界面配置
  • 7.部分脚本
  • 创作不易,小小的支持一下吧!
  • endl-版权所有,转发请说出处,制作不易

3.CentOS7_Zabbix7.0LTS

里面的包已下载,在此处下载
https://wwqz.lanzouw.com/b00q0lr2mf
密码:bk2o

3.1.安装环境

系统:centos7.9
php版本:php8.2.20
mysql版本:mysql8.0.42
zabbix版本:7.0.12

关闭系统防火墙
selinux

在这里插入图片描述

3.2.换成阿里源

备份源信息
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
下载centos源信息
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
安装epel源
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

3.3.安装相关依赖包

3.3.1.直接安装依赖

[root@centos7-7 ~]# yum -y install gcc gcc-c++ unixODBC-devel httpd mysql-devel libcurl libcurl-devel  fping curl-devel libxml2 libxml2-devel  perl-ExtUtils-MakeMaker libssh2 libssh2-devel pcre2-devel openssl11-libs java-11-openjdk-devel

在这里插入图片描述

3.3.2.编译安装-遇到问题01-net-snmp

1️⃣ 其他注意事项:有可能遇到的问题及解决办法

Zabbix 7.0 需要 Net-SNMP 5.9 或更高版本,而 CentOS 7 默认的 net-snmp 是 5.7.x,太旧了。
net-snmp net-snmp-devel
[root@centos7-7 ~]# yum info net-snmp net-snmp-devel | egrep '^Name|^Version|^Release|^Arch'

在这里插入图片描述

2️⃣ 遇到的问题

下面就是遇到的问题:

Zabbix 使用了 NET-SNMP 中的一些新宏(如 NETSNMP_CALLBACK_OP_SEC_ERROR、NETSNMP_CALLBACK_OP_RESEND),但你当前系统中安装的 net-snmp 版本太老,缺少这些定义,导致编译失败。
这些宏出现在 net-snmp 5.8 或更高版本中,而你当前使用的是:net-snmp 5.7.2-49.el7_9.4

在这里插入图片描述

[root@centos7-7 ~]# yum remove -y net-snmp net-snmp-devel

3️⃣ 下载源码包并解压:

cd /usr/local/src
wget https://sourceforge.net/projects/net-snmp/files/net-snmp/5.9.1/net-snmp-5.9.1.tar.gz
tar xf net-snmp-5.9.1.tar.gz
cd /usr/local/src/net-snmp-5.9.1

4️⃣ 编译安装

./configure --prefix=/usr/local/net-snmp --with-defaults

使用所有 CPU 核心进行编译并安装
make -j$(nproc) && make install

5️⃣ 设置环境变量,让 Zabbix 使用新的 net-snmp

cat >/etc/profile.d/net-snmp.sh<<-eof
export PATH=/usr/local/net-snmp/bin:\$PATH
export LD_LIBRARY_PATH=/usr/local/net-snmp/lib:\$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/usr/local/net-snmp/lib/pkgconfig:\$PKG_CONFIG_PATH
eof

source /etc/profile.d/net-snmp.sh

6️⃣ 验证

[root@centos7-7 net-snmp-5.9.1]# which snmpget
/usr/local/net-snmp/bin/snmpget
[root@centos7-7 net-snmp-5.9.1]# snmpget --version
NET-SNMP version: 5.9.1

验证动态库是否找到
[root@centos7-7 net-snmp-5.9.1]# ldd $(which snmpget) | grep net-snmp
        libnetsnmp.so.40 => /usr/local/net-snmp/lib/libnetsnmp.so.40 (0x00007f7e3b342000)

验证 pkg-config 配置
[root@centos7-7 net-snmp-5.9.1]# pkg-config --modversion netsnmp
5.9.1

3.3.3.编译安装-遇到问题02-libevent

1️⃣ 遇到问题

在这里插入图片描述

你当前问题的具体分析
event_base_get_num_events 是 libevent 2.1 以后才引入的函数
EVENT_BASE_COUNT_ADDED 是 libevent 2.1+ 中的宏

解决方案总结:升级或安装 libevent 2.1+

2️⃣ 移除旧的安装包

yum -y remove libevent libevent-devel

3️⃣ 下载 libevent 2.1.x 源码

cd /usr/local/src/
wget https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
可能下载失败,手动下载并上传

tar xf libevent-2.1.12-stable.tar.gz
cd /usr/local/src/libevent-2.1.12-stable/

4️⃣ 编译安装

配置编译,开启 pkg-config 支持
./configure --prefix=/usr/local/libevent2 --disable-static --enable-shared

使用所有 CPU 核心进行编译并安装
make -j$(nproc) && make install

5️⃣ 设置环境变量让编译器找到新版本 libevent

cat >/etc/profile.d/libevent.sh<<-eof
export CPPFLAGS="-I/usr/local/libevent2/include"
export LDFLAGS="-L/usr/local/libevent2/lib"
export LD_LIBRARY_PATH="/usr/local/libevent2/lib:\$LD_LIBRARY_PATH"
export CPPFLAGS="-I/usr/local/openssl/include -I/usr/local/libevent2/include"
export LDFLAGS="-L/usr/local/openssl/lib -L/usr/local/libevent2/lib"
eof

source /etc/profile.d/libevent.sh

6️⃣ 查看当前版本信息

[root@centos7-7 libevent-2.1.12-stable]# pkg-config --modversion libevent
2.1.12-stable

7️⃣ 让系统识别自定义 libevent 的库路径

添加库路径
[root@centos7-7 ~]# echo "/usr/local/libevent2/lib" > /etc/ld.so.conf.d/libevent2.conf
刷新库缓存
[root@centos7-7 ~]# ldconfig
验证
[root@centos7-7 ~]# ldconfig -p | grep libevent_core
        libevent_core-2.1.so.7 (libc6,x86-64) => /usr/local/libevent2/lib/libevent_core-2.1.so.7
        libevent_core-2.0.so.5 (libc6,x86-64) => /lib64/libevent_core-2.0.so.5

3.3.4.编译安装-遇到问题03-安装openssl

官网旧版本:https://openssl-library.org/source/old/index.html

1️⃣ 下载源码包,并解压

cd /usr/local/src
wget https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1k/openssl-1.1.1k.tar.gz
tar -xzf openssl-1.1.1k.tar.gz
cd /usr/local/src/openssl-1.1.1k

安装依赖包
yum -y install zlib-devel.x86_64

2️⃣ 配置编译

./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib

3️⃣ 使用所有 CPU 核心进行编译并安装

make -j$(nproc) && make install

4️⃣ 查看当前版本新

[root@centos7-7 openssl-1.1.1k]# /usr/local/openssl/bin/openssl version
OpenSSL 1.1.1k  FIPS 25 Mar 2021

5️⃣ 导入环境变量

cat >/etc/profile.d/openssl.sh<<-eof
export PATH=/usr/local/openssl/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfig:$PKG_CONFIG_PATH
export CPPFLAGS="-I/usr/local/openssl/include"
export LDFLAGS="-L/usr/local/openssl/lib"
eof

source /etc/profile.d/openssl.sh

6️⃣ 配置动态库搜索路径(让系统找到它的 .so 库)

echo "/usr/local/openssl/lib" > /etc/ld.so.conf.d/openssl.conf
ldconfig

5️⃣ 验证结果

[root@centos7-7 openssl-1.1.1k]# which openssl
/usr/bin/openssl
[root@centos7-7 openssl-1.1.1k]# openssl version
OpenSSL 1.1.1k  25 Mar 2021

3.4.创建用户和组

getent group zabbix || groupadd zabbix && useradd -r -g zabbix -m -s /sbin/nologin zabbix

3.5.下载上传源码包

https://cdn.zabbix.com/zabbix/sources/stable/7.0/zabbix-7.0.12.tar.gz
[root@centos7-7 ~]# cd /usr/local/src/
[root@centos7-7 src]# ls
zabbix-7.0.12.tar.gz
[root@centos7-7 src]# tar xf zabbix-7.0.12.tar.gz
[root@centos7-7 src]# cd /usr/local/src/zabbix-7.0.12/
[root@centos7-7 zabbix-7.0.12]# mkdir -p /apps/zabbix

3.6.源码编译安装zabbix-server、zabbix-agentd、zabbix-proxy

自动配置脚本,所有依赖都指定路径,防止报错
time ./configure \
    --prefix=/apps/zabbix \
    --enable-server \
    --enable-agent \
    --enable-proxy \
    --enable-java \
    --with-agent \
    --with-mysql \
    --with-libpcre2 \
    --with-ssh2 \
    --with-libcurl \
    --with-libxml2 \
    --with-unixodbc \
    -with-libevent=/usr/local/libevent2 \
    --with-net-snmp=/usr/local/net-snmp \
    --with-ssl=/usr/local/openssl \
    CPPFLAGS="-I/usr/local/libevent2/include -I/usr/local/openssl/include -I/usr/local/net-snmp/include" \
    LDFLAGS="-L/usr/local/libevent2/lib -L/usr/local/openssl/lib -Wl,-rpath=/usr/local/openssl/lib -L/usr/local/net-snmp/lib"

编译安装

使用所有 CPU 核心进行编译并安装
time make -j$(nproc) && make install

如果编译报错执行此命令,清理环境

make distclean

3.7.创建软链接与环境变量

ln -s /apps/zabbix/sbin/* /usr/sbin/
ln -s /apps/zabbix/bin/* /usr/bin/

创建环境变量

echo 'PATH=/apps/zabbix/bin:$PATH' >/etc/profile.d/zabbix.sh
加载环境变量
source /etc/profile.d/zabbix.sh

3.8.授权

chown -R zabbix:zabbix /apps/zabbix/
[root@centos7-7 ~]# tree /apps/zabbix/
/apps/zabbix/
├── bin
│   ├── zabbix_get
│   ├── zabbix_js
│   └── zabbix_sender
├── etc
│   ├── zabbix_agentd.conf
│   ├── zabbix_agentd.conf.d
│   ├── zabbix_proxy.conf
│   ├── zabbix_proxy.conf.d
│   ├── zabbix_server.conf
│   └── zabbix_server.conf.d
├── lib
│   └── modules
├── sbin
│   ├── zabbix_agentd
│   ├── zabbix_java
│   │   ├── bin
│   │   │   └── zabbix-java-gateway-7.0.12.jar
│   │   ├── lib
│   │   │   ├── android-json-4.3_r3.1.jar
│   │   │   ├── logback-classic-1.5.16.jar
│   │   │   ├── logback-console.xml
│   │   │   ├── logback-core-1.5.16.jar
│   │   │   ├── logback.xml
│   │   │   └── slf4j-api-2.0.16.jar
│   │   ├── settings.sh
│   │   ├── shutdown.sh
│   │   └── startup.sh
│   ├── zabbix_proxy
│   └── zabbix_server
└── share
    ├── man
    │   ├── man1
    │   │   ├── zabbix_get.1
    │   │   └── zabbix_sender.1
    │   └── man8
    │       ├── zabbix_agentd.8
    │       ├── zabbix_proxy.8
    │       └── zabbix_server.8
    └── zabbix
        ├── alertscripts
        └── externalscripts

18 directories, 24 files

3.9.修改 Zabbix Server 配置文件

[root@Rocky9-15:~]# grep '^[^#]' /apps/zabbix/etc/zabbix_server.conf
ListenPort=10051
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
DBPassword=password
DBPort=3306
Timeout=4
LogSlowQueries=3000
# 允许访问统计信息的 IP 地址为 127.0.0.1(仅本机)
StatsAllowedIP=127.0.0.1,10.0.0.0/24
# 是否启用“全局脚本”功能,0 表示不启用
EnableGlobalScripts=0
cat >/apps/zabbix/etc/zabbix_server.conf<<-eof
ListenPort=10051
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
DBPassword=password
DBPort=3306
Timeout=4
LogSlowQueries=3000
# 允许访问统计信息的 IP 地址为 127.0.0.1(仅本机)
StatsAllowedIP=127.0.0.1,10.0.0.0/24
# 是否启用“全局脚本”功能,0 表示不启用
EnableGlobalScripts=0
eof
grep -q '^JavaGateway=' /apps/zabbix/etc/zabbix_server.conf \
  && sed -i 's/^JavaGateway=.*/JavaGateway=127.0.0.1/' /apps/zabbix/etc/zabbix_server.conf \
  || echo 'JavaGateway=127.0.0.1' >> /apps/zabbix/etc/zabbix_server.conf

grep -q '^JavaGatewayPort=' /apps/zabbix/etc/zabbix_server.conf \
  && sed -i 's/^JavaGatewayPort=.*/JavaGatewayPort=10052/' /apps/zabbix/etc/zabbix_server.conf \
  || echo 'JavaGatewayPort=10052' >> /apps/zabbix/etc/zabbix_server.conf

grep -q '^StartJavaPollers=' /apps/zabbix/etc/zabbix_server.conf \
  && sed -i 's/^StartJavaPollers=.*/StartJavaPollers=5/' /apps/zabbix/etc/zabbix_server.conf \
  || echo 'StartJavaPollers=5' >> /apps/zabbix/etc/zabbix_server.conf
if grep -q '^JavaGateway=' /apps/zabbix/etc/zabbix_server.conf; then
    echo "JavaGateway 配置项已存在"
else
    echo "未设置 JavaGateway,现在添加"
    echo "JavaGateway=127.0.0.1" >> /apps/zabbix/etc/zabbix_server.conf
fi

3.10.创建Zabbix Server的服务文件⭐️

cat >/usr/lib/systemd/system/zabbix-server.service<<-eof
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target

[Service]
Environment="LD_LIBRARY_PATH=/usr/local/libevent2/lib"
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/apps/zabbix/sbin/zabbix_server -c /apps/zabbix/etc/zabbix_server.conf
ExecStop=/bin/kill -SIGTERM \$MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target
eof
systemctl daemon-reload
systemctl enable --now zabbix-server.service

3.11.修改 Zabbix Agented配置文件

sed -i.bak \
-e "s/Server=127.0.0.1/Server=10.0.0.7/" \
-e "s/Hostname=Zabbix server/Hostname=Zabbix server/" \
/apps/zabbix/etc/zabbix_agentd.conf

[root@centos7-7 ~]# grep '^[^#]' /apps/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=10.0.0.7
ServerActive=127.0.0.1
Hostname=Zabbix server

3.12.Zabbix agentd的服务文件⭐️

cat >/usr/lib/systemd/system/zabbix-agent.service<<-eof
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/apps/zabbix/sbin/zabbix_agentd -c /apps/zabbix/etc/zabbix_agentd.conf
ExecStop=/bin/kill -SIGTERM \$MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target
eof
systemctl daemon-reload
systemctl enable --now zabbix-agent.service

3.13.Zabbix proxy的服务文件⭐️

cat >/usr/lib/systemd/system/zabbix-proxy.service<<-eof
[Unit]
Description=Zabbix Proxy
After=syslog.target
After=network.target

[Service]
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_proxy.pid
KillMode=control-group
ExecStart=/apps/zabbix/sbin/zabbix_proxy -c /apps/zabbix/etc/zabbix_proxy.conf
ExecStop=/bin/kill -SIGTERM \$MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target
eof
systemctl daemon-reload
systemctl enable --now zabbix-proxy.service

在这里插入图片描述

3.14.Zabbix Java Gateway的服务文件⭐️

创建日志文件

touch /tmp/zabbix_java.log
chown zabbix:zabbix /tmp/zabbix_java.log
chmod 644 /tmp/zabbix_java.log

创建服务文件

cat >/usr/lib/systemd/system/zabbix-java-gateway.service<<-eof
[Unit]
Description=Zabbix Java Gateway
After=network.target
Requires=network.target

[Service]
Type=forking
PrivateTmp=true
User=zabbix
Group=zabbix
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk/
# 启动脚本(建议脚本内处理后台化与日志输出)
ExecStart=/apps/zabbix/sbin/zabbix_java/startup.sh
# 优雅关闭:脚本应支持 SIGTERM 捕获
ExecStop=/apps/zabbix/sbin/zabbix_java/shutdown.sh

[Install]
WantedBy=multi-user.target
eof

启动服务

systemctl daemon-reload
systemctl enable --now zabbix-java-gateway.service

在这里插入图片描述

4.yum源安装Mysql

4.1.安装Mysql的yum源

# linux7 yum源
wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
rpm -ivh mysql80-community-release-el7-11.noarch.rpm

4.2.默认安装Mysql8.0

vi /etc/yum.repos.d/mysql-community.repo

4.3.安装mysql-server

yum -y install mysql-server

4.4.启动mysql-server

# 查看Mysql版本信息
mysql --version

# 启动mysql
systemctl enable --now mysqld

# 查看mysql状态信息
systemctl status mysqld

4.5.获取mysql-server初始登陆的密码

grep 'temporary password' /var/log/mysqld.log

MYSQL_TEMP_PASS=$(grep 'temporary password' /var/log/mysqld.log | tail -1 | awk '{print $NF}')

mysqladmin -uroot -p"(i(ALaf>_4VS" password 'Mysql.123456'
mysql -uroot -p"(i(ALaf>_4VS"
ALTER  USER  'root'@'localhost'  IDENTIFIED BY 'Mysql.123456';

# 设置密码的验证强度等级
#Mysql 8.0 版本
# 将密码复杂度校验调整简单类型
# set global validate_password.policy=MEDIUM;
set global validate_password.policy=LOW;
# 设置密码最少位数限制为 4 位
set global validate_password.length=4;
# 查看 mysql 初始的密码策略
SHOW VARIABLES LIKE 'validate_password%';
ALTER  USER  'root'@'localhost'  IDENTIFIED BY 'password';

4.6.创建数据库

[root@centos7-7 ~]# mysql -uroot -p"password"

创建 Zabbix 数据库
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
创建 Zabbix 用户
mysql> create user zabbix@'localhost' identified with mysql_native_password by 'password';
授予数据库权限
mysql> grant all privileges on zabbix.* to zabbix@'localhost';
创建 Zabbix 用户
mysql> create user zabbix@'10.0.0.%' identified with mysql_native_password by 'password';
授予数据库权限
mysql> grant all privileges on zabbix.* to zabbix@'10.0.0.%';
允许创建函数时不检查权限
mysql> set global log_bin_trust_function_creators = 1;
授予 SUPER 权限,不一定使用
mysql> GRANT SUPER ON *.* TO zabbix@'localhost';
mysql> GRANT SUPER ON *.* TO zabbix@'10.0.0.%';
mysql> FLUSH PRIVILEGES;
mysql> exit

4.7.初始化数据库

[root@centos7-7 ~]# ls /usr/local/src/zabbix-7.0.12/database/mysql/*.sql -1
/usr/local/src/zabbix-7.0.12/database/mysql/data.sql
/usr/local/src/zabbix-7.0.12/database/mysql/images.sql
/usr/local/src/zabbix-7.0.12/database/mysql/schema.sql
依次执行
mysql -uzabbix -ppassword -D zabbix < /usr/local/src/zabbix-7.0.12/database/mysql/schema.sql
mysql -uzabbix -ppassword -D zabbix < /usr/local/src/zabbix-7.0.12/database/mysql/images.sql
mysql -uzabbix -ppassword -D zabbix < /usr/local/src/zabbix-7.0.12/database/mysql/data.sql

4.8.验证数据库和相关表

[root@centos7-7 ~]# mysql -uzabbix -ppassword -D zabbix -e 'show tables;'
mysql: [Warning] Using a password on the command line interface can be insecure.
+----------------------------+
| Tables_in_zabbix           |
+----------------------------+
| acknowledges               |
| actions                    |
| alerts                     |
| auditlog                   |
| autoreg_host               |
| changelog                  |
| conditions                 |
| config                     |
| config_autoreg_tls         |
| connector                  |
| connector_tag              |

5.安装Apache服务

yum -y install httpd
systemctl enable --now httpd mysqld

6.安装第三方源-remi源

6.1.获取源信息

官方网站:https://rpms.remirepo.net/enterprise/
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install -y yum-utils
yum-config-manager --enable remi-php82

6.2.配置php和初始化登录WEB页面

mkdir -p /var/www/html/zabbix
cp -a /usr/local/src/zabbix-7.0.12/ui/* /var/www/html/zabbix/

chown -R zabbix:zabbix /var/www/html/zabbix

在这里插入图片描述

6.3.安装php依赖包

yum -y install php-gd php-xml php-cli php-json php-mysqlnd php php-ldap php-mbstring php-bcmath php-fpm php-opcache php-pear openssl-devel

在这里插入图片描述

6.4.查看php版本信息

查看php版本信息

[root@centos7-7 ~]# php -v
PHP 8.2.20 (cli) (built: Jun  4 2024 13:22:51) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.20, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.20, Copyright (c), by Zend Technologies

6.5.编辑配置文件

[root@centos7-7 ~]# vim /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
重启服务
[root@centos7-7 ~]# systemctl restart php-fpm.service
[root@centos7-7 ~]# systemctl enable php-fpm.service
[root@centos7-7 ~]# systemctl restart httpd.service

6.6.测试

[root@centos7-7 ~]# cat >/var/www/html/index.php<<-eof
<?php phpinfo();    
?>
eof

在这里插入图片描述

6.配置zabbix

6.1.安装中文包

安装中文包,再修改语言,否则无法选择
yum -y install kde-l10n-Chinese glibc-common

6.2.zabbix界面配置

在这里插入图片描述
在这里插入图片描述

用户名:zabbix
密码:password

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@centos7-7 ~]# vim /var/www/html/zabbix/conf/zabbix.conf.php
[root@centos7-7 ~]# cat /var/www/html/zabbix/conf/zabbix.conf.php
<?php
// Zabbix GUI configuration file.

$DB['TYPE']     = 'MYSQL';
$DB['SERVER']     = 'localhost';
$DB['PORT']     = '3306';
$DB['DATABASE']     = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD']     = 'password';

// Schema name. Used for PostgreSQL.
$DB['SCHEMA']     = '';

// Used for TLS connection.
$DB['ENCRYPTION']   = false;
$DB['KEY_FILE']     = '';
$DB['CERT_FILE']    = '';
$DB['CA_FILE']      = '';
$DB['VERIFY_HOST']    = false;
$DB['CIPHER_LIST']    = '';

// Vault configuration. Used if database credentials are stored in Vault secrets manager.
$DB['VAULT']      = '';
$DB['VAULT_URL']    = '';
$DB['VAULT_PREFIX']   = '';
$DB['VAULT_DB_PATH']    = '';
$DB['VAULT_TOKEN']    = '';
$DB['VAULT_CERT_FILE']    = '';
$DB['VAULT_KEY_FILE']   = '';
// Uncomment to bypass local caching of credentials.
// $DB['VAULT_CACHE']   = true;

// Uncomment and set to desired values to override Zabbix hostname/IP and port.
// $ZBX_SERVER      = '';
// $ZBX_SERVER_PORT   = '';

$ZBX_SERVER_NAME    = 'zabbix-server';

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

// Uncomment this block only if you are using Elasticsearch.
// Elasticsearch url (can be string if same url is used for all types).
//$HISTORY['url'] = [
//  'uint' => 'http://localhost:9200',
//  'text' => 'http://localhost:9200'
//];
// Value types stored in Elasticsearch.
//$HISTORY['types'] = ['uint', 'text'];

// Used for SAML authentication.
// Uncomment to override the default paths to SP private key, SP and IdP X.509 certificates, and to set extra settings.
//$SSO['SP_KEY']      = 'conf/certs/sp.key';
//$SSO['SP_CERT']     = 'conf/certs/sp.crt';
//$SSO['IDP_CERT']    = 'conf/certs/idp.crt';
//$SSO['SETTINGS']    = [];

// If set to false, support for HTTP authentication will be disabled.
// $ALLOW_HTTP_AUTH = true;

在这里插入图片描述
在这里插入图片描述

Zabbix 前端已经就绪!第一次登录, 默认的用户名是 Admin,密码是zabbix

在这里插入图片描述

修改PHP文件,防止重复安装

mv /var/www/html/zabbix/setup.php /var/www/html/zabbix/setup.php.bak

再次登录

http://10.0.0.7/zabbix/

在这里插入图片描述

7.部分脚本

需要提前准备安装包到/usr/local/src/目录下

里面的包已下载,在此处下载
https://wwqz.lanzouw.com/b00q0lr2mf
密码:bk2o

在这里插入图片描述

#!/bin/bash
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo







yum -y install gcc gcc-c++ unixODBC-devel httpd mysql-devel libcurl libcurl-devel  fping curl-devel libxml2 libxml2-devel  perl-ExtUtils-MakeMaker libssh2 libssh2-devel pcre2-devel openssl11-libs java-11-openjdk-devel







# net-snmp
yum info net-snmp net-snmp-devel | egrep '^Name|^Version|^Release|^Arch'
yum remove -y net-snmp net-snmp-devel
cd /usr/local/src
tar xf net-snmp-5.9.1.tar.gz
cd /usr/local/src/net-snmp-5.9.1
./configure --prefix=/usr/local/net-snmp --with-defaults
make -j$(nproc) && make install
cat >/etc/profile.d/net-snmp.sh<<-eof
export PATH=/usr/local/net-snmp/bin:\$PATH
export LD_LIBRARY_PATH=/usr/local/net-snmp/lib:\$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/usr/local/net-snmp/lib/pkgconfig:\$PKG_CONFIG_PATH
eof
source /etc/profile.d/net-snmp.sh
which snmpget
snmpget --version
ldd $(which snmpget) | grep net-snmp
pkg-config --modversion netsnmp







# libevent
yum -y remove libevent libevent-devel
cd /usr/local/src/
tar xf libevent-2.1.12-stable.tar.gz
cd /usr/local/src/libevent-2.1.12-stable/
./configure --prefix=/usr/local/libevent2 --disable-static --enable-shared
make -j$(nproc) && make install
cat >/etc/profile.d/libevent.sh<<-eof
export CPPFLAGS="-I/usr/local/libevent2/include"
export LDFLAGS="-L/usr/local/libevent2/lib"
export LD_LIBRARY_PATH="/usr/local/libevent2/lib:\$LD_LIBRARY_PATH"
export CPPFLAGS="-I/usr/local/openssl/include -I/usr/local/libevent2/include"
export LDFLAGS="-L/usr/local/openssl/lib -L/usr/local/libevent2/lib"
eof
source /etc/profile.d/libevent.sh
pkg-config --modversion libevent
echo "/usr/local/libevent2/lib" > /etc/ld.so.conf.d/libevent2.conf
ldconfig
ldconfig -p | grep libevent_core



# openssl
cd /usr/local/src
tar -xzf openssl-1.1.1k.tar.gz
cd /usr/local/src/openssl-1.1.1k
yum -y install zlib-devel.x86_64
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
make -j$(nproc) && make install
/usr/local/openssl/bin/openssl version
cat >/etc/profile.d/openssl.sh<<-eof
export PATH=/usr/local/openssl/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/usr/local/openssl/lib/pkgconfig:$PKG_CONFIG_PATH
export CPPFLAGS="-I/usr/local/openssl/include"
export LDFLAGS="-L/usr/local/openssl/lib"
eof
source /etc/profile.d/openssl.sh
echo "/usr/local/openssl/lib" > /etc/ld.so.conf.d/openssl.conf
ldconfig
which openssl
openssl version



# zabbix
getent group zabbix || groupadd zabbix && useradd -r -g zabbix -m -s /sbin/nologin zabbix
cd /usr/local/src/
tar xf zabbix-7.0.12.tar.gz
cd /usr/local/src/zabbix-7.0.12/
mkdir -p /apps/zabbix
time ./configure \
    --prefix=/apps/zabbix \
    --enable-server \
    --enable-agent \
    --enable-proxy \
    --enable-java \
    --with-agent \
    --with-mysql \
    --with-libpcre2 \
    --with-ssh2 \
    --with-libcurl \
    --with-libxml2 \
    --with-unixodbc \
    -with-libevent=/usr/local/libevent2 \
    --with-net-snmp=/usr/local/net-snmp \
    --with-ssl=/usr/local/openssl \
    CPPFLAGS="-I/usr/local/libevent2/include -I/usr/local/openssl/include -I/usr/local/net-snmp/include" \
    LDFLAGS="-L/usr/local/libevent2/lib -L/usr/local/openssl/lib -Wl,-rpath=/usr/local/openssl/lib -L/usr/local/net-snmp/lib"
time make -j$(nproc) && make install
ln -s /apps/zabbix/sbin/* /usr/sbin/
ln -s /apps/zabbix/bin/* /usr/bin/
echo 'PATH=/apps/zabbix/bin:$PATH' >/etc/profile.d/zabbix.sh
source /etc/profile.d/zabbix.sh
chown -R zabbix:zabbix /apps/zabbix/
tree /apps/zabbix/






cat >/apps/zabbix/etc/zabbix_server.conf<<-eof
ListenPort=10051
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
DBPassword=password
DBPort=3306
Timeout=4
LogSlowQueries=3000
# 允许访问统计信息的 IP 地址为 127.0.0.1(仅本机)
StatsAllowedIP=127.0.0.1,10.0.0.0/24
# 是否启用“全局脚本”功能,0 表示不启用
EnableGlobalScripts=0
eof
cat >/usr/lib/systemd/system/zabbix-server.service<<-eof
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target

[Service]
Environment="LD_LIBRARY_PATH=/usr/local/libevent2/lib"
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/apps/zabbix/sbin/zabbix_server -c /apps/zabbix/etc/zabbix_server.conf
ExecStop=/bin/kill -SIGTERM \$MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target
eof
systemctl daemon-reload
systemctl enable --now zabbix-server.service




sed -i.bak \
-e "s/Server=127.0.0.1/Server=10.0.0.7/" \
-e "s/Hostname=Zabbix server/Hostname=Zabbix server/" \
/apps/zabbix/etc/zabbix_agentd.conf
cat >/usr/lib/systemd/system/zabbix-agent.service<<-eof
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/apps/zabbix/sbin/zabbix_agentd -c /apps/zabbix/etc/zabbix_agentd.conf
ExecStop=/bin/kill -SIGTERM \$MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target
eof

systemctl daemon-reload
systemctl enable --now zabbix-agent.service

cat >/usr/lib/systemd/system/zabbix-proxy.service<<-eof
[Unit]
Description=Zabbix Proxy
After=syslog.target
After=network.target

[Service]
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_proxy.pid
KillMode=control-group
ExecStart=/apps/zabbix/sbin/zabbix_proxy -c /apps/zabbix/etc/zabbix_proxy.conf
ExecStop=/bin/kill -SIGTERM \$MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target
eof

systemctl daemon-reload
systemctl enable --now zabbix-proxy.service







touch /tmp/zabbix_java.log
chown zabbix:zabbix /tmp/zabbix_java.log
chmod 644 /tmp/zabbix_java.log
cat >/usr/lib/systemd/system/zabbix-java-gateway.service<<-eof
[Unit]
Description=Zabbix Java Gateway
After=network.target
Requires=network.target

[Service]
Type=forking
PrivateTmp=true
User=zabbix
Group=zabbix
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk/
# 启动脚本(建议脚本内处理后台化与日志输出)
ExecStart=/apps/zabbix/sbin/zabbix_java/startup.sh
# 优雅关闭:脚本应支持 SIGTERM 捕获
ExecStop=/apps/zabbix/sbin/zabbix_java/shutdown.sh

[Install]
WantedBy=multi-user.target
eof
systemctl daemon-reload
systemctl enable --now zabbix-java-gateway.service





wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
rpm -ivh mysql80-community-release-el7-11.noarch.rpm
yum -y install mysql-server
mysql --version
systemctl enable --now mysqld
systemctl status mysqld
# 1. 获取 MySQL 安装生成的临时密码
MYSQL_TEMP_PASS=$(grep 'temporary password' /var/log/mysqld.log | tail -1 | awk '{print $NF}')
# 2. 定义新密码(你可以改成自己想要的)
NEW_PASS="Mysql.123456"
mysqladmin -uroot -p"${MYSQL_TEMP_PASS}" password "${NEW_PASS}"

mysql -uroot -p"${NEW_PASS}" --connect-expired-password <<EOF
-- 设置密码策略为 LOW
SET GLOBAL validate_password.policy=LOW;

-- 设置密码最小长度为 4
SET GLOBAL validate_password.length=4;

-- 再次修改密码为更简单的密码(如果你想)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

-- 查看当前密码策略设置
SHOW VARIABLES LIKE 'validate_password%';
EOF

# 定义变量
MYSQL_ROOT_PASS="password"
ZABBIX_DB="zabbix"
ZABBIX_USER_PASS="password"

# 登录 MySQL 执行批量 SQL 语句
mysql -uroot -p"${MYSQL_ROOT_PASS}" <<EOF

-- 创建 Zabbix 数据库
CREATE DATABASE IF NOT EXISTS ${ZABBIX_DB} CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

-- 创建本地用户
CREATE USER IF NOT EXISTS 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY '${ZABBIX_USER_PASS}';

-- 授予本地用户权限
GRANT ALL PRIVILEGES ON ${ZABBIX_DB}.* TO 'zabbix'@'localhost';

-- 创建远程用户
CREATE USER IF NOT EXISTS 'zabbix'@'10.0.0.%' IDENTIFIED WITH mysql_native_password BY '${ZABBIX_USER_PASS}';

-- 授予远程用户权限
GRANT ALL PRIVILEGES ON ${ZABBIX_DB}.* TO 'zabbix'@'10.0.0.%';

-- 设置允许创建函数不校验安全
SET GLOBAL log_bin_trust_function_creators = 1;

-- 可选:授予 SUPER 权限(某些环境可能不需要)
GRANT SUPER ON *.* TO 'zabbix'@'localhost';
GRANT SUPER ON *.* TO 'zabbix'@'10.0.0.%';

-- 应用权限变更
FLUSH PRIVILEGES;

EOF

mysql -uzabbix -ppassword -D zabbix < /usr/local/src/zabbix-7.0.12/database/mysql/schema.sql
mysql -uzabbix -ppassword -D zabbix < /usr/local/src/zabbix-7.0.12/database/mysql/images.sql
mysql -uzabbix -ppassword -D zabbix < /usr/local/src/zabbix-7.0.12/database/mysql/data.sql

mysql -uzabbix -ppassword -D zabbix -e 'show tables;'

ps -ef | grep zabbix


创作不易,小小的支持一下吧!

请添加图片描述

endl-版权所有,转发请说出处,制作不易

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2403762.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亚远景科技助力东风日产通过ASPICE CL2评估

热烈祝贺东风日产通过ASPICE CL2评估 近日&#xff0c;东风日产PK1B VCM热管理项目成功通过ASPICE CL2级能力评估&#xff0c;标志着东风日产在汽车电子软件研发管理体系及技术创新能力上已达到国际领先水平&#xff0c;为其全球化布局注入强劲动能。 ASPICE&#xff1a;国际竞…

基于JWT+SpringSecurity整合一个单点认证授权机制

基于 JWT Spring Security 的授权认证机制&#xff0c;在整体架构设计上体现了高度的安全性与灵活性。其在整合框架中的应用&#xff0c;充分展示了模块化、可扩展性和高效鉴权的设计理念&#xff0c;为开发者提供了一种值得借鉴的安全架构模式。 1.SpringSecurity概念理解 …

IDEA 打开文件乱码

问题&#xff1a;文件乱码 底部编码无法切换 解决方案&#xff1a; 第一步 使用Nodepad 查询文件编码 本项目设置为 转为 UTF-8 无 BOM 第二步&#xff1a;在 IntelliJ IDEA 中&#xff1a;右键点击文件 → File Encoding → 选择目标编码&#xff08;如 UTF-8&#xff09; 最…

第2章:Neo4j安装与配置

在了解了Neo4j的基本概念和优势之后&#xff0c;下一步就是将其安装并配置好&#xff0c;以便开始实际操作。本章将详细介绍Neo4j的各种部署方式&#xff0c;涵盖不同操作系统的安装步骤&#xff0c;深入探讨关键配置项&#xff0c;并介绍常用的管理工具&#xff0c;为读者顺利…

Shell 命令及运行原理 + 权限的概念(7)

文章目录 Shell 命令以及运行原理&#xff08;4-1.22.08&#xff09;Linux权限的概念1. 什么是权限2. 认识人&#xff08;普通用户&#xff0c;root用户&#xff09;以及两种用户的切换认识普通用户和root用户两种用户之间的切换指令提权 3. 文件的属性解析 权限属性指令ll显示…

抽奖系统核心——抽奖管理

目录 前端逻辑&#xff1a; 核心全局变量&#xff1a; reloadConf函数&#xff1a; nextStep函数&#xff1a; 后端实现&#xff1a; 抽奖接口: Controller层: Service层: MqReceiver&#xff1a; drawPrizeService&#xff1a; statusConvert()方法: activityStatu…

机器学习:集成学习概念和分类、随机森林、Adaboost、GBDT

本文目录&#xff1a; 一、集成学习概念**核心思想&#xff1a;** 二、集成学习分类&#xff08;一&#xff09;Bagging集成&#xff08;二&#xff09;Boosting集成&#xff08;三&#xff09;两种集成方法对比 三、随机森林&#xff08;一&#xff09;构造过程&#xff08;二…

基于J2EE架构的在线考试系统设计与实现【源码+文档】

目录 摘要: Abstract: 1 引言 2 在线考试系统构架 2.1 在线考试系统一般需求分析 2.2 当前在线考试系统现状分析 2.3 基于J2EE的在线考试系统架构介绍及拥有的优势 2.3.1 结构总体介绍 2.3.2 客户层组件 2.3.2.1 Applets 2.3.2.2 应用程序客户端 2.3.3 …

联想拯救者R9000P 网卡 Realtek 8852CE Ubuntu/Mint linux 系统睡眠后,无线网卡失效

联想拯救者R9000P 网卡型号 Realtek PCle GbE Family Controller Realtek 8852CE WiFi 6E PCI-E NIC 系统版本 Ubuntu 24.04 / mint 22.1 问题现象 rtw89_8852ce&#xff0c;Link is Down&#xff0c;xtal si not ready&#xff0c;mac init fail&#xff0c;xtal si not …

Python训练营打卡 Day46

道注意力(SE注意力) 知识点回顾&#xff1a; 不同CNN层的特征图&#xff1a;不同通道的特征图什么是注意力&#xff1a;注意力家族&#xff0c;类似于动物园&#xff0c;都是不同的模块&#xff0c;好不好试了才知道。通道注意力&#xff1a;模型的定义和插入的位置通道注意力后…

解决微软应用商店 (Microsoft store) 打不开,无网络连接的问题!

很多小伙伴都会遇见微软应用商店 (Microsoft store)打开后出现无网络的问题&#xff0c;一般出现这种问题基本都是因为你的电脑安装了某些银行的网银工具&#xff0c;因为网银工具为了安全会关闭Internet 选项中的最新版本的TLS协议&#xff0c;而微软商店又需要最新的TLS协议才…

《影像引导下骨盆创伤手术的术前骨折复位规划:基于学习的综合流程》|文献速递-深度学习医疗AI最新文献

Title 题目 Preoperative fracture reduction planning for image-guided pelvic trauma surgery: A comprehensive pipeline with learning 《影像引导下骨盆创伤手术的术前骨折复位规划&#xff1a;基于学习的综合流程》 01 文献速递介绍 《影像引导下骨盆创伤手术的术前…

如何使用Webhook触发器,在 ONLYOFFICE 协作空间构建智能工作流

在数字化办公中&#xff0c;ONLYOFFICE 协作空间作为一款功能强大的文档协作平台&#xff0c;提供了丰富的自动化功能。对于开发者而言&#xff0c;Webhook 触发器是实现业务流程自动化与系统集成的关键工具。本文将深入探讨如何在 ONLYOFFICE 协作空间中高效利用 Webhook&…

什么是DevOps智能平台的核心功能?

在数字化转型的浪潮中&#xff0c;DevOps智能平台已成为企业提升研发效能、加速产品迭代的核心工具。然而&#xff0c;许多人对“DevOps智能平台”的理解仍停留在“自动化工具链”的表层概念。今天&#xff0c;我们从一个真实场景切入&#xff1a;假设你是某互联网公司的技术负…

Windows账户管理,修改密码,创建帐户...(无需密码)

前言 我们使用wWindows操作系统时&#xff0c;账户是非常重要的概念 它不仅能够帮助我们区分文档主题权限等等 嗯还有最重要的解锁电脑的作用&#xff01; 但想要管理他&#xff0c;不仅需要原本的密码&#xff0c;而且设置中的管理项也非常的不全。 Windows有一款netplwi…

【Java后端基础 005】ThreadLocal-线程数据共享和安全

&#x1f4da;博客主页&#xff1a;代码探秘者 ✨专栏&#xff1a;文章正在持续更新ing… ✅C语言/C&#xff1a;C&#xff08;详细版&#xff09; 数据结构&#xff09; 十大排序算法 ✅Java基础&#xff1a;JavaSE基础 面向对象大合集 JavaSE进阶 Java版数据结构JDK新特性…

【C语言】C语言经典小游戏:贪吃蛇(下)

文章目录 一、游戏前准备二、游戏开始1、游戏开始函数&#xff08;GameStart&#xff09;1&#xff09;打印欢迎界⾯&#xff08;WelcomeToGame&#xff09;2&#xff09;创建地图&#xff08;CreateMap&#xff09;3&#xff09;初始化蛇⾝&#xff08;InitSnake&#xff09;4…

NTT印地赛车:数字孪生技术重构赛事体验范式,驱动观众参与度革命

引言&#xff1a;数字孪生技术赋能体育赛事&#xff0c;开启沉浸式观赛新纪元 在传统体育赛事观赛模式遭遇体验天花板之际&#xff0c;NTT与印地赛车系列赛&#xff08;NTT INDYCAR SERIES&#xff09;的深度合作&#xff0c;通过数字孪生&#xff08;Digital Twin&#xff09…

30.【新型数据架构】-区块链数据架构

30.【新型数据架构】-区块链数据架构:分布式账本,不可篡改性,用于数据溯源 一、区块链数据架构的本质:分布式账本的革新 区块链的核心是分布式账本技术(Distributed Ledger Technology, DLT),它颠覆了传统中心化数据库的架构模式: 去中心化存储: 账本数据不再集中存储…

在CSDN发布AWS Proton解决方案:实现云原生应用的标准化部署

引言&#xff1a;云原生时代的部署挑战 在云原生应用开发中&#xff0c;基础设施管理的复杂性已成为团队面临的核心挑战。随着微服务架构的普及&#xff0c;每个服务可能包含数十个AWS资源&#xff08;如Lambda、API Gateway、ECS集群等&#xff09;&#xff0c;传统的手动配置…