一、添加Zabbix存储库

1.安装存储库配置包。

rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

2.在将运行Zabbix前端的系统中启用可选rpms的存储库

yum-config-manager --enable rhel-7-server-optional-rpms

3.安装支持MySQL的Zabbix服务

yum install zabbix-server-mysql

4.安装支持MySQL的Zabbix前端

yum install zabbix-web-mysql

二、安装MySQL5.7数据库

1.卸载mariadb包

rpm -qa |grep mariadb    #查看当前安装的mariadb的包
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64 #卸载mariadb的包

2.下载并解压MySQL源码包

wget https://dev.mysql.com/get/archives/mysql-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz  #从官网下载源码包
tar -xzvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz #解压源码包
mv mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql

3.创建MySQL用户并对MySQL文件进行授权

groupadd mysql                   --创建mysql用户组组
useradd -r -g mysql mysql --创建mysql用户并添加到mysql用户组中
chown -R mysql.mysql mysql/ --将mysql目录访问权限赋为myql用户

4.创建MySQL配置文件

cat >>/etc/my.cnf  <<EOF     #写入配置文件
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#不区分大小写
lower_case_table_names = 1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections=5000
default-time_zone = '+8:00'
EOF

5.初始化数据库

touch /var/log/mysqld.log    #创建日志文件并授权
chmod 777 /var/log/mysqld.log
chown mysql.mysql mysqld.log
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

6.查看初始化密码

cat /var/log/mysqld.log|grep root@localhost

7.执行如下操作开启MySQL服务,并设置相应权限

mkdir /var/run/mysqld
touch /var/run/mysqld/mysqld.pid
chmod -R 777 /var/run/mysqld
chown -R mysql.mysql /var/run/mysqld
/usr/local/mysql/support-files/mysql.server start #启动MySQL

8.修改MySQL密码

vim /etc/my.cnf   #修改配置文件
skip-grant-tables #跳过密码认证
default_password_lifetime=360 #修改密码超时时间
不然修改密码之后密码会过期,会提示让你重新设置密码
You must reset your password using ALTER USER statement before executing this statement.
/usr/local/mysql/bin/mysql -uroot -p #登录MySQL
use mysql #切换MySql数据库
update mysql.user set authentication_string =password('root'), host = '%' where user = 'root'; #修改MySQL密码
flush privileges;

9.将MySQL加入环境变量

echo 'PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile      #将MySQL二进制文件加入环境变量
ln -s usr/local/mysql/support-files/mysql.server /usr/local/mysql/bin/ 将MySQL的启动文件软连接到MySQL的环境变量中

10.进入数据库并创建zabbix数据库以及创建授权用户

mysql>  create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flush privileges;

11.编辑zabbix-server配置文件,修改以下参数为创建数据库时的信息,并重启zabbix-server

vim /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBHost=192.168.179.132
DBUser=zabbix
DBPassword=zabbix

创建pid文件

touch /var/run/zabbix/zabbix_server.pid
chmod 777 /var/run/zabbix/zabbix_server.pid

启动zabbix-server

systemctl enable zabbix-server
systemctl start zabbix-server

12.将初始数据导入MySQL中

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

三、安装Nginx

1.关掉防火墙和selinux

systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disable/g' /etc/selinux/config

2.安装依赖

yum -y install wget vim lsof lrzsz pcre-devel zlib-devel make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel libmcrypt libmcrypt-devel mcrypt mhash net-snmp-devel
yum -y install gcc bison bison-devel openssl-devel readline-devel libedit-devel sqlite-devel freetype freetype-devel libevent-devel mysql-devel

3.配置Nginx的yum仓库

cat >>/etc/yum.repos.d/nginx.repo <<EOF
[nginx]
name=nginx.repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
skip_if_unavailable = 1
keepcache = 0
EOF

4.安装并启动Nginx

yum install nginx -y
systemctl start nginx
systemctl enable nginx

四、安装PHP

1.添加PHP用户

useradd -s /sbin/nologin php-fpm

2.安装PHP依赖库

yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

3.编译安装php

wget http://mirrors.sohu.com/php/php-7.2.6.tar.gz
tar zxvf php-7.2.6.tar.gz
cd php-7.2.6
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --disable-ipv6 --with-pear --with-curl --enable-bcmath --enable-mbstring --enable-sockets --with-gd --with-libxml-dir=/usr/local --with-gettext
make && make install
echo $? #每执行完上条命令就运行一下,如果返回0,则执行成功
cp php.ini-production /usr/local/php/etc/php.ini

4.更改PHP配置文件

sed -i 's/post_max_size = 8M/post_max_size = 32M/g' /usr/local/php/etc/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /usr/local/php/etc/php.ini
sed -i 's/;date.timezone =/date.timezone =PRC/' /usr/local/php/etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 600/g' /usr/local/php/etc/php.ini
sed -i 's/max_input_time = 60/max_input_time = 600/g' /usr/local/php/etc/php.ini
sed -i 's/memory_limit = 128M/memory_limit = 256M/g' /usr/local/php/etc/php.ini
sed -i 's/; max_input_vars = 1000/max_input_vars = 10000/g' /usr/local/php/etc/php.ini

5.启动php-fpm

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf

五、安装zabbix-agent

yum install zabbix-agent
vim /etc/zabbix/zabbix-agentd.conf

Server和ServerActive分别代表zabbix的被动模式和主动模式,这里都填server端的IP
最后一行是开启脚本采集数据

六、安装zabbix-web

1.将zabbix的php源文件拷贝到网站目录上

cp -r /usr/share/zabbix/.* /usr/share/nginx/html/

2.修改nginx配置

egrep -v '(^.*#|^$)' /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name 192.168.179.133;
access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
location /zabbix {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}

3.授予zabbix-web目录权限并重启nginx

chmod -R 777 /etc/zabbix/web.
chmod -R 777 /usr/share/nginx/html/zabbix
systemctl restart nginx

4.在浏览器上访问192.168.179.133/zabbix开始安装zabbix-web

七、升级zabbix

1.停止zabbix-server和zabbix-proxy

由于我是本地测试环境,没装proxy,所以只停server

systemctl stop zabbix-server

2.备份4.0配置数据

mysqldump -uzabbix -p --single-transaction --master-data=2 --databases zabbix > olddata.sql

3.更新存储库配置包

rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

4.升级Zabbix组件

yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent

5.启动Zabbix-server进程

systemctl start zabbix-server

6.授予zabbix-web权限

chmod 777 -R /etc/zabbic/web

7.将生成的前端文件放在网站目录下

当时这里做了三次才想到,之前一直以为是数据库的问题,后来一想数据库是4020000,而前端是4000000,说明数据库是4.2的了,有问题的应该是前端,又想到前端已经生成好了,只不过没拷贝到网站目录下而已

cp -r /usr/share/zabbix/.* /usr/share/nginx/html/

至此,zabbix4.0升级到4.2完成

zabbbix4.0升级到4.2的更多相关文章

  1. jackson2.5.0升级到2.7.0

    开发环境:spring-mvc4.1.7.jackson2.7.0 问题描述:项目中将原来的jackson2.5.0升级到2.7.0,导致服务调用出错. mvc相关的配置文件如下: <?xml ...

  2. 系统补丁更新导致MVC3.0.0升级到3.0.1的问题解决

    在更新了系统补丁之后,会不知觉的将MVC3.0.0升级到MVC3.0.1的问题,解决的思路如下: 1.全部MVC引用使用NuGet进行包的管理. 2.单独把MVC库抽离出来,然后放在单独的项目文件夹, ...

  3. 李洪强iOS开发之-环信02.1_环信 SDK 2.x到3.0升级文档

    李洪强iOS开发之-环信02.1_环信 SDK 2.x到3.0升级文档 SDK 2.x 至 3.0 升级指南 环信 SDK 3.0 升级文档 3.0 中的核心类为 EMClient 类,通过 EMCl ...

  4. UiAutomator2.0升级填坑记

    UiAutomator2.0升级填坑记 SkySeraph May. 28th 2017 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.sk ...

  5. linux内核升级(ubuntu12.04从3.13.0升级到3.4.0 )

    花了一天的时间,终于把ubuntu12.04 的linux内核版本从3.13.0升级到3.4.0 升级后,系统更加稳定.具体步骤:# wget http://www.kernel.org/pub/li ...

  6. Spring Boot 2.0 升级指南

    Spring Boot 2.0 升级指南 前言 Spring Boot已经发布2.0有5个月多,多了很多新特性,一些坑也慢慢被填上,最近有空,就把项目中Spring Boot 版本做了升级,顺便整理下 ...

  7. TL-WAR1200L V1.0升级软件20170609

         TL-WAR1200L_V1.0升级软件20170609.part1.rar  TL-WAR1200L_V1.0升级软件20170609.part2.rar TP-LINK WVR& ...

  8. Caffe使用: Ubuntu 14.04(x64) 从cuda 7.0 升级到 cuda8.0

    由于之前已经在Ubuntu 14.04 x64上面安装cuda7.0+caffe, 并且已经配置好,caffe也已经跑通. 但是最近需要使用Torch,而Torch对cuda的要求是8.0,因此决定对 ...

  9. FileProvider N 7.0 升级 安装APK 选择文件 拍照 临时权限 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

随机推荐

  1. 运行级别(init)

    一.运行级别(查看:cat /etc/inittab) 级别: 0:关机 1:服务器出问题(单用户状态) 2:无NFS的多用户模式 3:完整的多用户模式 4:无保留无使用 5:桌面模式 6:重新启动 ...

  2. Zend 官方框架增加 Swoole 协程支持 !

    前言 Zend Framework 是 PHP 的官方框架,随着 Zend-Expressive-Swoole 0.2.2 的发布,率先支持了 Swoole 4 的协程功能,现在可以仅通过一个配置即可 ...

  3. ORM框架 SQLAlchemy

    什么是ORM 使用关系对象映射进行数据库操作. 将对象转换成SQL,然后使用数据API执行SQL并获取执行结果. 分类 -DB first 手动创建数据库和表,自动生成类 -code first 手动 ...

  4. python开发项目:学生选课系统

    程序要求:1.创建北京.上海两所学校(分析:通过学校类实例化两个学校实例) 2.创建Linux.python.go三个课程,Linux\go在北京开,Linux在上海开(创建Linux.python. ...

  5. 【Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) A】 Doggo Recoloring

    [链接] 我是链接,点我呀:) [题意] 你可以把出现次数大于1的颜色换成其他颜色. 问你最后能不能全都变成同一种颜色 [题解] 判断一下有没有出现次数大于1的就好. 有的话.显然可以一直用它变颜色. ...

  6. 【hihocoder 1032】最长回文子串

    [题目链接]:http://hihocoder.com/problemset/problem/1032 [题意] [题解] 原文地址:https://segmentfault.com/a/119000 ...

  7. 计算机-禁止USB服务

    接到一个任务,禁止集团内所有电脑的USB接口进行文件拷贝,但不能妨碍打印机.鼠标键盘.扫描仪.加密狗等等一切需要USB接口工作的外部设备. 纠结了,这不摆明了让我蛋疼吗? 不过,疼归疼,办法总是要想滴 ...

  8. Core Dataeasy出现的错误

    1.2015-08-24 15:52:17.674 Tasks[3189:144763] CoreData: error: -addPersistentStoreWithType:SQLite con ...

  9. emacs使用本地emacs server模式打开远程文件

    使用emacs的用户都知道,一般要打开远程机器上的文件要使用TrampMode模式,调用方式例如以下: C-x C-f /remotehost:filename RET (or /method:use ...

  10. P1233 木棍加工

    P1233 木棍加工 题目描述 一堆木头棍子共有n根,每根棍子的长度和宽度都是已知的.棍子可以被一台机器一个接一个地加工.机器处理一根棍子之前需要准备时间.准备时间是这样定义的: 第一根棍子的准备时间 ...