7oi76i 发表于 2016-7-12 09:07:23

ubuntu 14.10安装zabbix(lnmp环境)


   今天折腾了好一阵,终于在lnmp环境下装好了zabbix。激动的我眼泪都流出来几滴,总结一下碰到的问题

安装 lnmp环境和zabbix的过程我就不多说,网上很多,我就是参照:

https://github.com/itnihao/zabbix-book/blob/master/03-chapter/zabbix_install_on_ubuntu.md

不过上面介绍的是lamp环境下安装zabbix。其实也没差多少,就是将apache换成nginx(为apt-get安装)。但问题往往就出现在这里。

在上面安装步骤中,有一步是拷贝配置文件到apache的site-enable目录夹下,指令为:


#sudo cp /usr/share/doc/zabbix-frontend-php/examples/apache.conf /etc/apache2/sites-enabled/apache.conf


由于我这边是nginx当然就不能这么操作了。索性我发现在examples目录下还有一个nginx.conf文件,内容如下





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
location /zabbix {
      if ($scheme ~ ^http:){
            rewrite ^(.*)$https://$host$1 permanent;
      }
      alias                   /usr/share/zabbix;
      index                   index.php;
      error_page            403 404 502 503 504/zabbix/index.php;
      location ~ \.php$ {
                if (!-f $request_filename) { return 404; }
                expires               epoch;
                include               /etc/nginx/fastcgi_params;
                fastcgi_index   index.php;
                fastcgi_pass    unix:/var/run/php5-fpm.sock;
    }
      location ~ \.(jpg|jpeg|gif|png|ico)$ {
                access_log      off;
                expires         33d;
      }
}





然后我就将这段内容复制粘贴到了/etc/nginx/sites-enabled/default的server中去:





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
server {
      listen 80 default_server;
#       listen [::]:80 default_server ipv6only=on;
      index index.html index.htm index.php;
      # Make site accessible from http://localhost/         server_name localhost;
      location / {
                root /usr/share/nginx/html;
                try_files $uri $uri/ =404;
      }
      location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
                include fastcgi_params;
      }
      location /zabbix {
                if ($scheme ~ ^http:){
                  rewrite ^(.*)$https://$host$1 permanent;
               }
                alias                   /usr/share/zabbix;
                index                   index.php;
                error_page            403 404 502 503 504/zabbix/index.php;
                location ~ \.php$ {
                        if (!-f $request_filename) { return 404; }
                        expires               epoch;
                        include               /etc/nginx/fastcgi_params;
                        fastcgi_index   index.php;
                        <span style="color:#FF0000;">fastcgi_paramSCRIPT_FILENAME       /usr/share$fastcgi_script_name;</span>
                        fastcgi_pass    unix:/var/run/php5-fpm.sock;
                }
                location ~ \.(jpg|jpeg|gif|png|ico)$ {
                        access_log      off;
                        expires         33d;
                }
      }
}






尤其注意红色部分,是原配置中没有的,而且通过apt-get安装了zabbix-frontend-php之后,网页文件全部都放在/usr/share/zabbix下。不然的话当你通过网页访问zabbix的时候,将会看到一片雪白,或者404。今天大部分时间都是栽这里

了,要谨慎。



此外还有可能碰到的一个问题就是连不上mysql。可以对比一下my.cnf和zabbix_server.conf文件中关于mysqld.soct文件的位置是否一致。

在zabbix_server.conf中默认的位置为:


DBSocket=/var/run/mysqld/mysqld.sock



my.cnf中为:




port            = 3306
socket          = /var/run/mysqld/mysqld.sock



改成一样就行了。


最后还有要注意的就是/etc/service文件。刚开始的时候使用netstat -ltnp | grep :10051 总是监控不到动静,后来想起在lamp下搭建zabbix的时候需要将

zabbix-agent   10050/tcp         # zabbix agent
zabbix-agent    10050/udp      # zabbux agent
zabbix-trapper    10051/tcp      # zabbix trapper
zabbix-trapper    10051/udp      # zabbix trapper



写到/etc/service文件中去,有的帖子上说,不加也没问题。官方文档上是默认添加的,而且这可能也是到时页面空白的原因之一。
页: [1]
查看完整版本: ubuntu 14.10安装zabbix(lnmp环境)