安装zabbix 5.0
Posted 雅冰石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装zabbix 5.0相关的知识,希望对你有一定的参考价值。
一 实验环境
ip | 部署组件 | 备注 |
192.168.144.251 | php版本必须是7.2.0以上 |
二 实验步骤
#先将所有安装包上传到/opt下:
#解压
tar zxf nginx-1.14.0.tar.gz -C /usr/local/src/
tar zxf zlib-1.2.11.tar.gz -C /usr/local/src/
tar zxf openssl-1.0.2k.tar.gz -C /usr/local/src/
tar zxf ngx_devel_kit-0.3.1rc1.tar.gz -C /usr/local/src/
tar zxf lua-nginx-module-0.10.13.tar.gz -C /usr/local/src/
2.1 安装nginx
2.1.1 安装依赖包
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel lua-devel
2.1.2 创建nginx用户
chattr -ia /etc/passwd
chattr -ia /etc/group
chattr -ia /etc/shadow
chattr -ia /etc/gshadow
useradd nginx -s /sbin/nologin
2.1.3 解压安装包
2.1.4 编译安装
cd /usr/local/src/
cd nginx-1.14.0 && ./configure --prefix=/opt/nginx --user=nginx --group=nginx --with-http_stub_status_module --without-http_memcached_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.2k --with-zlib=/usr/local/src/zlib-1.2.11 --with-pcre --add-module=/usr/local/src/ngx_devel_kit-0.3.1rc1 --add-module=/usr/local/src/lua-nginx-module-0.10.13 && make && make install;
#判断是否安装成功
echo $?
输出0表示安装成功
2.1.5 配置nginx文件
cd /opt/nginx/conf/
mv nginx.conf nginx.conf_bak
vi nginx.conf
添加如下内容:
#user nobody;
user nginx nginx;
worker_processes 32;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events
use epoll;
worker_connections 10240;
http
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /
root html;
index index.html index.htm index.php;
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html
root html;
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \\.php$
# proxy_pass http://127.0.0.1;
#
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \\.php$
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\\.ht
# deny all;
#
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location /
# root html;
# index index.html index.htm;
#
#
# HTTPS server
#
#server
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location /
# root html;
# index index.html index.htm;
#
#
#验证配置文件
/opt/nginx/sbin/nginx -t
正常情况下会输出:
nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /opt/nginx/conf/nginx.conf test is successful
2.1.6 启动nginx
/opt/nginx/sbin/nginx
#验证
[root@Centos7-Mode-V8 ~]# netstat -nltp |grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 5726/nginx: master
能看到8080端口,说明启动成功。
#设置nginx开机自启
vi /etc/rc.d/rc.local
添加
/opt/nginx/sbin/nginx
#给该文件赋予执行权限
chmod +x /etc/rc.d/rc.local
2.1.7 测试能否正常访问nginx
访问nginx地址:
192.168.144.251:8080
2.2 安装php
2.2.1 安装依赖包
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel \\
libjpeg libjpeg-devel libpng libpng-devel \\
freetype freetype-devel libxml2 libxml2-devel \\
glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \\
ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \\
openssl openssl-devel sqlite-devel libxslt-devel \\
openldap openldap-devel
2.2.2 安装php
cd /opt/
tar zxvf php-7.2.26.tar.gz
cd php-7.2.26
./configure --prefix=/opt/php \\
--with-config-file-path=/opt/php/etc \\
--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd \\
--with-fpm-user=nginx --with-fpm-group=nginx \\
--with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir \\
--with-iconv-dir \\
--with-libxml-dir \\
--with-zlib-dir \\
--with-curl \\
--with-gettext \\
--with-openssl \\
--with-mhash \\
--with-xmlrpc \\
--with-xsl \\
--without-pear \\
--with-xpm-dir=no \\
--enable-libxml \\
--enable-xml \\
--enable-bcmath \\
--enable-mbstring \\
--enable-mbregex \\
--enable-sockets \\
--enable-ctype \\
--enable-session \\
--enable-shmop \\
--enable-sysvsem \\
--enable-inline-optimization \\
--enable-fpm \\
--enable-pcntl \\
--enable-soap \\
--enable-short-tags \\
--enable-static \\
--enable-ftp \\
--disable-ipv6 \\
--enable-exif \\
--enable-opcache \\
--enable-zip && make && make install
#判断是否安装成功
echo $?
输出0表示安装成功
2.2.3 配置php
# 启动脚本
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm && chmod +x /etc/init.d/php-fpm
# 配置文件
cp /opt/php/etc/php-fpm.conf.default /opt/php/etc/php-fpm.conf &&
sed -e 's#;pid = run/php-fpm.pid#pid = run/php-fpm.pid#g' -i /opt/php/etc/php-fpm.conf
cp /opt/php/etc/php-fpm.d/www.conf.default /opt/php/etc/php-fpm.d/www.conf &&
sed -e 's/pm.max_children = 5/pm.max_children = 50/g' \\
-e 's/pm.start_servers = 2/pm.start_servers = 20/g' \\
-e 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' \\
-e 's/pm.max_spare_servers = 3/pm.max_spare_servers = 35/g' \\
-i /opt/php/etc/php-fpm.d/www.conf
cp php.ini-production /opt/php/etc/php.ini &&
sed -r -e 's/^(short_open_tag =).*/\\1 On/g' \\
-e 's/^(disable_functions =).*/\\1 passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname/g' \\
-e 's/^(expose_php =).*/\\1 Off/g' \\
-e 's/^(max_execution_time =).*/\\1 600/g' \\
-e 's/^(max_input_time =).*/\\1 600/g' \\
-e 's/^(memory_limit =).*/\\1 1024M/g' \\
-e 's/^(post_max_size =).*/\\1 32M/g' \\
-e 's/^;(always_populate_raw_post_data =).*/\\1 -1/' \\
-e 's/^(upload_max_filesize =).*/\\1 2M/g' \\
-e 's/^(default_socket_timeout =).*/\\1 120/g' \\
-e 's/^;(date.timezone =).*/\\1 Asia\\/Shanghai/' \\
-e 's/^(mysql.connect_timeout =).*/\\1 120/g' \\
-e 's/^;(opcache.enable=).*/\\11/' \\
-e 's/^;(opcache.enable_cli=).*/\\10/' \\
-e '/;curl.cainfo =/azend_extension=opcache.so' \\
-e 's/^(memory_limit =).*/\\1 1024M/g' \\
-i /opt/php/etc/php.ini
# 添加systemctl脚本启动文件
cat > /usr/lib/systemd/system/php-rpm.service << EOF
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/opt/php/sbin/php-fpm
[Install]
WantedBy=multi-user.target
EOF
2.2.4 启动php
systemctl daemon-reload
systemctl enable php-fpm
systemctl start php-fpm
2.2.5 测试能否正常访问php
2.2.5.1 建测试文件
cat << EOF >/opt/nginx/html/phptest.php
<?php
phpinfo();
?>
EOF
2.2.5.2 访问php
http://192.168.144.251:8080/phptest.php
2.3 安装mysql
2.3.1 安装mysql
安装步骤略
2.3.2 配置mysql
cd /opt/
tar -zxf zabbix-5.0.17.tar.gz
#初始化数据
create database vdms character set utf8 collate utf8_bin;
grant all privileges on vdms.* to servername@'%' identified by 'serverpassword';
use vdms;
source /opt/zabbix-5.0.17/database/mysql/schema.sql;
source /opt/zabbix-5.0.17/database/mysql/data.sql;
source /opt/zabbix-5.0.17/database/mysql/images.sql;
2.4 安装zabbix server
2.4.1 安装依赖包
yum install -y OpenIPMI-devel libssh2-devel net-snmp-devel unixODBC-devel mysql-devel libxml2-devel libcurl-devel libevent-devel
2.4.2 安装zabbix
将zabbix安装包上传至/usr/local/src下
useradd zabbix -s /sbin/nologin
cd /opt/
cd zabbix-5.0.17
./configure --prefix=/opt/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --enable-java --with-openipmi --with-unixodbc
/*
假如报错:configure: error: Not found mariadb library
则:
yum -y remove MariaDB*
rpm -qa |grep Maria
mv /etc/yum.repos.d/7-mariadb.repo /etc/yum.repos.d/7-mariadb.repo.bak
yum clean all
yum makecache
yum -y install mariadb-devel
yum -y install net-snmp-devel
然后重新执行上面的configure命令。
*/
make && make install
echo $?
输出0表示安装成功
2.4.3 配置zabbix
cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/ &&
sed -ri 's#ZABBIX_BIN=(.*)$#ZABBIX_BIN="/opt/zabbix/sbin/zabbix_server"#' /etc/init.d/zabbix_server
cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/ &&
sed -ri 's#ZABBIX_BIN=(.*)$#ZABBIX_BIN="/opt/zabbix/sbin/zabbix_agentd"#' /etc/init.d/zabbix_agentd
[[ ! -d /opt/zabbix/etc/zabbix_server.conf ]] &&
sed -i '/# DBHost=/aDBHost=192.168.144.251' /opt/zabbix/etc/zabbix_server.conf
sed -i 's/^DBName=zabbix/DBName=vdms/' /opt/zabbix/etc/zabbix_server.conf #库名
sed -i 's/^DBUser=zabbix/DBUser=servername/' /opt/zabbix/etc/zabbix_server.conf #用户名
sed -i '/# DBPassword=/aDBPassword=serverpassword' /opt/zabbix/etc/zabbix_server.conf #密码
sed -i '/# DBPort=/aDBPort=3307' /opt/zabbix/etc/zabbix_server.conf #数据库端口
sed -i '/# PidFile=/aPidFile=/tmp/zabbix_server.pid' /opt/zabbix/etc/zabbix_server.conf
grep -Ev "^$|#" /opt/zabbix/etc/zabbix_server.conf
[[ ! -d /opt/zabbix/etc/zabbix_agentd.conf ]] &&
sed -ri "s/^Server=(.*)$/Server=\\1,`ifconfig |grep 192.168.144 |awk 'print $2'`/" /opt/zabbix/etc/zabbix_agentd.conf
sed -ri "s/^ServerActive=(.*)$/ServerActive=`ifconfig |grep 192.168.144 |awk 'print $2'`/" /opt/zabbix/etc/zabbix_agentd.conf
sed -ri "s/^Hostname=(.*)$/Hostname=`ifconfig |grep 192.168.144 |awk 'print $2'`/" /opt/zabbix/etc/zabbix_agentd.conf
sed -ri "263aInclude=/opt/zabbix/etc/zabbix_agentd.conf.d/*.conf" /opt/zabbix/etc/zabbix_agentd.conf
grep -Ev "#|^$" /opt/zabbix/etc/zabbix_agentd.conf
ln -s /opt/zabbix/bin/* /usr/local/bin/
chkconfig zabbix_server on
chkconfig zabbix_agentd on
service zabbix_server start
service zabbix_agentd start
cd /opt/zabbix-5.0.17/ui/
cp -axv ./ /opt/nginx/html/zabbix
chown -R nginx.nginx /opt/nginx/html/zabbix
#访问setup.php页面,设置zabbix
http://192.168.144.251:8080/zabbix/setup.php
数据库servername的密码是serverpassword
登录zabbix默认账号:Admin,密码:zabbix,这是一个超级管理员。
2.4.4 登录zabbix
以后登录zabbix,访问如下网址:
http://192.168.144.252:8080/zabbix/index.php
#设置语言为中文
点击左下角的User settings,在Language处选择Chinese
以上是关于安装zabbix 5.0的主要内容,如果未能解决你的问题,请参考以下文章