• 前言

在学习LNMP环境下zabbix的安装部署的时候,遇到了各种奇葩坑,今天做个总结把这些坑一起埋一下。 先大体谈一下,如何确定问题原因。那就是查看nginx的错误日志和访问日志。日志的位置如下:/var/log/nginx/,access.log是访问日志,error.log是错误日志。接下来看看具体的坑。

  1. zabbix启动500错误

查看Nginx的日志,可以看到maintenance.inc.php无权限错误。
原因是PHP是由Nginx启动,/etc/zabbix/web目录所属组为apache
所以导致Nginx没有进入该目录的权限,修改一下所属主就好
chown nginx:nginx /etc/zabbix/web -R
  1. 点击下一步"Next step",不响应

一般情况下都是session无法保存,归根结底还是权限问题。
 Nginx启动无法访问 php session文件目录的权限,所以我们只需要添加响应既可。
# setfacl -R -m u:nginx:rwx /var/lib/php
  1. PHP检查需求Fail
这是因为PHP的设置与系统的需求不匹配,如我遇到的问题:如下
Minimum required size of PHP post is 16M (configuration option "post_max_size").
Minimum required limit on execution time of PHP scripts is 300 (configuration option "max_execution_time").
Minimum required limit on input parse time for PHP scripts is 300 (configuration option "max_input_time").
Time zone for PHP is not set (configuration parameter "date.timezone").
解决方法:只需要修改/etc/php.ini文件即可。根据官方要求修改对应的字段。
vim /etc/php.ini
post_max_size= 16M
max_execution_time= 300M
max_input_time= 300M
date.timezone= Asia/Shanghai

4.Nginx502错误

查看Nginx日志错误如下:
upstream sent too big header while reading response header from upstream
这句话翻译过来就是咱们的错误。需要修改配置文件
在/etc/nginx/conf.d/zabbix.conf中添加如下字段
fastcgi_buffer_size 128k;  
fastcgi_buffers 4 256k;  
fastcgi_busy_buffers_size 256k; 
或者在nginx配置文件的http段,加入以下字段
proxy_buffer_size  128k;  
proxy_buffers   32 32k;  
proxy_busy_buffers_size 128k; 

如图

  • 总结

欢迎指正,欢迎提供更优的方式!