centos7 配置 zabbix 3 & apache , nginx 与php, mysql 的交互(基本)

  • A+
所属分类:linux技术
摘要

#yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-server-mysql-3.0.0-1.el7.x86_64.rpm

#yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-server-mysql-3.0.0-1.el7.x86_64.rpm

yum install -y  https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-get-3.0.0-1.el7.x86_64.rpm

 

yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-web-mysql-3.0.0-1.el7.noarch.rpm

 

yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.0-1.el7.x86_64.rpm

yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-sender-3.0.0-1.el7.x86_64.rpm

 

zabbix 4

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

如果不能安装可以使用wget命令先下载RPM包在安装。

安装Zabbbix相关的MySQL组件,web组件和代理组件:

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

 

由于zabbix-server-mysql-3.0.0-1安装缺少依赖包的报错依赖

解决fping

yum -y install epel-release 仍然可以下载 3x

 

解决 libiksemel.so.3()(64bit)

yum -y install http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

 

创建zabbix用户 mysqkl

发生mysql1558错误_mysql删除用户错误ERROR 1558解决办法

ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 43, found 42. Created with MySQL 50560, now running 50645. Please use mysql_upgrade to fix this error.

意思是数据库以前做过升级但是数据库里的mysql库没有升级导致的权限混乱

升级数据库命令  mysql_upgrade -u root -p ‘密码

然后进入到root

create database zabbix character set utf8 collate utf8_bin; //zabbix

CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';

grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';

vi /etc/zabbix/zabbix_server.conf

修改如下

 centos7 配置 zabbix 3 & apache , nginx 与php, mysql 的交互(基本)

 

 

 

注:此处创建分三种用户:

1.localhost:只可以本地登录,不可以远程登录

2.%:本地登录、远程登录都可以

3.ip地址:只可以限定的IP登录                                                                                                                                                                                                                                                       

导入数据库文件

zcat /usr/share/doc/zabbix-server-mysql-3.0.0.0/create.sql.gz | mysql -u zabbix -p //create.sql 数据库文件导入到zabbix数据库

如果出现

centos7 配置 zabbix 3 & apache , nginx 与php, mysql 的交互(基本)

 

 

 

在第一行加上 use zabbix;

 centos7 配置 zabbix 3 & apache , nginx 与php, mysql 的交互(基本)

 

 

 

mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-3.0.0.0/create.sql

 centos7 配置 zabbix 3 & apache , nginx 与php, mysql 的交互(基本)

 

 

 

我看来网上很多教程

systemctl restart zabbix-server zabbix-agent httpd

systemctl enable zabbix-server zabbix-agent httpd 开机自启

后,浏览器输入http://服务器ip/zabbix/setup.php   就行了

他们都忘了说,web目录:/usr/share/zabbix

我查看了一下zabbix的配置文件: /etc/zabbix/zabbix_server.conf  /etc/zabbix/zabbix_agentd.conf

没有发现与/usr/share/zabbix目录有关的配置,所以/usr/share/zabbix 是独立的,可以移到/var/www/html

apache: cp -r /usr/share/zabbix  /var/www/html/

nginx: cp -r /usr/share/zabbix  /usr/local/nginx/html/

centos7 配置 zabbix 3 & apache , nginx 与php, mysql 的交互(基本)

 

 

 centos7 配置 zabbix 3 & apache , nginx 与php, mysql 的交互(基本)

 

 

 

发现有fail , 要修改一下php.ini 和配置一下时区

vi /etc/php.ini

修改为如下

post_max_size = 16M

max_execution_time = 300

max_input_time = 300

date.timezone = Asia/Shanghai

 

apache: systemctl restart hpptd

nginx: systemctl restart php-fpm

修改php.ini后,重启对应服务接口就好了

centos7 配置 zabbix 3 & apache , nginx 与php, mysql 的交互(基本)

 

 centos7 配置 zabbix 3 & apache , nginx 与php, mysql 的交互(基本)

 

 centos7 配置 zabbix 3 & apache , nginx 与php, mysql 的交互(基本)

 

 centos7 配置 zabbix 3 & apache , nginx 与php, mysql 的交互(基本)

 

 

出现这个问题,研究了好久,一晚上+上午。。。

 

 

selinux的问题,它要关掉

详情见:

https://www.cnblogs.com/CloudComputing-binbin/p/14618531.html

 

 

 

 

 

 

phpnginx 交互

 

取消掉注释

/scripts 修改为 $document_root

同时修改

 

添加index.php 系统没有自己给,要自己加上该文件

./nginx -s reload

安装php-fpm php-fpm 是为了nginx能够解析php文件所需要的,apache不需要这个

yum install php-fpm

systemctl start php-fpm

 

查看mysql用户的权限

show grants for root@localhost;  //username@ip地址

 

all privileges 包含的权限如下:

 

on *.* 表示数据库的所有文件   with grant option   能将自己的权限授权给其他人

root具有对mysql所有文件的所有操作,并且还可以授权

grant proxy on ''@'' to 'root'@'localhost' with grant option

授权代理

''@'' 意思是root授权代理了所有用户和主机的权限

可以通过grant proxy on will_dba to will;  will_dba用户的权限代理给will,哪怕will没有该权限

详情请看:https://www.jb51.net/article/119142.htm

 

usage 是无权限的意思,在新创建的用户中是没有权限的

第二句是后来用root 授权给zabbix用户的

对所有zabbix文件名的用户有所有操作

 

apache php连接mysql  nginx php连接Mysql

apache 本地连接不用设置什么,端口也不用开

<?php

$link=mysql_connect("localhost","zabbix","zabbix");

if(!$link){

echo "error!";

die("could not connect:".mysql-error());

}

phpinfo();

?>

注:在phplocalhost 127.0.0.1是有区别的

 

 

参考:

centos7安装部署zabbix3.0  https://blog.51cto.com/afterdawn/1923359

https://www.cnblogs.com/opsprobe/p/10617500.html

zabbix-server-mysql安装缺少依赖包的报错问题  https://blog.csdn.net/weixin_30653097/article/details/96380270

mysql1558错误_mysql删除用户错误   https://blog.csdn.net/weixin_36265665/article/details/113295869

新用户授权 https://blog.csdn.net/qinzaoxiaozhu/article/details/110532583

phpnginx交互 https://blog.csdn.net/weixin_42671399/article/details/96588488

 

 

 

各软件默认安装路径:

 

apache:

 

如果采用RPM包安装,安装路径应在 /etc/httpd目录下

apache配置文件:/etc/httpd/conf/httpd.conf

Apache模块路径:/usr/sbin/apachectl

web目录:/var/www/html

如果采用源代码安装,一般默认安装在/usr/local/apache2目录下

 

PHP:

如果采用RPM包安装,安装路径应在 /etc/目录下

php的配置文件:/etc/php.ini

如果采用源代码安装,一般默认安装在/usr/local/lib目录下

php配置文件: /usr/local/lib/php.ini

/usr/local/php/etc/php.ini

修改php.ini后,apache通过重启http服务生效,nginx通过重启php.fpm nginx

 

MySQL:

如果采用RPM包安装,安装路径应在/usr/share/mysql目录下

mysqldump文件位置:/usr/bin/mysqldump

mysqli配置文件:

/etc/my.cnf/usr/share/mysql/my.cnf

mysql数据目录在/var/lib/mysql目录下

如果采用源代码安装,一般默认安装在/usr/local/mysql目录下

 

Nginx

配置文件:/usr/local/nginx 这目录是自己选择安装的地方

 

zabbix

zabbix.server-mysql* : /usr/share/doc/zabbix-server-mysql*
zabbix-server 日志: /var/log/zabbix/zabbix_server.log

zabbix-server web目录:/usr/share/zabbix

 

 

 /var/log/php-fpm/error.log

 

 

vi 全选删除

gg 进入到第一行

dG  全部内容删除