zabbix_4.0部署篇之使用nginx实现web前端

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: zabbix_4.0部署篇之使用nginx实现web前端

一.部署基础lnmp环境


a.安装lnmp软件

yum  -y  install  nginx  mariadb-server  mariadb  php-fpm  php-mysql
# systemctl start mariadb.service ##启动数据库
# mysql_secure_installation   ##安全设置数据库
.. .. 根据提示设好数据库管理密码


b. 配置

[root@mysvr1 ~]# vim  /etc/nginx/nginx.conf   
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;
        index       index.php  index.html;  #//支持默认首页index.php
        include   /etc/nginx/default.d/*.conf;
        location  / {
       }
        location ~ \.php$ {  #//支持fastcgi,可参考 /etc/nginx/nginx.conf.default 文件
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;   #//注意修正这一行
        }
        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }


c. 起服务

[root@mysvr1 ~]# systemctl  restart  nginx  mariadb  php-fpm   #//启动LNMP组件
[root@mysvr1 ~]# systemctl  enable  nginx  mariadb  php-fpm   #//设开机自启


d. 测试

[root@mysvr1 ~]# vim  /usr/share/nginx/html/test.php  #//创建测试网页
<?php
$link = mysql_connect('localhost','root','密码');  #//测试数据库连接
if($link) echo 'Success!!';  #//如果成功,页面显示Success!!
else echo 'Failure';  #//如果失败,页面显示Failure!!
mysql_close();  #//关闭数据库连接
phpinfo();  #//列出PHP环境信息(5.4.16)
?>


++ 从浏览器访问 地址/ ,显示默认页

++ 从浏览器访问 地址/test.php ,显示 Success!! 及PHP环境


二.部署zabbix


官网部署方式官网跳转

本文档使用的4.0版本 ,其他版本按照官网部署即可。


a. Install Zabbix repository

# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
# yum clean all

b. 安装Zabbix server,Web前端,agent

# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

c. 创建初始数据库

前提:

确保数据库服务器已经启动并运行

在数据库主机上运行以下代码。

# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'zabbix';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;


导入初始架构和数据,系统将提示您输入新创建的密码。

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

d. 为Zabbix server配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=password


e. 为Zabbix前端配置PHP

编辑配置文件 /etc/httpd/conf.d/zabbix.conf, uncomment and set the right timezone for you.
# php_value date.timezone Asia/Shanghai


f. 启动Zabbix server和agent进程

启动Zabbix server和agent进程,并为它们设置开机自启:
# systemctl restart zabbix-server zabbix-agent httpd
# systemctl enable zabbix-server zabbix-agent httpd


三.部署nginx-zabbix前端


a. 配置Nginx和PHP

调整nginx设置,使用 /usr/share/zabbix 作为Web目录

++ 增加 fastcgi 调用的缓存设置,否则安装页面在连数据时可能会无法访问

++ 网页提示 File not found,在/var/log/nginx/error.log日志提示upstream sent too big header

# vim  /etc/nginx/nginx.conf
   server {
        listen       80 default_server;
        .. ..
        root         /usr/share/zabbix;   #//设置zabbix套件Web目录
        index       index.php  index.html;  #//支持默认首页index.php
        location  / {
       }
        location ~ \.php$ {  #//支持fastcgi,可参考 /etc/nginx/nginx.conf.default 文件
            fastcgi_buffer_size 128k;  #//增加此行
            fastcgi_buffers 32 32k;  #//增加此行
            # root           html;  #//此行注释掉(用上面的/usr/share/zabbix目录)
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }
   }
[root@mysvr1 ~]# systemctl  restart  nginx   #//重启nginx服务


b. 调整 php.ini 参数

修改以下配置,vim命令行模式 /键搜索关键字

[root@mysvr1 ~]# vim  /etc/php.ini
.. ..
memory_limit = 128M
post_max_size = 16M
max_input_time = 300
max_execution_time = 300
.. ..
[root@mysvr1 ~]# systemctl  restart  php-fpm   #//重启php-fpm服务


c. 配置、启动zabbix主控端服务

[root@mysvr1 ~]# vim  /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=数据库密码
[root@mysvr1 ~]# systemctl  enable  zabbix-server  --now


d. 配置、启动zabbix被控端服务

++ 如果本机也需要被监控的话
[root@mysvr1 ~]# vim  /etc/zabbix/zabbix_agent.conf
DBName=zabbix
DBUser=zabbix
DBPassword=数据库密码
[root@mysvr1 ~]# systemctl  enable  zabbix-server  --now
[root@mysvr1 ~]# systemctl  enable  zabbix-agent  --now


e. 配置zabbix网页系统

++ 浏览器访问 地址/ ,可以看到zabbix安装页面,根据提示安装

++ 如果报错,请检查前面的配置是否正确

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
58 3
|
1月前
|
前端开发 JavaScript
探索现代Web应用的微前端架构
【10月更文挑战第40天】在数字时代的浪潮中,Web应用的发展日益复杂多变。微前端架构作为一种新兴的设计理念,正逐步改变着传统的单一前端开发模式。本文将深入探讨微前端的核心概念、实现原理及其在实际项目中的应用,同时通过一个简单的代码示例,揭示如何将一个庞大的前端工程拆分成小而美的模块,进而提升项目的可维护性、可扩展性和开发效率。
|
23天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
32 6
|
1月前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
1月前
|
消息中间件 前端开发 JavaScript
探索微前端架构:构建现代Web应用的新策略
本文探讨了微前端架构的概念、优势及实施策略,旨在解决传统单体应用难以快速迭代和团队协作的问题。微前端允许不同团队独立开发、部署应用的各部分,提升灵活性与可维护性。文中还讨论了技术栈灵活性、独立部署、团队自治等优势,并提出了定义清晰接口、使用Web组件、状态管理和样式隔离等实施策略。
|
1月前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
1月前
|
前端开发 安全 应用服务中间件
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第26天】随着互联网的快速发展,前端性能调优成为开发者的重要任务。本文探讨了HTTP/2与HTTPS在前端性能优化中的应用,介绍了二进制分帧、多路复用和服务器推送等特性,并通过Nginx配置示例展示了如何启用HTTP/2和HTTPS,以提升Web应用的性能和安全性。
37 3
|
2月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
159 3
|
1月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
172 45
|
16天前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南

推荐镜像

更多
下一篇
DataWorks