【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution

简介: 【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution

【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution

首先前一篇文章我们介绍了docker安装,本次我们需要常规搭建,以下是docker和非docker的区别,由于优雅草的zabbix是要进行深度二开的,因此选择非docker,此前看了各种教程和视频,卓伊凡失败了不下3次,联合同事solution一起开始做,最终在这次整理了可行的方案,简化 方案,很多教程里面有些混乱,导致搭建各种报错,当然此方案你们也要践行

以下为你详细对比 Docker 容器搭建和非 Docker 搭建的优劣势:

### Docker 容器搭建

#### 优势

- **环境一致性**:Docker 可以将应用及其依赖打包成一个独立的容器,确保应用在不同的环境中都能以相同的方式运行。例如,开发环境、测试环境和生产环境可以保持高度一致,减少因环境差异导致的问题。

- **快速部署**:由于 Docker 容器的轻量级特性,启动和停止容器非常迅速。相比传统的部署方式,大大缩短了应用的部署时间。比如,一个复杂的微服务应用,使用 Docker 可以在几分钟内完成部署,而传统方式可能需要数小时甚至数天。

- **资源利用率高**:多个 Docker 容器可以共享宿主机的操作系统内核,减少了系统资源的开销。与传统的虚拟机相比,Docker 容器占用的资源更少,能够在相同的硬件资源下运行更多的应用实例。

- **可移植性强**:Docker 容器可以在任何支持 Docker 的平台上运行,无论是物理机、虚拟机还是云服务器。这使得应用的迁移和扩展变得更加容易,例如可以方便地将应用从本地开发环境迁移到云端生产环境。

- **隔离性好**:每个 Docker 容器都是相互隔离的,一个容器的故障不会影响其他容器的正常运行。这种隔离性提高了应用的稳定性和安全性,例如不同的业务系统可以分别运行在不同的容器中,互不干扰。

#### 劣势

- **安全风险**:虽然 Docker 提供了一定的隔离机制,但由于容器共享宿主机的内核,存在一定的安全风险。如果一个容器被攻击,攻击者可能会利用内核漏洞影响其他容器或宿主机。

- **学习成本**:对于不熟悉 Docker 技术的开发人员和运维人员来说,需要花费一定的时间来学习 Docker 的基本概念、命令和操作流程。

- **性能开销**:尽管 Docker 容器的性能开销相对较小,但在某些情况下,如大量的 I/O 操作或对内核资源的频繁访问,仍然会存在一定的性能损失。

- **管理复杂性**:当容器数量较多时,容器的管理和编排会变得复杂。需要使用专门的工具(如 Kubernetes)来进行容器的调度、监控和管理。

### 非 Docker 搭建

#### 优势

- **技术成熟度高**:非 Docker 搭建方式已经存在了很长时间,技术非常成熟。开发人员和运维人员对传统的部署方式比较熟悉,有丰富的经验和技术支持。

- **系统控制权强**:在非 Docker 搭建中,用户可以直接对操作系统进行配置和管理,拥有更高的系统控制权。对于一些对系统资源有特殊要求的应用,这种方式可以更好地满足需求。

- **安全性相对容易控制**:由于没有容器隔离带来的额外复杂性,传统部署方式的安全策略可以更加直接和明确。用户可以根据自己的需求对操作系统进行安全加固,减少安全漏洞。

- **无需额外依赖**:非 Docker 搭建不需要安装 Docker 引擎等额外的软件,减少了因依赖问题导致的故障和维护成本。

#### 劣势

- **环境配置复杂**:在不同的环境中部署应用时,需要手动配置各种依赖和环境变量,容易出现配置不一致的问题。例如,在不同的服务器上安装相同的应用,可能会因为操作系统版本、软件库版本等差异导致应用无法正常运行。

- **部署效率低**:传统的部署方式通常需要手动安装和配置应用的各个组件,过程繁琐,部署效率低下。特别是在大规模部署时,这种效率问题会更加明显。

- **资源利用率低**:每个应用都需要独立的操作系统环境,会占用大量的系统资源。例如,多个应用分别安装在不同的虚拟机上,会造成硬件资源的浪费。

- **可移植性差**:非 Docker 搭建的应用在不同的环境中迁移和部署比较困难,需要重新配置环境和安装依赖,增加了迁移的成本和风险。

CentOS8 安装zabbix7

教程

  • 强制创建目录/usr/local/zabbix7/

mkdir -p /usr/local/zabbix7/

  • 配置阿里源

sudo mkdir -p /etc/yum.repos.d/back && sudo mv /etc/yum.repos.d/CentOS* /etc/yum.repos.d/back && cat <<EOF | sudo tee /etc/yum.repos.d/Centos8.repo[BaseOS]name=CentOS-\$releasever - Basebaseurl=http://mirrors.aliyun.com/centos/\$releasever/BaseOS/\$basearch/os/gpgcheck=1gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[AppStream]name=CentOS-\$releasever - AppStreambaseurl=http://mirrors.aliyun.com/centos/\$releasever/AppStream/\$basearch/os/gpgcheck=1gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[extras]name=CentOS-\$releasever - Extrasbaseurl=http://mirrors.aliyun.com/centos/\$releasever/extras/\$basearch/os/gpgcheck=1gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-OfficialEOFsudo dnf clean allsudo dnf makecache

  • 安装zabbix源

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/centos/8/x86_64/zabbix-release-latest-7.0.el8.noarch.rpm

  • 更新源

dnf clean all && sudo dnf makecache

  • 创建下载目录/usr/local/zabbix7/

mkdir -p /usr/local/zabbix7/zabbix-{server-mysql,web-mysql,nginx-conf,sql-scripts,selinux-policy,agent,mariadb,php,fonts,stress}

  • 下载zabbix组件

dnf download --resolve --destdir=/usr/local/zabbix7/zabbix-server-mysql zabbix-server-mysqldnf download --resolve --destdir=/usr/local/zabbix7/zabbix-web-mysql zabbix-web-mysqldnf download --resolve --destdir=/usr/local/zabbix7/zabbix-nginx-conf zabbix-nginx-confdnf download --resolve --destdir=/usr/local/zabbix7/zabbix-sql-scripts zabbix-sql-scriptsdnf download --resolve --destdir=/usr/local/zabbix7/zabbix-selinux-policy zabbix-selinux-policydnf download --resolve --destdir=/usr/local/zabbix7/zabbix-agent zabbix-agent

  • 下载PHP

sudo dnf install -y epel-releasesudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.0.rpmyum remove php*dnf module reset phpsudo dnf module enable php:remi-8.0dnf download --resolve --destdir=/usr/local/zabbix7/zabbix-php/ php php-fpm php-mysqlnd php-gd php-xml php-bcmath php-mbstring

  • 下载mariadb10.5

curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setupsudo bash mariadb_repo_setup --mariadb-server-version=10.5dnf module reset mariadb -ydnf module enable mariadb:10.5 -ydnf download --resolve --destdir=/usr/local/zabbix7/zabbix-mariadb mariadb mariadb-server

  • 下载字体包解决乱码问题

dnf download --resolve --destdir=/usr/local/zabbix7/zabbix-fonts wqy-microhei-fonts

  • 下载打高CPU测试命令便于后期测试告警

sudo dnf install -y epel-releasednf download --resolve --destdir=/usr/local/zabbix7/zabbix-stress stress

  • 离线安装(上面都是下载rpm,从这里开始安装这些rpm)
  • 安装mariadb(这里还依赖python3相关包)

cd /usr/local/zabbix7/zabbix-mariadbrpm -Uvh *.rpm

  • 安装zabbix-server-mysql

cd /usr/local/zabbix7/zabbix-server-mysql rpm -Uvh *.rpmrpm -Uvh fping-5.1-1.el8.x86_64.rpm OpenIPMI-libs-2.0.31-3.el8.x86_64.rpm unixODBC-2.3.7-1.el8.x86_64.rpm zabbix-server-mysql-7.0.0-release1.el8.x86_64.rpm

  • 安装zabbix-erbmysql

cd /usr/local/zabbix7/zabbix-web-mysql rpm -Uvh *.rpm

  • 安装zabbix-nginx-conf

cd /usr/local/zabbix7/zabbix-nginx-conf rpm -Uvh *.rpmrpm -ivh httpd-filesystem-2.4.37-43.module_el8.5.0+1022+b541f3b1.noarch.rpmrpm -ivh nginx-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpm nginx-all-modules-1.14.1-9.module_el8.0.0+184+e34fea82.noarch.rpm nginx-mod-http-image-filter-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpm nginx-mod-http-perl-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpm nginx-mod-http-xslt-filter-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpm nginx-mod-mail-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpm nginx-mod-stream-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpmrpm -ivh zabbix-nginx-conf-7.0.0-release1.el8.noarch.rpm

  • 安装zabbix-sql-scripts

cd /usr/local/zabbix7/zabbix-sql-scriptsrpm -Uvh *.rpm

  • 安装zabbix-selinux-policy

cd /usr/local/zabbix7/zabbix-selinux-policyrpm -Uvh *.rpm

  • 安装升级zabbix-php

cd /usr/local/zabbix7/zabbix-php rpm -Uvh *.rpm

  • 安装zabbix-fonts

cd /usr/local/zabbix7/zabbix-fontsrpm -ivh *.rpm

  • 安装zabbix-stress

cd /usr/local/zabbix7/zabbix-stress rpm -ivh *.rpm

  • 安装zabbix-agent

cd /usr/local/zabbix7/zabbix-agentrpm -Uvh *.rpm

  • 数据初始化

systemctl start mariadb.service systemctl enable mariadb.service systemctl status mariadb.servicemysql_secure_installation

  • zabbix数据库密码:hXHDKsp2CzhzMrKb


  • 登入数据库(root用户登陆,root密码在宝塔面板上查看)


mysql -uroot -pPASSWORD

  • 要删除之前创建的zabbix数据库
  • 创建一个名为zabbix的数据库,并设置字符集为utf8mb4,排序规则为utf8mb4_bin

create database zabbix character set utf8mb4 collate utf8mb4_bin;

  • 创建一个名为zabbix的数据库用户,并设置密码为’password’

create user zabbix@localhost identified by 'hXHDKsp2CzhzMrKb';

  • 授予zabbix用户对zabbix数据库的所有权限

grant all privileges on zabbix.* to zabbix@localhost;

  • 允许没有超级权限的用户创建或修改带有二进制日志功能的存储函数

set global log_bin_trust_function_creators = 1;

  • 退出

quit;

  • 查询sql文件位置

find /usr/ -name "server.sql.gz"

  • 导入数据库信息,server.sql.gz实际路径,输入数据库zabbix用户的密码 password

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

  • 修改Zabbix server配置文件,修改数据库密码其中password为你的真实数据库zabbix用户的密码

sudo sed -i '/^# DBPassword=/a DBPassword=password' /etc/zabbix/zabbix_server.conf

  • 修改Nginx配置文件(这个是什么意思)

sudo sed -i '/^server {/a listen 80;' /etc/nginx/conf.d/zabbix.confsudo sed -i '/^listen 80;/a server_name 192.168.121.250;' /etc/nginx/conf.d/zabbix.conf

  • 修复图形数据标识乱码问题

cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

  • 重启服务,开启自启,查看状态

systemctl enable zabbix-server zabbix-agent nginx php-fpm mariadb.servicesystemctl restart zabbix-server zabbix-agent nginx php-fpm mariadb.servicesystemctl status zabbix-server zabbix-agent nginx php-fpm mariadb.service

  • 访问zabbixweb

业务限制

  • 🙅🏻‍♀️不能使用docker
  • 🙅🏻‍♀️不能使用服务器打包编译,性能很弱,要使用二进制包

服务器环境信息

  • 服务器配置
  • 2C4G



  • 操作系统版本
  • CentOS Stream release 8



  • Mysql 版本
  • mysql Ver 8.0.24 for Linux on x86_64 (Source distribution)



  • PHP 版本
  • yum源备份

# yum源配置都在这个目录下 repo是个文本文件,可以使用cat查看配置内容cd /etc/yum.repos.d/# 文件备份命令,就是文件重命名sudo mv /etc/yum.repos.d/CentOS-Stream-Extras-common.repo /etc/yum.repos.d/CentOS-Stream-Extras-common.repo.backup

  • CentOS-Base.repo切换到阿里源

# CentOS-Base.repo## The mirror system uses the connecting IP address of the client and the# update status of each mirror to pick mirrors that are updated to and# geographically close to the client. You should use this for CentOS updates# unless you are manually picking other mirrors.## If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead.## [base]name=CentOS-8.5.2111 - Base - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/BaseOS/$basearch/os/ http://mirrors.aliyuncs.com/centos-vault/8.5.2111/BaseOS/$basearch/os/ http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/BaseOS/$basearch/os/gpgcheck=0gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official #additional packages that may be useful[extras]name=CentOS-8.5.2111 - Extras - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/extras/$basearch/os/ http://mirrors.aliyuncs.com/centos-vault/8.5.2111/extras/$basearch/os/ http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/extras/$basearch/os/gpgcheck=0gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official #additional packages that extend functionality of existing packages[centosplus]name=CentOS-8.5.2111 - Plus - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/centosplus/$basearch/os/ http://mirrors.aliyuncs.com/centos-vault/8.5.2111/centosplus/$basearch/os/ http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/centosplus/$basearch/os/gpgcheck=0enabled=0gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official [PowerTools]name=CentOS-8.5.2111 - PowerTools - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/PowerTools/$basearch/os/ http://mirrors.aliyuncs.com/centos-vault/8.5.2111/PowerTools/$basearch/os/ http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/PowerTools/$basearch/os/gpgcheck=0enabled=0gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official

[AppStream]name=CentOS-8.5.2111 - AppStream - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/AppStream/$basearch/os/ http://mirrors.aliyuncs.com/centos-vault/8.5.2111/AppStream/$basearch/os/ http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/AppStream/$basearch/os/gpgcheck=0gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official

  • CentOS-Stream-Extras-common.repo切换到阿里源

# CentOS-Stream-Extras-common.repo## The mirrorlist system uses the connecting IP address of the client and the# update status of each mirror to pick current mirrors that are geographically# close to the client. You should use this for CentOS updates unless you are# manually picking other mirrors.## If the mirrorlist does not work for you, you can try the commented out# baseurl line instead.

[extras-common]name=CentOS Stream $releasever - Extras common packagesbaseurl=https://mirrors.aliyun.com/centos-vault/8.5.2111/extras/$basearch/os/enabled=1gpgcheck=0gpgkey=https://mirrors.aliyun.com/centos-stream/8-stream/Extras/x86_64/os/RPM-GPG-KEY-CentOS-Official

zabbix 官方rpm

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/centos/8/x86_64/zabbix-release-latest-7.0.el8.noarch.rpmdnf clean all# php版本8.2dnf module switch-to php:8.2

目录
相关文章
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
PAI Model Gallery 支持云上一键部署 DeepSeek-V3、DeepSeek-R1 系列模型
DeepSeek 系列模型以其卓越性能在全球范围内备受瞩目,多次评测中表现优异,性能接近甚至超越国际顶尖闭源模型(如OpenAI的GPT-4、Claude-3.5-Sonnet等)。企业用户和开发者可使用 PAI 平台一键部署 DeepSeek 系列模型,实现 DeepSeek 系列模型与现有业务的高效融合。
|
7天前
|
人工智能 搜索推荐 Docker
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
DeepSeek R1 + LobeChat + Ollama:快速本地部署模型,创建个性化 AI 助手
2686 112
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
|
2天前
|
云安全 边缘计算 人工智能
对话|ESA如何助力企业高效安全开展在线业务?
ESA如何助力企业安全开展在线业务
1015 7
|
5天前
|
人工智能 自然语言处理 JavaScript
宜搭上新,DeepSeek 插件来了!
钉钉宜搭近日上线了DeepSeek插件,无需编写复杂代码,普通用户也能轻松调用强大的AI大模型能力。安装后,平台新增「AI生成」组件,支持创意内容生成、JS代码编译、工作汇报等场景,大幅提升工作效率。快来体验这一高效智能的办公方式吧!
1345 5
|
14天前
|
Linux iOS开发 MacOS
deepseek部署的详细步骤和方法,基于Ollama获取顶级推理能力!
DeepSeek基于Ollama部署教程,助你免费获取顶级推理能力。首先访问ollama.com下载并安装适用于macOS、Linux或Windows的Ollama版本。运行Ollama后,在官网搜索“deepseek”,选择适合你电脑配置的模型大小(如1.5b、7b等)。通过终端命令(如ollama run deepseek-r1:1.5b)启动模型,等待下载完成即可开始使用。退出模型时输入/bye。详细步骤如下图所示,轻松打造你的最强大脑。
9442 86
|
2天前
|
人工智能 自然语言处理 API
DeepSeek全尺寸模型上线阿里云百炼!
阿里云百炼平台近日上线了DeepSeek-V3、DeepSeek-R1及其蒸馏版本等六款全尺寸AI模型,参数量达671B,提供高达100万免费tokens。这些模型在数学、代码、自然语言推理等任务上表现出色,支持灵活调用和经济高效的解决方案,助力开发者和企业加速创新与数字化转型。示例代码展示了如何通过API使用DeepSeek-R1模型进行推理,用户可轻松获取思考过程和最终答案。
|
6天前
|
API 开发工具 Python
阿里云PAI部署DeepSeek及调用
本文介绍如何在阿里云PAI EAS上部署DeepSeek模型,涵盖7B模型的部署、SDK和API调用。7B模型只需一张A10显卡,部署时间约10分钟。文章详细展示了模型信息查看、在线调试及通过OpenAI SDK和Python Requests进行调用的步骤,并附有测试结果和参考文档链接。
1393 9
阿里云PAI部署DeepSeek及调用
|
1月前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
阿里云与企业共筑容器供应链安全
171378 18
|
1月前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
随着云计算和DevOps的兴起,容器技术和自动化在软件开发中扮演着愈发重要的角色,但也带来了新的安全挑战。阿里云针对这些挑战,组织了一场关于云上安全的深度访谈,邀请了内部专家穆寰、匡大虎和黄竹刚,深入探讨了容器安全与软件供应链安全的关系,分析了当前的安全隐患及应对策略,并介绍了阿里云提供的安全解决方案,包括容器镜像服务ACR、容器服务ACK、网格服务ASM等,旨在帮助企业构建涵盖整个软件开发生命周期的安全防护体系。通过加强基础设施安全性、技术创新以及倡导协同安全理念,阿里云致力于与客户共同建设更加安全可靠的软件供应链环境。
150313 32
|
6天前
|
缓存 自然语言处理 安全
快速调用 Deepseek API!【超详细教程】
Deepseek 强大的功能,在本教程中,将指导您如何获取 DeepSeek API 密钥,并演示如何使用该密钥调用 DeepSeek API 以进行调试。

热门文章

最新文章