Centos7上安装Zabbix6.0

1、先安装依赖,mysql,nginx,php

mysql安装,mysql版本要8.0及以上

# 下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
# 解压
tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
# 忽略依赖检查强制安装,因为捆绑包里已经带依赖了,所以只要全部安装就可以,检查的话分先后顺序很麻烦的
rpm -ivh mysql-community-*  --force --nodeps
# 创建数据存储目录,并授权
mkdir -p /data/mysql
chown mysql:mysql /data/mysql
# 修改配置文件
vim /etc/my.cnf

内容如下:
[mysqld]
datadir=/data/mysql #数据存储目录
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
port=3306
lower_case_table_names=1 #忽略表大小写
max_connections=500

# 先查看libaio包是否有安装(安装了则不用管,未安装可能出现启动失败却包的情况)
yum install libaio
# 开机自启动
systemctl enable mysqld
# 启动mysql
systemctl start mysqld
# 获取初始登录密码
cat /var/log/mysqld.log | grep password
# 登录mysql
mysql -uroot -p
# 修改root密码
alter user 'root'@'localhost' identified by '123456';

# 由于MySQL8.0 有密码验证组件,若希望设置简单的密码,需要修改服务验证条件
# 密码检查等级,0/LOW、1/MEDIUM、2/STRONG
set global validate_password.policy=0;
# 密码长度
set global validate_password.length=6;
# 密码至少要包含的小写字母个数和大写字母个数
set global validate_password.mixed_case_count=0;
# 创建zabbix库,指定编码格式
create database zabbix character set utf8 collate utf8_bin;
# 创建zabbix的sql用户
create user 'zabbix'@'localhost' identified with mysql_native_password by '123456';
# 赋权
grant all privileges on zabbix.* to 'zabbix'@'localhost';
# 刷新权限
flush privileges;
# 退出mysql操作
quit;

Nginx安装

# 安装或更新
rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.0-1.el7.ngx.x86_64.rpm
# 创建工作目录
mkdir /data/web
# 配置代理文件,先备份再直接修改默认文件
cp /etc/nginx/conf.d/default.conf  /etc/nginx/conf.d/default.conf.bak
vim /etc/nginx/conf.d/default.conf 
内容如下:
server {
 listen 80;
 server_name localhost;  # 默认使用localhost(如果使用域名,修改在本地hosts解析)
 root /data/web;          # 需要创建好该目录,否则报错Not Found
 location / {
   index index.php;
 }
 location ~ \.php$ {
   fastcgi_pass  127.0.0.1:9000;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME
  $document_root$fastcgi_script_name;
   include fastcgi_params;
 }
}

# 开机自启
systemctl  enable nginx
# 启动
systemctl start nginx

PHP 部署

# 替换镜像
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# php高版本的yum源地址,有两部分,其中一部分是epel-release,另外一部分来自webtatic。
# 如果跳过epel-release的话,安装webtatic的时候,会有错误爆出。
yum -y install epel-release
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

# 安装php7及其它依赖软件
yum -y install gcc gcc-c++ php72w-cli php72w-fpm php72w-gd php72w-mbstring php72w-bcmath php72w-xml php72w-ldap php72w-mysqlnd
# 创建php测试页
vim /data/web/index.php
内容:
<?php
phpinfo();
?>

# 开机自启
systemctl enable php-fpm
# 启动
systemctl start php-fpm

启动后即可在浏览器通过ip访问到测试页,如果访问失败,检查ip80端口是否开放

# 查看80端口
firewall-cmd --query-port=80/tcp
# 开启端口
firewall-cmd --add-port=80/tcp --permanent
# 重载
firewall-cmd --reload

2、zabbix安装

选择版本

看别人的资料说6.0在centos7系统只能通过source安装,所以到官网选择source安装,选择TLS长久维护版

Centos7上安装Zabbix6.0
# 下载安装包
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.13.tar.gz
# 解压
tar -zvxf zabbix-6.0.13.tar.gz

安装

#关闭SELinux安全策略
setenforce 0
# 创建用户组和用户
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
# 进入解压后的目录,进行编译
cd zabbix-6.0.13/
# 先安装依赖
yum -y install  mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel   libcurl-devel
# 编译
./configure --sysconfdir=/etc/zabbix --enable-server --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-openssl --with-ldap --with-libcurl --with-libpcre

make install之前,需要先修改一下源码。

zabbix-6.0.13/src/libs/zbxeval目录下,修改parse.c的391行misc.c的260行

将for(int i=……)改成int i;for(i=……)格式;

make install
# 修改配置文件
vim /etc/zabbix/zabbix_server.conf
主要修改123行,将数据库密码配置 DBPassword=123456


# 向数据库中导入zabbix的库表及数据(注意导入的顺序),数据库文件在解压后的目录下
mysql -uroot -p123456 zabbix < database/mysql/schema.sql
mysql -uroot -p123456 zabbix < database/mysql/image.sql
mysql -uroot -p123456 zabbix < database/mysql/data.sql

# 将前端文件复制到工作目录中,文件也是在解压目录下
cp -rp ui/* /data/web/

# 配置zabbix系统启停命令
vim /usr/lib/systemd/system/zabbix.service
内容如下:
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service
[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix
[Install]
WantedBy=multi-user.target

# 加载
systemctl daemon-reload
# 自启动
systemctl enable zabbix
# 启动
systemctl start zabbix

浏览器输入ip,进入zabbix安装页面,完成安装。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/8255

(0)
郭靖的头像郭靖
上一篇 2023年5月29日 下午5:25
下一篇 2023年6月8日 下午4:36

相关推荐

  • Linux系统之nethogs命令

    1.简介 NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是依照进程进行带宽分组。 NetHogs不需要依赖载入某个特殊的内核模块。 假如发生了网络堵塞你能够使用NetHogs立即看到哪个PID形成的这种情况。 这样就很容易找出哪个程序突然长时间占用你的带宽。 NetHogs是一个类似于Linux的top指令…

    2023年9月19日
    1.4K00
  • MySQL 用户管理和权限管理

    在项目中,一个数据库有很多人需要使用,不能所有的人都使用相同的权限,如果人比较多,一人一个用户也很难管理。一般来说,会分超级管理员权限,管理员权限,读写权限,只读权限等,这样方便管理。当然,具体怎么管理权限根据实际情况来确定。无论如何,都需要创建多个用户来管理权限。root 是数据库的超级管理员用户,对于普通开发人员来说,权限太大了,如果不小心做了一些不可逆…

    2022年6月9日
    2.0K00
  • Shell脚本——提取目录名和文件名

    在许多场景下,我们都需要对文件名称或者文件所在的目录进行操作,已达到我们业务目的。通常的操作是由路径中提取文件名,从路径中提取目录名,提取文件后缀等等一系列的操作。 一、${} 1.${var##*/} 2.${var##*.} 3.${var#*.} 4.${var%/*} 5.${var%%.*} 6.总结 其实 ${} 并不是专门为提取文件名或目录名的…

    2024年2月18日
    2.0K00
  • Hollywood – 给你的命令行加点魔法般的动画效果

    作为命令行的重度用户,你是否想让枯燥的终端界面来点生动有趣的元素?Hollywood来了!这是一个无比诙谐、小巧玲珑而又功能强大的动画效果命令行工具。 Hollywood可以为文本添加各种动画效果,让你的输出显示得像电影般生动活泼。它支持多种炫酷动画,并可深度自定义。本文将详细介绍Hollywood的安装使用、酷炫示例和高级技巧,让你快速上手,给终端加点魔力…

    2023年10月13日
    2.5K00
  • CentOS安装noVNC,以Web方式交付VNC远程连接

    什么是noVNC noVNC 是一个 HTML5 VNC 客户端,采用 HTML 5 WebSockets, Canvas 和 JavaScript 实现,noVNC 被普遍用在各大云计算、虚拟机控制面板中,比如 OpenStack Dashboard 和 OpenNebula Sunstone 都用的是 noVNC。 noVNC 采用 WebSockets…

    2024年5月8日
    1.9K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信