1、安裝經常使用依賴包php
(本文永久地址:http://woymk.blog.51cto.com/10000269/1953012)html
yum install -y make gcc gcc-c++ perl zlib-devel libaio libpng libpng-devel libjpeg-devel pcre-devel前端
yum install -y libXpm-devel openssl openssl-devel libxml2-devel bzip2-devel.x86_64 libjpeg-turbo-develmysql
yum install -y freetype freetype-devel libtool cmake ncurses-devel bison re2c curl-devel wgetnginx
rpm -ivh "http://mirrors.sohu.com/fedora-epel/epel-release-latest-6.noarch.rpm"c++
yum install -y libmcrypt-devel re2cweb
2、安裝nginxsql
cd /usr/local/src數據庫
wget http://mirrors.sohu.com/nginx/nginx-1.12.0.tar.gzwindows
tar zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0
./configure --prefix=/usr/local/nginx --with-pcre --with-http_stub_status_module --with-http_ssl_module
make && make install
vi /etc/init.d/nginx
把下面nginx啓動腳本保存爲 /etc/init.d/nginx,
#!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /etc/nginx/nginx.conf # config: /etc/sysconfig/nginx # pidfile: /var/run/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx="/usr/sbin/nginx" prog=$(basename $nginx) sysconfig="/etc/sysconfig/$prog" lockfile="/var/lock/subsys/nginx" pidfile="/var/run/${prog}.pid" NGINX_CONF_FILE="/etc/nginx/nginx.conf" [ -f $sysconfig ] && . $sysconfig start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc -p $pidfile $prog retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest_q || return 6 stop start } reload() { configtest_q || return 6 echo -n $"Reloading $prog: " killproc -p $pidfile $prog -HUP echo } configtest() { $nginx -t -c $NGINX_CONF_FILE } configtest_q() { $nginx -t -q -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } # Upgrade the binary with no downtime. upgrade() { local oldbin_pidfile="${pidfile}.oldbin" configtest_q || return 6 echo -n $"Upgrading $prog: " killproc -p $pidfile $prog -USR2 retval=$? sleep 1 if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]]; then killproc -p $oldbin_pidfile $prog -QUIT success $"$prog online upgrade" echo return 0 else failure $"$prog online upgrade" echo return 1 fi } # Tell nginx to reopen logs reopen_logs() { configtest_q || return 6 echo -n $"Reopening $prog logs: " killproc -p $pidfile $prog -USR1 retval=$? echo return $retval } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest|reopen_logs) $1 ;; force-reload|upgrade) rh_status_q || exit 7 upgrade ;; reload) rh_status_q || exit 7 $1 ;; status|status_q) rh_$1 ;; condrestart|try-restart) rh_status_q || exit 7 restart ;; *) echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart|reopen_logs}" exit 2 esac
找到下面三行
nginx="/usr/sbin/nginx"
pidfile="/var/run/${prog}.pid"
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
修改成:
nginx="/usr/local/nginx/sbin/nginx"
pidfile="/usr/local/nginx/logs/${prog}.pid"
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
保存後,執行
chmod +x /etc/init.d/nginx
chkconfig --add nginx
chkconfig nginx on
/etc/init.d/nginx start
3、安裝php
安裝依賴包
yum install openldap openldap-devel -y
cd /usr/local/src
wget http://mirrors.sohu.com/php/php-5.5.38.tar.gz
tar zxvf php-5.5.38.tar.gz
cd php-5.5.38
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --with-iconv-dir --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath --with-ldap
make && make install
cp php.ini-production /usr/local/php/etc/php.ini
cp /usr/local/src/php-5.5.38/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
cp -v /usr/local/php/etc/{php-fpm.conf.default,php-fpm.conf}
vi /usr/local/php/etc/php.ini
找到
;date.timezone =
改成
date.timezone = Asia/Chongqing
保存後,執行
chmod 755 /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
service php-fpm start
4、安裝mysql
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz
tar zxvf mysql-5.6.36.tar.gz
cd mysql-5.6.36
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_COLLATION=utf8_general_ci
make && make install
創建mysql用戶
useradd -s /sbin/nologin mysql
初始化數據庫,建立系統自帶的數據庫和表
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
cd /usr/local/mysql
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql
添加服務,拷貝服務腳本到init.d目錄,並設置開機啓動
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
vi /etc/init.d/mysqld
修改datadir
basedir=/usr/local/mysql
datadir=/data/mysql
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
mysql修改密碼
/usr/local/mysql/bin/mysqladmin -uroot password "1234"
PATH=$PATH:/usr/local/mysql/bin
建立zabbix數據庫、用戶名和密碼:
mysql -uroot -p -e "create database zabbix default charset utf8"
mysql -uroot -p -e "grant all privileges on zabbix.* to zabbix@'localhost' identified by '1234'";
5、安裝zabbix server
官網下載地址 https://www.zabbix.com/download
這裏下載的是: zabbix-3.0.10.tar
安裝依賴包
yum install net-snmp-devel -y
cd /usr/local/src
tar zxvf zabbix-3.0.10.tar.gz
cd zabbix-3.0.10
./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2
make && make install
建立zabbix用戶
useradd -s /sbin/nologin zabbix
導入3個sql文件:(密碼這裏設的是1234)
mysql -uroot -p zabbix < database/mysql/schema.sql
mysql -uroot -p zabbix < database/mysql/p_w_picpaths.sql
mysql -uroot -p zabbix < database/mysql/data.sql
建立網站目錄
mkdir /data/web/zabbix -p
將前端文件拷貝到web目錄下
cp -rp frontends/php/* /data/web/zabbix/
配置nginx
cd /usr/local/nginx/conf/
mkdir extra
cd extra/
vi zabbix.conf
加入如下內容,並保存:
server { listen 80; server_name www.test.com; access_log /data/logs/zabbix/www.test.com.access.log main; index index.html index.php index.html; root /data/web/zabbix; location /{ try_files $uri $uri/ /index.php?$args; } location ~ ^(.+.php)(.*)$ { fastcgi_split_path_info ^(.+.php)(.*)$; include fastcgi.conf; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param PATH_INFO $fastcgi_path_info; } }
cd ..
vi nginx
加入如下內容,並保存:
user nobody; worker_processes 1; #error_log logs/error.log warning; #error_log logs/error.log notice; #error_log logs/error.log info; pid logs/nginx.pid; events { worker_connections 1024; } 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; include extra/*.conf; }
vi /usr/local/zabbix/etc/zabbix_server.conf
修改以下內容並保存:
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=1234
啓動zabbix server
/usr/local/zabbix/sbin/zabbix_server
若是顯示:
error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
執行:
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
查看啓動的服務和端口號
netstat -lnpt
6、網頁安裝zabbix
瀏覽器訪問
http://ip/
(若是沒法顯示,檢查iptables和selinx是否關閉)
點下一步
vi /usr/local/php/etc/php.ini
跟據錯誤提示修改,保存後重啓php-fpm
service php-fpm restart
繼續點下一步
填寫完點下一步
填寫完點下一步
繼續點下一步
這裏的報錯是由於nginx用戶沒有寫入權限,按圖中提示手動修改或者直接修改目錄權限:
cd /data/web/zabbix/
chown nobody:nobody conf
改完後刷新網頁
點Finish,接下來登錄zabbix,默認管理員帳號爲 admin:zabbix
登錄後的畫面:
設置中文顯示:
點右上角的小圖標,顯示以下網頁,在Language項修改
點Update
已經顯示成中文了。
zabbix出現中文亂碼的解決方法
zabbix在顯示中文時有的地方會出現亂碼,這是由於沒有中文字庫的緣故,只需把windows裏的字庫複製過去便可。windows的字體文件c:\windows\fonts目錄下,好比華文仿宋字體文件名是STFANGSO.ttf。
把字體文件上傳到系統裏(可使用PSFTP、FileZilla等文件傳輸工具上傳),將原字體文件直接覆蓋
mv STFANGSO.ttf /data/web/zabbix/fonts/DejaVuSans.ttf
或者
把字體文件複製/data/web/zabbix/fonts/目錄
vi /data/web/zabbix/include/defines.inc.php
找到
define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');
修改爲上傳的中文字體文件名。