前言

zabbix安装时,官网是以apache作为web服务器的,大概是因为zabbix是php写成的,而php和apache搞基也不是一天两天的了。但是如果要使用nginx做反向代理的话,使用apache就不如直接使用nginx做web服务器来得快了。所以本文就简单介绍下如何使用LNMP来搭建zabbix服务器。 

 
废话不多说,我们start。

 

正文

同我上一篇LAMP的文章类似,我们需要准备基本的组件--nginx、mysql、php-fpm。下面我一个一个说。

 

LNMP环境准备

 

  1. nginx
    配好epel源,然后yum安装就可以。

    yum install -y epel-release
    yum install -y nginx
    

    然后编辑/etc/nginx/conf.d/zabbix.conf,输入:

    server {
        listen       8088;
        server_name  _;
        root /usr/share/zabbix;
    
        location / {
            index index.php index.html index.htm;
        }
    
        location ~ \.php$ {
            fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_param PHP_VALUE "
            max_execution_time = 300
            memory_limit = 128M
            post_max_size = 16M
            upload_max_filesize = 2M
            max_input_time = 300
            date.timezone = Asia/Shanghai
            always_populate_raw_post_data = -1
            ";
            fastcgi_buffers 8 256k;
            fastcgi_buffer_size 128k;
            fastcgi_intercept_errors on;
            fastcgi_busy_buffers_size 256k;
            fastcgi_temp_file_write_size 256k;
        }
    }
    

 
2. mysql
同样可以通过epel源来安装。

yum install yum-utils -y
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
rpm -ivh mysql80-community-release-el7-1.noarch.rpm	
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community	
sudo yum install mysql-community-server -y
setenforce 0
systemctl start mysqld

然后我在这里遇到了若干坑,有点乱,所以以后再填吧。先默认它起来了。

 
3. php-fpm
这个东西是个动态语言的解析器,是fastcgi标准的实现。类似于java的servlet和python的uWSGI。只有跑了这个东西,才可以去解析php的动态文件。

我们先安装php-fpm。

yum install -y php71 php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-bcmath

如果有报错,就使用--skip-broken参数跳过。

yum install -y php71 php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-bcmath --skip-broken

修改php-fpm配置文件/etc/php-fpm.d/www.conf

#指定php-fpm用户为nginx
user = nginx
group = nginx

#指明服务端口为本机9000端口
listen = 127.0.0.1:9000

#添加下列选项
listen = /var/run/php-fpm/php-fpm.sock
listen.mode = 0660
listen.owner = nginx
listen.group = nginx

​ 至此,准备工作完成。

 

安装zabbix

  1. 配置zabbix源并安装相关组件。

    rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
    yum install -y zabbix-server-mysql zabbix-proxy-mysql zabbix-web-mysql zabbix-server
    

 
2. 对zabbix-server的配置文件进行适当修改。

LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBName=zabbix
DBUser=zabbix
DBPassword=123456

 
3. 进入到mysql,建立zabbix库、zabbix用户,并赋予其响应权限。

mysql -uroot -p	
create database zabbix character set utf8 collate utf8_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY '123456';
ALTER USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL privileges ON zabbix.* TO 'zabbix'@'localhost';
flush privileges;

​ 然后退出。

 
4. 导入zabbix数据库。

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

​ 输入密码,等待完成。

 

  1. 运行zabbix-server

    systemctl start zabbix-server 
    systemctl enable zabbix-server
    

 
6. 启动php-fpm和nginx

systemctl enable --now nginx
systemctl enable --now php-fpm

 
7. 查看运行的socket文件,如果不存在,就要找到其路径,然后在/var/run/php-fpm/php-fpm.sock(配置文件中写的路径)做软链接到你所查询到的socket文件路径。

[root@ali-nginx zabbix]# ll /var/run/php-fpm/php-fpm.sock
srw-rw---- 1 nginx nginx 0 Mar 27 14:45 /var/run/php-fpm/php-fpm.sock  

 
8. 修改zabbix文件的权限,将其属主修改为zabbix

chown -R nginx:nginx /var/lib/php/session
chown -R nginx:nginx /etc/zabbix/web

 
9. 然后就可以通过ip:port形式来访问了。安装完毕之后,默认账号Admin, 密码zabbix。
 
 

注意:LNMP和LAMP最大的区别,就在于Nginx代替Apache做web服务器。所以,php、nginx、zabbix相关文件都应该设置nginx作为属主。

 

引用文章:https://blog.ansheng.me/article/install-and-configure-zabbix-on-centos.html

posted on 2020-03-27 18:09  eryoung2  阅读(198)  评论(0编辑  收藏  举报