zabbix4.4.4 源碼編譯安裝
mysql 8.0.17 二進制包安裝
php72 yum源安裝
nginx 1.16.1 yum源安裝
0.基礎環境
zabbix_server 172.16.1.71
zabbix_agent 172.16.1.51
1.安裝MySQL 8.0.17
(1)安裝依賴包
yum install bison-devel ncurses-devel libaio-devel
(2)下載二進制包
wget -c https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
(3)解壓並移動至安裝目錄
tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.17-linux-glibc2.12-x86_64 /usr/local/mysql
(4)創建數據庫初始化目錄和mysql用戶,並給MySQL根目錄授權
mkdir /usr/local/mysql/data
useradd -s /sbin/login -M mysql
chown mysql.mysql /usr/local/mysql -R
(5)軟連接mysql庫文件至系統庫
ln -s /usr/local/mysql/lib/* /usr/lib/
sudo ldconfig
(6)編輯MySQL配置文件
echo '
[mysqld]
port=3306
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/mysql-err.log
user=mysql
default_authentication_plugin=mysql_native_password
socket=/usr/local/mysql/data/mysql.sock
[client]
socket=/usr/local/mysql/data/mysql.sock
[mysql]
socket=/usr/local/mysql/data/mysql.sock
' > /etc/my.cnf
(7)初始化數據庫,不安全的初始化,可以不用生成初始化密碼
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
(8)將MySQL數據庫初始化庫目錄軟連接至系統庫默認目錄
ln -s /usr/local/mysql/data /var/lib/mysql
(7)修改環境變量
echo '
export PATH=/usr/local/mysql/bin:$PATH
' >> /etc/profile
source /etc/profile
(8)創建啟動文件
echo '
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
' > /usr/lib/systemd/system/mysqld.service
(9)啟動服務並加入開機自啟動
systemctl daemon-reload
systemctl start mysqld
systemctl enable mysqld
(10)創建zabbix庫
# MySQL8.0后版本,創建用戶並授權命令和MySQL5.7之前的版本有所不同,需要先創建用戶再授權;
create database zabbix character set=utf8;
create user 'zabbix'@'localhost' identified by '123456';
grant all privileges on zabbix.* to 'zabbix'@'localhost' with grant option;
flush privileges;
2.安裝php7.2
(1)安裝源
yum -y install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
(2)安裝php和php依賴庫文件
yum -y install php72w \
php72w-cli \
php72w-fpm \
php72w-common \
php72w-devel \
php72w-embedded \
php72w-gd \
php72w-mbstring \
php72w-opcache \
php72w-pdo \
php72w-xml \
php72w-mysqlnd \
php72w-pecl-memcached \
php72w-pecl-mongodb \
php72w-pecl-redis \
php72w-pecl-zip \
php72w-bcmath \
php72w-ladp \
php72w-mysqli
(3)修改php配置文件
sed -i '/post_max_size/s/8/16/g' /etc/php.ini
sed -i '/max_execution_time/s/30/300/g' /etc/php.ini
sed -i '/max_input_time/s/60/300/g' /etc/php.ini
sed -i '/date.timezone/a date.timezone=PRC' /etc/php.ini
# 指定MySQL的sock文件,經過測試必須是系統默認庫文件目錄才可以;所以安裝MySQL時做了軟連接
sed -i '/mysqli.default_socket/cmysqli.default_socket = /var/lib/mysql/mysql.sock' /etc/php.ini
sed -i '/always_populate_raw_post_data/a always_populate_raw_post_data=-1' /etc/php.ini
(4)啟動服務,加入開機自啟
systemctl start php-fpm
systemctl enable php-fpm
3.安裝Nginx/1.16.1
(1)配置yum源
echo '
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
' > /etc/yum.repos.d/nginx.repo
(2)安裝並修改啟動用戶
yum -y install nginx
# php的默認啟動用戶apache,經過測試nginx最好也使用apache用戶,所以在此處修改
sed -i '/user nginx/cuser apache' /etc/nginx/nginx.conf
(3)創建zabbix虛擬主機配置文件
echo 'server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
location / {
index index.php setup.php;
}
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
} ' > /etc/nginx/conf.d/zabbix.conf
(4)啟動nginx並加入開機自啟
systemctl start nginx
systemctl enable nginx
4.源碼安裝zabbix4.4.4服務端
(1)安裝依賴
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI libven-devel
(2)下載源碼
cd /root
wget -c https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.4.4/zabbix-4.4.4.tar.gz
(3)解壓並預編譯安裝
tar -xzvf zabbix-4.4.4.tar.gz
cd zabbix-4.4.4
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl
make && make install
(4)軟連接zabbix啟動文件至系統默認啟動文件目錄
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
(5)拷貝zabbix服務端環境文件至系統默認目錄
cp /root/zabbix-4.4.4/misc/init.d/gentoo/zabbix-server /etc/sysconfig/
(6)拷貝zabbix的前端源碼至nginx站點目錄,並授權
\cp -r /root/zabbix-4.4.4/frontends/php/* /usr/share/nginx/html/
chown apache.apache /usr/share/nginx/html -R
(7)將zabbix數據庫文件導入數據庫
mysql -uzabbix -p123456 zabbix < /root/zabbix-4.4.4/database/mysql/schema.sql
mysql -uzabbix -p123456 zabbix < /root/zabbix-4.4.4/database/mysql/images.sql
mysql -uzabbix -p123456 zabbix < /root/zabbix-4.4.4/database/mysql/data.sql
(8)配置zabbix服務端配置文件
echo '
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
' > /usr/local/zabbix/etc/zabbix_server.conf
(9)創建zabbix服務端啟動文件
echo '
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
After=mysql.service
After=mysqld.service
After=mariadb.service
After=postgresql.service
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0
[Install]
WantedBy=multi-user.target
' > /usr/lib/systemd/system/zabbix.service
(10)創建啟動用戶,啟動服務並加入開機自啟動
useradd -M -s /sbin/nologin zabbix
systemctl daemon-reload
systemctl start zabbix.service
systemctl enable zabbix.service
5.源碼安裝zabbix4.4.4客戶端
(1)安裝依賴
yum -y install epel-release pcre-devel
(2)下載源碼包
cd /root
wget -c https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.4.4/zabbix-4.4.4.tar.gz
(3)解壓編譯並安裝
tar -xzvf zabbix-4.4.4.tar.gz
cd zabbix-4.4.4
./configure --prefix=/usr/local/zabbix --enable-agent
make
make install
(4)軟連接zabbix客戶端啟動文件至系統默認啟動目錄
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/sbin/
(5)拷貝zabbix客戶端環境文件至系統默認目錄
cp /root/zabbix-4.4.4/misc/init.d/debian/zabbix-agent /etc/sysconfig/
(6)編輯zabbix客戶端配置文件
echo '
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
LogFileSize=0
Server=172.16.1.71
ServerActive=172.16.1.71
Hostname=Zabbix server
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
' > /usr/local/zabbix/etc/zabbix_agentd.conf
(7)創建zabbix客戶端啟動文件
echo '
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
' > /usr/lib/systemd/system/zabbix_agnet.service
(8)創建啟動用戶,啟動服務並加入開機自啟動
useradd -M -s /sbin/nologin zabbix
systemctl daemon-reload
systemctl start zabbix_agent.service
systemctl enable zabbix_agent.service
