Linux:CentOS Linux release 7.3 nginx:1.12.0 MySQL:5.7PHP:7.1.8
本来想写到github上面,排版太麻烦,试试用csdn,有些截图用的还是老的3.0,将就看吧
一、安装nginx:
yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel libevent-devel
useradd nginx -s /sbin/nologin -M
wget http://nginx.org/download/nginx-1.12.0.tar.gz && tar xvfnginx-1.12.0.tar.gz && cdnginx-1.12.0
./configure --prefix=/usr/local/nginx-1.12.0 --user=www --group=www --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre
ln -s /usr/local/nginx-1.12.0 /usr/local/nginx ==>创建软链接
--with-http_stub_status_module:支持nginx状态查询 --with-http_ssl_module:支持https --with-http_spdy_module:支持google的spdy,想了解请百度spdy,这个必须有ssl的支持 --with-pcre:为了支持rewrite重写功能,必须制定pcre
wget http://cn2.php.net/get/php-7.1.8.tar.gz/from/this/mirror
mv mirror php-7.1.8.tar.gz && tar xvf php-7.1.8.tar.gz && cd php-7.1.8
./configure --prefix=/usr/local/php-7.1.8 --with-config-file-path=/usr/local/php-7.1.8/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
ln -s /usr/local/php-7.1.8 /usr/local/php
cp php.ini-production /usr/local/php/etc/php.ini
cp php-fpm.conf.default php-fpm.conf
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = Asia/Shanghai
mkdir -pv /data/mysql
useradd -r -g mysql -d /data/mysql -s /sbin/nologin mysql
chown -R mysql.mysql /data/mysql
yum install cmake gcc* ncurses-devel -y
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.49.tar.gz(这个页面不能用了)
Wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz (版本估计现在更新了,改下5.7后面的数字即可)
MySQL安装部署
# yum -y install libaio perl autoconf
# cd /usr/local/src
# tar zxf mysql-advanced-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
# ln -sv /usr/local/mysql-advanced-5.7.14-linux-glibc2.5-x86_64 /usr/local/mysql
# groupadd mysql
# useradd -g mysql mysql -s /sbin/nologin
# mkdir -pv /opt/mysqldata
# mkdir -pv /opt/mysqllog
# chown -R mysql.mysql /opt/mysqldata
# chown -R mysql.mysql /opt/mysqllog
# cat > /etc/my.cnf <<EOF
[client]
port = 3306
socket = /opt/mysqldata/mysql.sock
[mysqld]
#######base########
server-id = 1
port = 3306
user = mysql
socket = /opt/mysqldata/mysql.sock
basedir = /usr/local/mysql
datadir = /opt/mysqldata
tmpdir = /tmp
skip-external-locking
skip-name-resolve
bind-address = 0.0.0.0
#default-storage-engine = INNODB
character-set-server = utf8
wait_timeout = 100
connect_timeout = 20
interactive_timeout =100
back_log = 500
event_scheduler = ON
lower_case_table_names=1
explicit_defaults_for_timestamp=true
########binlog#######
log-bin = /opt/mysqllog/mysql-bin
#binlog_format = raw
max_binlog_size = 512M
binlog_cache_size = 1M
#expire-log-days = 10
sync-binlog = 1
#######slow log############
#slow_query_log = ON
#slow_query_log_file = /opt/mysqllog/mysql-slow.log
#long_query_time = 0.5
#log-queries-not-using-indexes
#log_slow_admin_statements = ON
#######error log##########
log-error = /opt/mysqllog/error.log
#######general log########
general_log = ON
#######saafety########
max_allowed_packet = 16M
max_connect_errors=1000000
skip_name_resolve
symbolic-links=0
#######per_thread_buffers########
max_connections = 1024
max_user_connections = 1000
max_connect_errors = 1000
key_buffer_size = 64M
#table_cache = 3096
table_open_cache = 6144
table_definition_cache = 4096
bulk_insert_buffer_size = 4M
key_buffer_size = 16M
myisam_sort_buffer_size = 256K
net_buffer_length = 16K
preload_buffer_size = 32K
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
join_buffer_size = 1M
#sql_buffer_result = OFF
#tmp_table_size = 64M
max_heap_table_size = 64M
query_cache_type = ON
query_cache_size = 0
query_cache_limit = 1M
query_cache_min_res_unit = 1024
query_prealloc_size = 8192
bulk_insert_buffer_size = 32M
######InnoDB#########
#innodb_additional_mem_pool_size = 16M
innodb_log_file_size = 1024M
innodb_log_buffer_size = 8M
innodb_log_files_in_group = 2
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_max_dirty_pages_pct = 75
innodb_support_xa = 1
innodb_thread_concurrency = 0
innodb_thread_sleep_delay = 0
innodb_flush_method = O_DIRECT
innodb_flush_neighbors = 1
innodb_flushing_avg_loops = 30
innodb_file_per_table
innodb_read_io_threads = 4
innodb_write_io_threads = 4
innodb_io_capacity = 2000
innodb_io_capacity_max = 4000
innodb_buffer_pool_size = 2G
innodb_buffer_pool_instances = 8
innodb_commit_concurrency = 0
innodb_compression_failure_threshold_pct = 5
innodb_compression_level = 6
innodb_compression_pad_pct_max = 50
innodb_ft_cache_size = 8000000
#innodb_ft_result_cache_limit = 2000000000
#innodb_ft_total_cache_size = 640000000
innodb_open_files = 300
innodb_page_size = 16K
innodb_purge_batch_size = 300
innodb_purge_threads = 1
innodb_undo_logs = 128
innodb_undo_tablespaces = 0
innodb_sort_buffer_size = 1M
innodb_file_format = Barracuda
[mysqldump]
quick
max_allowed_packet = 16M
#myisam_max_sort_file_size = 1G
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 16M
sort_buffer_size = 256K
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
open-files-limit = 28192
EOF
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# chmod 755 /etc/init.d/mysql
# chkconfig mysql on
# echo "/usr/local/mysql/lib/" >> /etc/ld.so.conf.d/mysql.conf
# ldconfig -v | grep mysql
# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile.d/mysql.sh
# chmod +x /etc/profile.d/mysql.sh
# source /etc/profile.d/mysql.sh
# cd /usr/local/mysql
# ...........mysql_install_db --user=mysql --defaults-file=/etc/my.cnf
5.5以上mysql_install_db弃用
NOTE shunxu
./mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
# ls /opt/mysqldata/
# ls /opt/mysqllog/
# sed -i "s/^basedir=$/basedir=\/usr\/local\/mysql/" /etc/init.d/mysql
# sed -i "s/^datadir=$/datadir=\/opt\/mysqldata/" /etc/init.d/mysql
# service mysql start
# mysql -uroot
mysql> update mysql.user set password=PASSWORD('1234') where user='root';
mysql> flush privileges;
mysql> exit
四、安装zabbix server:
-rw-r--r-- 1 root root 15407273 5月 21 2016 zabbix-3.4.1.tar.gz
访问 https://www.zabbix.com/download
下载最新版本3.4.1 到服务器
[root@zabbix ~]# tar zxf zabbix-3.4.1.tar.gz && cd zabbix-3.4.1
./configure --prefix=/usr/local/zabbix-3.4.1/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
checking for mysql_config... no
configure: error: MySQL library not found
checking for net-snmp-config... no
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
[root@zabbix zabbix-3.4.1]#groupadd zabbix
[root@zabbix zabbix-3.4.1]# useradd zabbix -s /sbin/nologin -M -g zabbix
[root@zabbix zabbix-3.4.1]# mysql -uroot -pzabbix zabbix < database/mysql/schema.sql
[root@zabbix zabbix-3.4.1]# mysql -uroot -pzabbix zabbix < database/mysql/images.sql
[root@zabbix zabbix-3.4.1]# mysql -uroot -pzabbix zabbix < database/mysql/data.sql
[root@zabbix zabbix-3.4.1]# pwd
四、安装zabbix server:
-rw-r--r-- 1 root root 15407273 5月 21 2016 zabbix-3.4.1.tar.gz
访问 https://www.zabbix.com/download
下载最新版本3.4.1 到服务器
[root@zabbix ~]# tar zxf zabbix-3.4.1.tar.gz && cd zabbix-3.4.1
./configure --prefix=/usr/local/zabbix-3.4.1/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
checking for mysql_config... no
configure: error: MySQL library not found
checking for net-snmp-config... no
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
[root@zabbix zabbix-3.4.1]#groupadd zabbix
[root@zabbix zabbix-3.4.1]# useradd zabbix -s /sbin/nologin -M -g zabbix
[root@zabbix zabbix-3.4.1]# mysql -uroot -pzabbix zabbix < database/mysql/schema.sql
[root@zabbix zabbix-3.4.1]# mysql -uroot -pzabbix zabbix < database/mysql/images.sql
[root@zabbix zabbix-3.4.1]# mysql -uroot -pzabbix zabbix < database/mysql/data.sql
[root@zabbix zabbix-3.4.1]# pwd
[root@zabbix zabbix-3.4.1]# mkdir /data/web/zabbix.lifec.com -p [root@zabbix zabbix-3.4.1]# mkdir /data/logs/zabbix -p
[root@zabbix zabbix-3.4.1]# cp –r /root/zabbix-3.4.1/frontends/php/* /data/web/zabbix.lifec.com/
[root@zabbix conf]# mkdir extra
[root@zabbix extra]# vim zabbix.conf
access_log /data/logs/zabbix/zabbix.lifec.com.access.log main;
index index.html index.php index.html;
root /data/web/zabbix.lifec.com;
try_files $uri $uri/ /index.php?$args;
fastcgi_split_path_info ^(.+.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
[root@zabbix conf]# cat nginx.conf
error_log logs/error.log warning;
#error_log logs/error.log notice;
#error_log logs/error.log info;
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;
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
[root@zabbix conf]# /usr/local/nginx/sbin/nginx
[root@zabbix conf]# /usr/local/php/sbin/php-fpm
[root@zabbix conf]# /usr/local/zabbix-3.4.1/sbin/zabbix_server
[root@zabbix ~]# /usr/local/zabbix-3.0.2/sbin/zabbix_server
/usr/local/zabbix-3.0.2/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
[root@zabbix ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
192.168.119.140 zabbix.lifec.com
[root@zabbix conf]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1029/sshd
tcp 0 0 0.0.0.0:8027 0.0.0.0:* LISTEN 3730/nginx
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 3743/zabbix_server
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3736/php-fpm
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 24922/mysqld
tcp 0 0 :::22 :::* LISTEN 1029/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 880/dhclient
[root@zabbix ~]# echo"/usr/local/nginx/sbin/nginx" >>/etc/rc.local [root@zabbix ~]# echo"/usr/local/php/sbin/php-fpm" >>/etc/rc.local [root@zabbix ~]# echo"/etc/init.d/mysqld start" >>/etc/rc.local [root@zabbix ~]# echo"/usr/local/zabbix-3.4.1/sbin/zabbix_server" >>/etc/rc.local
vim /data/web/zabbix.lifec.com/include/locales.inc.php
#'zh_CN' => ['name' => _('Chinese(zh_CN)'), 'display' => false],
'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true],
将选择的字体上传到Linux服务器的zabbix的fonts目录:
/data/web/zabbix.lifec.com/fonts
vim /data/web/zabbix.lifec.com/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
define('ZBX_GRAPH_FONT_NAME', 'simsun'); // font file name ==>此行为新增行;
define('ZBX_FONT_NAME', 'DejaVuSans');
define('ZBX_FONT_NAME', 'simsun'); ==>此行为新增行;
Win+R打开运行,输入fonts,回车进入Windows字体目录,找到微软雅黑-常规字体,复制出来将文件名修改为msyh.ttf,然后上传到/usr/share/zabbix/fonts
sudo vim /usr/share/zabbix/include/defines.inc.php