今天折騰了好一陣,終於在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文件,內容以下
php
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中去:
html
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_param SCRIPT_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中爲:
[client]
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文件中去,有的帖子上說,不加也沒問題。官方文檔上是默認添加的,並且這可能也是到時頁面空白的緣由之一。
mysql