zabbix api 或者dashboard正常运行,需要运行php-fpm和httpd两个组件
systemctl start httpd
systemctl restart php72-php-fpm.service
/usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
/usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
1.php-fpm监听的sock(/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock)文件需要正确地配置到httpd配置文件中
- DocumentRoot /usr/share/zabbix是所有的静态文件需要放到这个路径,不然会404
3.Alias /zabbix "/usr/share/zabbix"相当于在uri中加了一个zabbix前缀
以下是Unix Socket 模式举例子:
#httpd 的zabbix.conf配置文件如下
[root@mysql03v es-ops]# cat /etc/httpd/conf.d/zabbix.conf
<VirtualHost *:80>
ServerName localhost
ServerAlias 127.0.0.1
DocumentRoot /usr/share/zabbix
Alias /zabbix "/usr/share/zabbix"
<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
# PHP 处理配置(根据实际 PHP-FPM 模式选择一种)
## 方案1:Unix Socket 模式(推荐)
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock|fcgi://localhost"
</FilesMatch>
## 方案2:TCP 端口模式(备用)
#<FilesMatch \.php$>
# SetHandler "proxy:fcgi://127.0.0.1:9000"
#</FilesMatch>
ErrorLog /var/log/httpd/zabbix_error.log
CustomLog /var/log/httpd/zabbix_access.log combined
</VirtualHost>
#php-fpm 配置文件如下
[root@mysql03v es-ops]# cat /etc/opt/remi/php72/php-fpm.d/zabbix.conf
[zabbix]
user = apache
group = apache
listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
listen.acl_users = apache
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
php_value[session.save_handler] = files
php_value[session.save_path] = /var/opt/rh/rh-php72/lib/php/session/
php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = Asia/Shanghai