centos7.9源码安装zabbix7.12,求赞
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
eofsource /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-snmplibnetsnmp.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"
eofsource /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_corelibevent_core-2.1.so.7 (libc6,x86-64) => /usr/local/libevent2/lib/libevent_core-2.1.so.7libevent_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"
eofsource /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└── externalscripts18 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.confgrep -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.confgrep -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; thenecho "JavaGateway 配置项已存在"
elseecho "未设置 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.logMYSQL_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 Technologieswith 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.repoyum -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.servicesed -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
eofsystemctl daemon-reload
systemctl enable --now zabbix-agent.servicecat >/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
eofsystemctl daemon-reload
systemctl enable --now zabbix-proxy.servicetouch /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.servicewget 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;EOFmysql -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.sqlmysql -uzabbix -ppassword -D zabbix -e 'show tables;'ps -ef | grep zabbix
创作不易,小小的支持一下吧!
endl-版权所有,转发请说出处,制作不易
相关文章:

centos7.9源码安装zabbix7.12,求赞
centos7.9源码安装zabbix7.12-全网独有 3.CentOS7_Zabbix7.0LTS3.1.安装环境3.2.换成阿里源3.3.安装相关依赖包3.3.1.直接安装依赖3.3.2.编译安装-遇到问题01-net-snmp3.3.3.编译安装-遇到问题02-libevent3.3.4.编译安装-遇到问题03-安装openssl 3.4.创建用户和组3.5.下载上传源…...

亚远景科技助力东风日产通过ASPICE CL2评估
热烈祝贺东风日产通过ASPICE CL2评估 近日,东风日产PK1B VCM热管理项目成功通过ASPICE CL2级能力评估,标志着东风日产在汽车电子软件研发管理体系及技术创新能力上已达到国际领先水平,为其全球化布局注入强劲动能。 ASPICE:国际竞…...
Go语言进阶④:Go的数据结构和Java的有啥不一样
Go语言进阶④:数据结构大冒险! ——写惯了 Java 的你,看 Go 的容器世界会头皮发麻吗? 一、写在前面:Java 程序员的容器情怀 在 Java 世界,你可能习惯了满手的 ArrayList、HashMap、Set、Queue 等容器类,配合着各种范型、接口和 Lambda 表达式,写得风生水起。 可一到…...

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

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

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

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

抽奖系统核心——抽奖管理
目录 前端逻辑: 核心全局变量: reloadConf函数: nextStep函数: 后端实现: 抽奖接口: Controller层: Service层: MqReceiver: drawPrizeService: statusConvert()方法: activityStatu…...
Android 蓝牙通信
Android 平台提供了完整的蓝牙 API,支持 传统蓝牙(Bluetooth Classic)和低功耗蓝牙(BBluetooth Low Energy, BLE)两种通信方式。 以下是开发蓝牙应用的关键知识点。 1. 基本概念 传统蓝牙(Bluetooth Classic) 适合大流量数据传输(如音频、文件传输) 典型协议: R…...
任务调度器-关于中心化调度 vs 去中心化调度的核心区别
1. 定义与架构模型 维度中心化调度去中心化调度核心角色存在一个中央调度器(如XXL-JOB的调度中心),统一管理任务分配、状态监控和故障处理。无中心节点,调度逻辑分散在多个节点,通过共识算法(如选举机制&a…...
二、【ESP32开发全栈指南:ESP32 GPIO深度使用】
GPIO(通用输入输出) 是ESP32最基础却最核心的功能。本文将带你深入ESP32的GPIO操作,通过按键读取和LED控制实现物理按键→ESP32→LED的完整信号链路。 一、ESP32 GPIO核心特性速览 34个可编程GPIO(部分引脚受限)输入模…...
力扣刷题(第四十九天)
灵感来源 - 保持更新,努力学习 - python脚本学习 反转链表 解题思路 迭代法:通过遍历链表,逐个改变节点的指针方向。具体步骤如下: 使用三个指针:prev(初始为None)、curr(初始为…...

机器学习:集成学习概念和分类、随机森林、Adaboost、GBDT
本文目录: 一、集成学习概念**核心思想:** 二、集成学习分类(一)Bagging集成(二)Boosting集成(三)两种集成方法对比 三、随机森林(一)构造过程(二…...

基于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 …...
tpc udp http
TCP(传输控制协议)、UDP(用户数据报协议)和 HTTP(超文本传输协议)是网络通信中常用的三种协议,它们在不同的层次和场景中发挥作用。以下是对这三种协议的详细解释以及它们之间的区别:…...

联想拯救者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,Link is Down,xtal si not ready,mac init fail,xtal si not …...

Python训练营打卡 Day46
道注意力(SE注意力) 知识点回顾: 不同CNN层的特征图:不同通道的特征图什么是注意力:注意力家族,类似于动物园,都是不同的模块,好不好试了才知道。通道注意力:模型的定义和插入的位置通道注意力后…...

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

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

如何使用Webhook触发器,在 ONLYOFFICE 协作空间构建智能工作流
在数字化办公中,ONLYOFFICE 协作空间作为一款功能强大的文档协作平台,提供了丰富的自动化功能。对于开发者而言,Webhook 触发器是实现业务流程自动化与系统集成的关键工具。本文将深入探讨如何在 ONLYOFFICE 协作空间中高效利用 Webhook&…...
跟我学c++中级篇——理解类型推导和C++不同版本的支持
一、类型推导 在前面反复分析过类型推导(包括前面提到的类模板参数推导CTAD),类型推导其实就是满足C语言这种强类型语言的要求即编译期必须确定对象的数据类型。换一句话说,理论上如果编译器中能够自动推导所有的相关数据类型&am…...

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

Windows账户管理,修改密码,创建帐户...(无需密码)
前言 我们使用wWindows操作系统时,账户是非常重要的概念 它不仅能够帮助我们区分文档主题权限等等 嗯还有最重要的解锁电脑的作用! 但想要管理他,不仅需要原本的密码,而且设置中的管理项也非常的不全。 Windows有一款netplwi…...
软件功能模块归属论证方法
文章目录 **一、核心设计原则****二、论证方法****三、常见决策模式****四、验证方法****五、反模式警示****总结** 在讨论软件功能点应该归属哪些模块时,并没有放之四海而皆准的固定方法,但可以通过系统化的论证和设计原则来做出合理决策。以下是常见的…...

【Java后端基础 005】ThreadLocal-线程数据共享和安全
📚博客主页:代码探秘者 ✨专栏:文章正在持续更新ing… ✅C语言/C:C(详细版) 数据结构) 十大排序算法 ✅Java基础:JavaSE基础 面向对象大合集 JavaSE进阶 Java版数据结构JDK新特性…...

【C语言】C语言经典小游戏:贪吃蛇(下)
文章目录 一、游戏前准备二、游戏开始1、游戏开始函数(GameStart)1)打印欢迎界⾯(WelcomeToGame)2)创建地图(CreateMap)3)初始化蛇⾝(InitSnake)4…...

NTT印地赛车:数字孪生技术重构赛事体验范式,驱动观众参与度革命
引言:数字孪生技术赋能体育赛事,开启沉浸式观赛新纪元 在传统体育赛事观赛模式遭遇体验天花板之际,NTT与印地赛车系列赛(NTT INDYCAR SERIES)的深度合作,通过数字孪生(Digital Twin)…...

30.【新型数据架构】-区块链数据架构
30.【新型数据架构】-区块链数据架构:分布式账本,不可篡改性,用于数据溯源 一、区块链数据架构的本质:分布式账本的革新 区块链的核心是分布式账本技术(Distributed Ledger Technology, DLT),它颠覆了传统中心化数据库的架构模式: 去中心化存储: 账本数据不再集中存储…...
使用docker 安装Redis 带配置文件(x86和arm)版本
一、安装redis 1.1 拉去ARM镜像(7.4.2) docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_redis:latest1.2 拉去x86镜像(8.0.1)版本 docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/redis:latest新建文件夹 mkd…...

在CSDN发布AWS Proton解决方案:实现云原生应用的标准化部署
引言:云原生时代的部署挑战 在云原生应用开发中,基础设施管理的复杂性已成为团队面临的核心挑战。随着微服务架构的普及,每个服务可能包含数十个AWS资源(如Lambda、API Gateway、ECS集群等),传统的手动配置…...