Ubuntu24.04 安裝 Zabbix

Ubuntu24.04 安裝 Zabbix

環境:

軟件版本
Ubuntu24.04.3
Nginx1.24.0
MySQL8.4.6
PHP8.3.6
phpMyAdmin5.2.2
Zabbix7.4.1

LNMP

1. 更新本地軟件包索引并升級已安裝軟件

  • 更新可用軟件包列表

  • 把已安裝的軟件升級到最新版

  • 安裝常用工具

sudo apt update && sudo apt -y upgrade
sudo apt -y install curl wget vim unzip net-tools

2. 安裝 Nginx Web 服務器

  • 安裝 Nginx
  • 設置開機自啟
  • 設置開機自啟
  • 查看運行狀態(按 q 退出)
sudo apt -y install nginx
sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx

3. 安裝 MySQL

  1. MySQL APT存儲庫的下載頁面
    MySQL APT存儲庫的下載頁面

    wget https://repo.mysql.com//mysql-apt-config_0.8.34-1_all.deb
    
  2. 安裝mySQL APT存儲庫

    sudo dpkg -i mysql-apt-config_0.8.34-1_all.deb
    

    設置MySQL存儲庫

  3. 使用以下命令從MySQL APT存儲庫更新包信息(此步驟是必需的):

    sudo apt-get update
    
  4. 使用APT安裝MySQL

    sudo apt-get -y install mysql-server
    

    這將安裝MySQL服務器的包,以及客戶端和數據庫公共文件的包。

    在安裝過程中,您需要為MySQL安裝的根用戶提供密碼。

    設置MySQL密碼
    設置MySQL密碼

  5. 啟動和關閉MySQL服務

    MySQL服務器在安裝后自動啟動。您可以使用以下命令檢查MySQL服務器的狀態:

    sudo systemctl status mysql
    

    如果操作系統啟用了systemd,則應該使用標準的systemctl(或者參數相反的服務)命令(如stop、start、status和restart)來管理MySQL服務器服務。默認情況下,mysql服務是啟用的,它在系統重新啟動時啟動。

    一些依賴于本地MySQL包的第三方本地存儲庫包可能無法與MySQL APT存儲庫包一起使用,

    不應與它們一起使用;其中包括akonadi后端mysql、handlersocket-mysql-5.5和zoneminder。

  6. 登錄MySQL

    mysql -uroot -p
    
  7. 修改密碼并設置訪問主機

    運行安全初始化腳本(交互式,按提示操作)

    本案例未使用該方法,可略過此步驟

    # 設置 root 密碼、刪除匿名用戶、禁止遠程 root 等,本案例未使用該方法,可略過此步驟
    # sudo mysql_secure_installation          
    

    使用SQL語句方式,本案例使用

    select host , user , plugin ,authentication_string from mysql.user;

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'lihaozhe';
    flush privileges;update mysql.user set host = '%' where user='root';
    flush privileges;quit;
    
    sudo systemctl restart mysql
    

4. 安裝 PHP 8.3 及常用擴展

sudo apt -y install php-fpm php-mysqlnd php-cli
sudo apt -y install php-{mbstring,zip,gd,curl,json,intl,bcmath,xml,opcache}
sudo systemctl enable --now php$(php -v | awk '/^PHP [0-9]/{print $2}' | cut -d. -f1,2)-fpm

下面把這兩條命令逐段、逐包拆開,告訴你“為什么要裝、裝了什么、不裝會怎樣”。

  1. php-fpm

    ? 全稱:PHP FastCGI Process Manager

    ? 作用:把 PHP 解釋器變成常駐進程,供 Nginx/Apache 通過 FastCGI 協議調用,比傳統 mod_php 省內存、易池化、易隔離。

    ? 不裝:Nginx 無法解析 .php,瀏覽器訪問直接下載源碼。

  2. php-mysql

    ? 作用:給 PHP 提供與 MySQL/MariaDB 通信的驅動(新版里實際是 php-mysqlnd)。

    ? 不裝:mysqli、PDO_MySQL 都不可用,程序連不上數據庫。

  3. php-cli

    ? 作用:命令行版 PHP。你在終端里敲 php -vcomposerartisandrush 之類都要用它。

    ? 不裝:無法離線跑 PHP 腳本、無法使用 Composer 等 CLI 工具。

逐個解釋:

擴展功能場景缺了會怎樣
mbstring多字節字符串(UTF-8/中文/日文/emoji)處理,正則、截取、大小寫轉換。出現亂碼、strlen 算錯字數、Laravel 直接報錯。
zip讀寫 .zip 壓縮包(WordPress/Composer 更新、備份)。無法解壓上傳的插件、無法生成備份。
gd圖片處理:縮略圖、加水印、驗證碼。無法調用 imagecreatefromjpeg() ,上傳頭像失敗。
curlHTTP 客戶端,訪問 API、抓取網頁。無法使用 Guzzle、無法請求微信/支付寶接口。
json編碼/解碼 JSON。與前端、第三方 API 交互失敗(現在已內置,但仍需顯式安裝)。
intlICU 國際化庫:格式化貨幣、日期、排序、轉換字符集。Laravel Carbon、Symfony Intl 直接拋異常。
bcmath任意精度數學計算,財務場景避免浮點誤差。金額計算出現 0.30000000000000004 之類問題。
xml解析 XML、RSS、SOAP、微信支付回調。無法使用 SimpleXML/DOMDocument。
opcache字節碼緩存,把編譯后的 PHP 腳本放內存,提速 2~5 倍。性能大幅下降,每次請求都重新編譯。

5. 配置時區

修改 /etc/php/8.3/fpm/php.ini 配置文件,添加以下內容:

date.timezone = Asia/Shanghai

重啟服務

sudo systemctl restart php8.3-fpm nginx

6. 安裝 phpMyAdmin

  1. 下載并解壓phpMyAdmin

    wget https://files.phpmyadmin.net/phpMyAdmin/5.2.2/phpMyAdmin-5.2.2-all-languages.zip
    unzip phpMyAdmin-5.2.2-all-languages.zip -d /usr/share
    mv /usr/share/phpMyAdmin-5.2.2-all-languages /usr/share/phpmyadmin
    
  2. 創建緩存模板文件的臨時目錄并授權

    mkdir /usr/share/phpmyadmin/tmp
    sudo chown -R www-data:www-data /usr/share/phpmyadmin/tmp/ 
    sudo chmod -R 755 /usr/share/phpmyadmin/tmp/
    
  3. 配置cookie加密密鑰

    cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php 
    

    打開 /usr/share/phpmyadmin/config.inc.php`文件,添加或修改以下配置:

    $cfg['blowfish_secret'] = '這里填隨機復雜字符串';

    示例:可生成 32 位隨機字符,如在線工具生成后替換,也可簡單寫(但越復雜越安全)

    比如:$cfg[‘blowfish_secret’] = ‘abcdefghijklmnopqrstuvwxyz123456’;

    $cfg['blowfish_secret'] = 'abcdefghijklmnopqrstuvwxyz123456';
    
  4. 創建獨立的 Nginx 虛擬主機

    創建并編寫 /etc/nginx/conf.d/phpmyadmin.conf 文件,內容如下:

    server {listen 33;# server_name _;                 # 如要域名訪問,把 _ 改成 phpmyadmin.example.comroot /usr/share/phpmyadmin;index index.php index.html;# 安全:禁止訪問 .ht* 隱藏文件location ~ /\.ht { deny all; }# 禁止訪問敏感目錄location ~ ^/(doc|sql|setup)/ { deny all; }# 處理 PHPlocation ~ \.php$ {include snippets/fastcgi-php.conf;# Ubuntu 24.04 默認 php-fpm sock 路徑,若版本不同請自行調整fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;}# 其余靜態文件location / {try_files $uri $uri/ =404;}
    }

    注意:云服務器廠商對80和8080常用web服務端口有限制故而監聽端口改成了33

  5. 重啟服務

    systemctl restart nginx php8.3-fpm
    
  6. 配置連接

    • 使用瀏覽器打開鏈接 http://服務器IP:33,見到如下界面:

    phpmyadmin_login

  • 使用數據庫賬號密碼登錄后進入主界面
    phpMyAdmin

    點擊查找原因

  • 創建一個名為’phpmyadmin’的數據庫,并在那里設置phpMyAdmin配置存儲。
    phpMyAdmin

    點擊創建
    phpMyAdmin

  • 重新訪問主頁
    phpMyAdmin

Zabbix

1. 下載 Zabbix

Zabbix下載:https://www.zabbix.com/cn/download

Zabbix

注意:根據實際情況選擇對應服務器系統版本、數據庫和web服務器選型后頁面下方會給出對應的安裝命令。

2. 成為 root 用戶

以 root 權限啟動新的 shell 會話。

sudo -s

3. 安裝 Zabbix 軟件倉庫

wget https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu24.04_all.deb
dpkg -i zabbix-release_latest_7.4+ubuntu24.04_all.deb
apt update

4. 安裝Zabbix server,Web前端,agent

apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

5. 創建初始數據庫

確保你的數據庫服務器已啟動并運行。

在數據庫主機上運行以下代碼。

mysql -uroot -p

輸入密碼后,在數據庫控制臺輸入如下SQL:

create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'zabbix';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;

SQL注釋:

-- 創建一個名為 zabbix 的數據庫,字符集使用 utf8mb4,排序規則使用 utf8mb4_bin(區分大小寫)
create database zabbix character set utf8mb4 collate utf8mb4_bin;-- 創建一個名為 zabbix 的本地用戶,密碼設置為 'zabbix'
create user zabbix@localhost identified by 'zabbix';-- 將 zabbix 數據庫的所有權限授予本地用戶 zabbix
grant all privileges on zabbix.* to zabbix@localhost;-- 設置全局變量,允許創建函數/存儲過程時不需要 SUPER 權限(Zabbix 安裝需要)
set global log_bin_trust_function_creators = 1;-- 退出 MySQL 客戶端
quit;

導入初始架構和數據,系統將提示您輸入新創建的密碼。

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

導入數據庫架構后,禁用 log_bin_trust_function_creators 選項。

mysql -uroot -p
set global log_bin_trust_function_creators = 0;
quit;

6. 為Zabbix server配置數據庫

編輯配置文件 /etc/zabbix/zabbix_server.conf

DBPassword=zabbix

7. 為Zabbix前端配置PHP

修改 /etc/php/8.3/fpm/php.ini 配置文件,添加以下內容設置默認時區:

date.timezone = Asia/Shanghai

編輯配置文件 /etc/zabbix/nginx.conf,取消注釋并設置 “listen” 和 “server_name” 指令。

# listen 8080;
# server_name example.com;

完整配置文件如下:

server {listen          88;
#        server_name     example.com;root    /usr/share/zabbix/ui;index   index.php;client_max_body_size 5m;location = /favicon.ico {log_not_found   off;}location / {try_files       $uri $uri/ =404;}location /assets {access_log      off;expires         10d;}location ~ /\.ht {deny            all;}location ~ /(api\/|conf[^\.]|include|locale) {deny            all;return          404;}location /vendor {deny            all;return          404;}location ~ [^/]\.php(/|$) {fastcgi_pass    unix:/var/run/php/zabbix.sock;fastcgi_split_path_info ^(.+\.php)(/.+)$;fastcgi_index   index.php;fastcgi_param   DOCUMENT_ROOT   /usr/share/zabbix/ui;fastcgi_param   SCRIPT_FILENAME /usr/share/zabbix/ui$fastcgi_script_name;fastcgi_param   PATH_TRANSLATED /usr/share/zabbix/ui$fastcgi_script_name;include fastcgi_params;fastcgi_param   QUERY_STRING    $query_string;fastcgi_param   REQUEST_METHOD  $request_method;fastcgi_param   CONTENT_TYPE    $content_type;fastcgi_param   CONTENT_LENGTH  $content_length;fastcgi_intercept_errors        on;fastcgi_ignore_client_abort     off;fastcgi_connect_timeout         60;fastcgi_send_timeout            180;fastcgi_read_timeout            180;fastcgi_buffer_size             128k;fastcgi_buffers                 4 256k;fastcgi_busy_buffers_size       256k;fastcgi_temp_file_write_size    256k;}
}

注意:云服務器廠商對80和8080常用web服務端口有限制故而監聽端口改成了88

8. 鏈接Zabbix配置文件到Nginx配置文件目錄

ln -sf /etc/zabbix/nginx.conf /etc/nginx/sites-enabled/zabbix.conf
systemctl restart zabbix-server zabbix-agent php8.3-fpm nginx
systemctl enable zabbix-server zabbix-agent php8.3-fpm nginx

9. 完整啟用中文支持

# =====================================================================
# A. 讓 Zabbix 前端界面支持“簡體中文(zh_CN)”
# =====================================================================# 1. 安裝操作系統級中文 locale(若已安裝可跳過)
sudo apt update
sudo apt install -y language-pack-zh-hans language-pack-zh-hans-base
sudo locale-gen zh_CN.UTF-8          # 生成 locale
sudo update-locale LANG=zh_CN.UTF-8  # 如需系統全局中文(可選)# 2. 下載官方中文語言文件(Zabbix 7.0 示例)
sudo mkdir -p /usr/share/zabbix/assets/i18n
sudo wget -q "https://git.zabbix.com/projects/ZBX/repos/zabbix/raw/ui/assets/i18n/zh_CN.json?at=refs%2Ftags%2F7.0.15" \-O /usr/share/zabbix/assets/i18n/zh_CN.json
sudo chmod 644 /usr/share/zabbix/assets/i18n/zh_CN.json# 3. 重啟 PHP-FPM + Nginx,使語言文件生效
sudo systemctl restart php8.3-fpm nginx# 4. 登錄 Web → 右上角用戶頭像 → User settings → Language
#    選擇 “Chinese (zh_CN)” → Update 即可看到中文界面
#    (若仍灰色不可選,請確認步驟 1-3 已生效并刷新瀏覽器緩存)# =====================================================================
# B. 讓 Zabbix 圖形中的中文(圖例、主機名)正常顯示
# =====================================================================# 5. 安裝開源中文字體(文泉驛正黑)
sudo apt install -y fonts-wqy-zenhei# 6. Ubuntu 包已提供“一鍵切換”腳本,最優雅做法:
# 6.1. 先用 ls 確認真實路徑(保險起見)
ls -l /usr/share/zabbix/ui/assets/fonts/graphfont.ttf
# 應該能看到該文件存在# 6.2. 用正確的“真實路徑”重新注冊替代
sudo update-alternatives --install \/usr/share/zabbix/ui/assets/fonts/graphfont.ttf \zabbix-frontend-font \/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc 20# 6.3. 立即切換默認字體(選擇 wqy-zenhei 的序號即可)
sudo update-alternatives --config zabbix-frontend-font
# 如果只有一個候選項,系統會直接提示“當前為自動模式”,無需額外操作# 6.4. 重啟相關服務使字體立即生效
sudo systemctl restart php8.3-fpm nginx# 7. 立即生效,無需手動替換文件
sudo systemctl restart php8.3-fpm nginx# 8. 打開任意監控圖形 → Ctrl+F5 強制刷新
#    中文圖例/主機名已可正常顯示# =====================================================================
# 附:如仍想手工替換字體(備選方案)
# =====================================================================
# sudo cp /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc \
#         /usr/share/zabbix/assets/fonts/graphfont.ttf
# sudo chown www-data:www-data /usr/share/zabbix/assets/fonts/graphfont.ttf
# sudo systemctl restart php8.3-fpm nginx

10. 初始化配置

使用瀏覽器打開鏈接 http://服務器IP:88,見到如下界面:
Zabbix

Default language 下拉列表選擇Chinese(zh_CN)
Zabbix
Zabbix

點擊下一步,檢查必要條件
Zabbix
點擊下一步,配置數據庫連接
Zabbix
輸入密碼后點擊下一步,Zabbix設置
Zabbix

填入Zabbix主機名稱后點擊下一步,安裝前匯總
Zabbix

點擊下一步,開始安裝
Zabbix

點擊完成,進入登錄頁面
Zabbix

11. 登錄

賬號:Admin

密碼:zabbix
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/919986.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/919986.shtml
英文地址,請注明出處:http://en.pswp.cn/news/919986.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【動手學深度學習】6.2. 圖像卷積

目錄6.2. 圖像卷積1)互相關運算2)卷積層3)圖像中目標的邊緣檢測4)學習卷積核5)互相關與卷積6)特征映射和感受野7)小結. 6.2. 圖像卷積 卷積神經網絡的設計是用于探索圖像數據,本節…

游戲引擎中的Billboard技術

一.視覺公告板為解決場景中Mesh網格面數過多問題,使用2D平面Mesh替換為3D平面Mesh的技術即為Billboard技術.常用于場景中植被,樹葉,粒子系統等對面數有要求的場景.二.Billboard著色器實現著色器輸入參數:攝像機坐標,網格坐標,攝像機觀察方向著色器輸出:實際2D平面隨視角不變

vue-admin-template權限管理

在基于 vue-admin-template 實現權限管理時,通常需要結合角色權限模型和動態路由機制,以滿足不同用戶角色對頁面訪問權限的控制需求。分為路由頁面權限和按鈕權限:下面是具體實現思路的思維導圖和具體代碼流程:0.實現邏輯思維導圖…

微信小程序,事件總線(Event Bus) 實現

1、util.js文件/*** 事件總線*/ function createEventBus() {// 私有事件存儲對象,通過閉包保持私有性const events {};return {/*** 監聽事件,只執行一次* param {string} eventName - 事件名稱* param {Function} callback - 回調函數*/once(eventNam…

OpenCV結構光三維重建類cv::structured_light::GrayCodePattern

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 cv::structured_light::GrayCodePattern 是 OpenCV 庫中用于結構光三維重建 的一個類,屬于 OpenCV 的 structured_light 模塊。 它用于…

變頻器實習DAY35 引腳電平測試 退耦電阻

目錄變頻器實習DAY35一、工作內容1.1 硬性平臺RO7測試二、學習內容2.1 退耦電阻核心原理:2大特性抑制干擾四大關鍵作用選型:4個核心參數典型應用場景四大常見誤區附學習參考網址歡迎大家有問題評論交流 (* ^ ω ^)變頻器實習DAY35 一、工作內容 1.1 硬性…

C++標準庫算法:從零基礎到精通

算法庫的核心理念與設計哲學 C標準庫算法的設計遵循著一個令人稱道的哲學:算法與容器的分離。這種設計并非偶然,而是經過深思熟慮的結果。傳統的面向對象設計可能會將排序功能綁定到特定的容器類中,但C標準庫卻選擇了一條更加優雅的道路——…

為什么存入數據庫的中文會變成亂碼

從產生、傳輸、處理到最終存儲的整個生命周期中采用統一且正確的字符集編碼。具體原因紛繁復雜,主要歸結為:客戶端操作系統或應用與數據庫服務端字符集編碼不一致、Web應用服務器到數據庫驅動的連接層編碼配置缺失或錯誤、數據庫本身及其表、字段各層級的…

13種常見機器學習算法面試總結(含問題與優質回答)

目錄 1. K近鄰(K-NN) 2. 線性回歸(一元/多元) 3. 邏輯回歸 4. 決策樹 5. 集成學習之隨機森林 6. 貝葉斯(樸素/高斯) 7. SVM(支持向量機) 8. K-means聚類 9. DBSCAN 10. TF-…

sfc_os!SfcValidateFileSignature函數分析之WINTRUST!SoftpubLoadMessage

第一部分:0: kd> kc# 00 WINTRUST!SoftpubLoadMessage 01 WINTRUST!_VerifyTrust 02 WINTRUST!WinVerifyTrust 03 sfc_os!SfcValidateFileSignature 04 sfc_os!SfcGetValidationData 05 sfc_os!SfcValidateDLL 06 sfc_os!SfcQueueValidationThread 07 kernel32!B…

python寫上位機并打包250824

1.python寫的串口上位機軟件程序 import serial import serial.tools.list_ports import tkinter as tk from tkinter import ttk, scrolledtext, messagebox, filedialog import threading import time from datetime import datetime class SerialPortAssistant: def init(se…

Wagtail CRX 簡介

Wagtail CRX(前身為 CodeRed CMS,由 CodeRed Corp 開發)是一個基于 Wagtail 的 CMS 擴展包,主要用于快速構建營銷型網站,提供預置組件和增強功能。最新版本為 5.0.1(發布于 2025 年 5 月 9 日)。…

docker compose 安裝zabbix 7

docker compose 安裝zabbix 7 1.環境 # hostnamectlStatic hostname: ky10Icon name: computer-vmChassis: vmMachine ID: f554764e21b74c2fa057d9aaa296af63Boot ID: 4c155f0185c24a14970ab5ea60de34f4Virtualization: vmwareOperating System: Kylin Linux Advanced Server…

EtherCAT的幾種郵箱通信介紹

1. COE(CANopen over EtherCAT)技術特點:直接復用 CANopen 的對象字典(Object Dictionary)機制,通過 EtherCAT 的郵箱通信實現非周期性數據交換,同時支持過程數據對象(PDO&#xff0…

【Java】springboot的自動配置

如果你用過 Spring Boot,一定對 “引入依賴就能用” 的體驗印象深刻 —— 加個spring-boot-starter-web就有了 Web 環境,這個是 SpringBoot 的自動裝配(Auto-Configuration)機制。自動裝配的核心注解自動裝配的邏輯看似復雜&#…

高通機型QPST平臺線刷教程 線刷全分區 只通過引導文件提取單分區 寫入單分區

高通芯片機型刷機平臺很多,除過一些廠家專用的平臺外。qpst是高通芯片類通用刷寫平臺。其操作簡單 可以刷寫完整固件。也可以通過單個引導文件來讀取 提取整個分區。而且包含讀寫基帶qcn等等的一些功能。 qpst工具下載 QPST 的不同版本可在多個開源平臺或技術論壇中…

ES_預處理

1. 預處理的核心概念:什么是 Ingest Pipeline? 想象一下數據進入 Elasticsearch 的旅程。原始數據(Raw Data)往往并不完美:格式可能混亂,字段可能缺失,或者需要被豐富和轉換后才能發揮最大的價值…

我從零開始學習C語言(15)- 基本類型 PART2

開始學習第七章其余部分。7.3.4 轉義序列正如在前面示例中見到的那樣,字符常量通常是用單引號括起來的單個字符。然而,一些特殊符號(比如換行符)是無法采用上述方式書寫的,因為它們不可見(非打印字符&#…

K8S的部署與常用管理

一、k8s的部署 1.1.集群環境初始化 1.1.1.所有主機禁用swap [rootk8s- ~]# systemctl mask dev-nvme0n1p3.swap [rootk8s- ~]# swapoff -a [rootk8s- ~]# systemctl status dev-nvme0n1p3.swap [rootk8s- ~]# vim /etc/fstab 內容: 注釋swap 1.1.2.安裝k8s部署工…

2025年機械工程與自動化技術國際會議(ICMEAT 2025)

2025年機械工程與自動化技術國際會議(ICMEAT 2025) 2025 International Conference on Mechanical Engineering and Automation Technology一、大會信息會議簡稱:ICMEAT 2025 大會地點:中國杭州 審稿通知:投稿后2-3日內…