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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
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安装页面,根据提示安装

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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
弹性计算 数据库 数据安全/隐私保护
阿里云服务器真香宝典之Calibre-Web个人图书馆云端部署
在阿里云ECS(2核2G,SSD40G,3M带宽)上,安装Ubuntu 22.04,然后配置Docker和FTP。创建 `/config` 和 `/books` 目录,设置权限,开放端口,拉取 `johngong/calibre-web` Docker镜像,以`calibre-web`命名容器,映射端口,配置环境变量,挂载卷,确保重启策略。本地安装Calibre客户端,上传metadata.db到服务器。在Calibre-web服务端配置数据库,启用上传权限,修改管理员账户信息。完成配置后,开始上传电子书并进行阅读。
83 2
阿里云服务器真香宝典之Calibre-Web个人图书馆云端部署
|
5天前
|
缓存 前端开发 JavaScript
现代Web开发中的前端性能优化策略
在当今快节奏的Web开发环境中,前端性能优化至关重要。本文探讨了一些实用的策略和技术,帮助开发人员提升网页加载速度和用户体验。
|
5天前
|
前端开发 JavaScript 数据管理
现代Web开发中的前端框架选择指南
选择合适的前端框架是现代Web开发中的关键决策之一。本文探讨了几种流行的前端框架,比较它们的特点和适用场景,帮助开发者在众多选项中做出理性的选择。
|
5天前
|
缓存 前端开发 JavaScript
现代Web开发中的前端性能优化策略
在当今快节奏的Web开发环境中,前端性能优化是确保用户体验和网站成功的关键。本文探讨了一些实用的前端性能优化策略,涵盖了从代码优化到资源加载的各个方面,帮助开发者有效提升网页加载速度和响应性能。
|
7天前
|
编解码 前端开发 JavaScript
现代Web开发中的前端技术趋势与挑战
随着互联网的迅猛发展,现代Web开发中前端技术正日益成为关注的焦点。本文探讨了当前前端技术的主要趋势和面临的挑战,从性能优化到跨平台适配,为开发者提供了深入的洞见和解决方案。
|
5天前
|
开发框架 JSON API
震撼发布!Python Web开发框架下的RESTful API设计全攻略,让数据交互更自由!
【7月更文挑战第22天】在Python Web开发中,设计高效的RESTful API涉及选择框架(如Flask或Django)、明确资源及使用HTTP方法(GET, POST, PUT, DELETE)来操作数据。响应格式通常是JSON,错误处理也很重要。示例展示了使用Flask创建图书管理API,包括版本控制、文档化、安全性和性能优化是最佳实践。这样的API使数据交互更顺畅。
26 2
|
2天前
|
JSON API 开发者
惊!Python Web开发新纪元,RESTful API设计竟能如此性感撩人?
【7月更文挑战第24天】在 Python Web 开发领域, RESTful API 设计成为一种艺术, 关注用户体验与开发者友好性。
21 7
|
3天前
|
JSON API 数据格式
深度剖析!Python Web 开发中 RESTful API 的每一个细节,你不可不知的秘密!
【7月更文挑战第23天】在Python Web开发中,RESTful API利用HTTP协议构建强大、灵活的应用。GET获取资源,如`/products/:id`;POST创建新资源;PUT更新;DELETE删除。正确使用状态码,如200、201、404、500,至关重要。JSON化数据与版本控制(如`/v1/products`)增强API实用性。认证(OAuth, JWT)保障安全性,而清晰的错误消息提升用户体验。掌握这些细节,方能设计出高性能、易用的RESTful API。
21 7
|
2天前
|
安全 IDE 测试技术
PHP 7新特性及其对现代Web开发的影响
【7月更文挑战第25天】在探索PHP最新版本的旅程中,我们将深入其核心,揭开PHP 7的新特性如何革新现代Web开发的神秘面纱。从性能优化到语法改进,本文将引导你领略PHP 7带来的变革,同时探讨这些变化如何影响开发者的日常编码实践和项目架构设计。
13 4
|
2天前
|
JSON API 数据库
从零到英雄?一篇文章带你搞定Python Web开发中的RESTful API实现!
【7月更文挑战第24天】在Python的Web开发领域,掌握RESTful API至关重要。利用Flask框架,可迅速搭建API,进行用户管理的CRUD操作。需先安装Flask (`pip install Flask`),然后定义路由处理GET、POST、PUT、DELETE请求,实现用户数据的检索、创建、更新和删除。
19 5

推荐镜像

更多