一、安装mysql
1 1. 安装必备组件 2 yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel 3 4 2.下载mysql源码包 5 cd /usr/local 6 wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz/from/http://cdn.mysql.com/ -O mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz 7 8 tar zxvf mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz 9 mv mysql-5.6.14-linux-glibc2.5-x86_64 mysql 10 11 mkdir -p /home/data/mysql_data 12 mkdir -p /home/data/mysql_log 13 mkdir -p /home/data/log-bin 14 groupadd mysql 15 useradd mysql -g mysql -M -s /sbin/nologin 16 chown -R mysql.mysql /home/data/mysql* /home/data/log-bin 17 chown -R mysql.mysql /usr/local/mysql 18 19 vim /etc/my.cnf #修改mysql配置文件,改成如下内容 20 -------------------------------------------------------------------------- 21 [mysqld] 22 explicit_defaults_for_timestamp=true 23 # GENERAL # 24 user = mysql 25 default-storage-engine = InnoDB 26 socket = /home/data/mysql_data/mysql.sock 27 pid-file = /home/data/mysql_data/mysql.pid 28 port = 3306 29 30 # MyISAM # 31 key_buffer_size = 1344M 32 myisam_recover = FORCE,BACKUP 33 34 # SAFETY # 35 max_allowed_packet = 16M 36 max_connect_errors = 1000000 37 skip_name_resolve 38 39 # DATA STORAGE # 40 datadir = /home/data/mysql_data/ 41 long_query_time = 1 42 43 # BINARY LOGGING # 44 log-bin = /home/data/log-bin/mysql-bin 45 expire-logs-days = 14 46 sync-binlog = 1 47 server-id = 1 48 max_binlog_size = 500M 49 50 # REPLICATION # 51 relay-log = /home/data/log-bin/relay-bin 52 slave-net-timeout = 60 53 54 # CACHES AND LIMITS # 55 tmp_table_size = 32M 56 max_heap_table_size = 32M 57 max_connections = 500 58 thread_cache_size = 50 59 open_files_limit = 65535 60 table_definition_cache = 4096 61 table_open_cache = 4096 62 63 # INNODB # 64 innodb_data_file_path = ibdata1:128M;ibdata2:10M:autoextend 65 innodb_flush_method = O_DIRECT 66 innodb_log_files_in_group = 2 67 innodb_lock_wait_timeout = 50 68 innodb_log_file_size = 256M 69 innodb_flush_log_at_trx_commit = 1 70 innodb_file_per_table = 1 71 innodb_thread_concurrency = 8 72 innodb_buffer_pool_size = 8G 73 74 # LOGGING # 75 log-error = /home/data/mysql_log/mysql-error.log 76 log-queries-not-using-indexes = 1 77 slow-query-log = 1 78 long_query_time = 1 79 slow-query-log-file = /home/data/mysql_log/mysql-slow.log 80 -------------------------------------------------------------------------- 81 82 cp -af /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 83 84 vim /etc/init.d/mysqld #修改如下内容 85 -------------------------------------------------------------------------- 86 basedir=/usr/local/mysql 87 datadir=/home/data/mysql_data 88 -------------------------------------------------------------------------- 89 chmod a+x /etc/init.d/mysqld 90 chkconfig --add mysqld 91 chkconfig mysqld on 92 chkconfig --list |grep mysqld 93 94 rm -f /usr/local/mysql/my.cnf 95 cp /etc/my.cnf /usr/local/mysql/ 96 chown -R mysql.mysql /usr/local/mysql 97 cd /usr/local/mysql 98 ./scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf 99 ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql 100 ln -s /home/data/mysql_data/mysql.sock /tmp/mysql.sock 101 102 service mysqld start 103 mysql -uroot -p 104 -------------------------------------------------------------------------- 105 Mysql> delete from mysql.user where user=''; 106 Mysql> update mysql.user set password=PASSWORD(‘xxxxxxxx’) where user='root'; 107 Mysql>flush privileges; 108 --------------------------------------------------------------------------
二、安装php
1 cd /usr/local 2 wget http://cn2.php.net/get/php-5.5.38.tar.gz/from/this/mirror 3 mv mirror php-5.5.38.tar.gz 4 5 yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel curl curl-devel libcurl-devel -y 6 tar zxvf php-5.5.38.tar.gz 7 cd php-5.5.38 8 9 ./configure 10 --enable-bcmath 11 --prefix=/usr/local/php-5.5.38 --with-config-file-path=/usr/local/php-5.5.38/etc 12 --with-bz2 --with-curl --enable-ftp --enable-sockets 13 --disable-ipv6 14 --with-gd 15 --with-jpeg-dir=/usr/local 16 --with-png-dir=/usr/local 17 --with-freetype-dir=/usr/local 18 --enable-gd-native-ttf --with-iconv-dir=/usr/local 19 --enable-mbstring --enable-calendar 20 --with-gettext --with-libxml-dir=/usr/local 21 --with-zlib --with-pdo-mysql=mysqlnd 22 --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom 23 --enable-xml --enable-fpm --with-libdir=lib64 24 25 make && make install 26 27 cp /usr/local/php-5.5.38/php.ini-production /usr/local/php-5.5.38/etc/php.ini 28 cp /usr/local/php-5.5.38/etc/php-fpm.conf.default /usr/local/php-5.5.38/etc/php-fpm.conf 29 ln -s /usr/local/php-5.5.38/sbin/php-fpm /usr/bin/php-fpm 30 31 配置PHP参数值,如配置不合理,可能会导致zabbix无法正常启动 32 vim /usr/local/php-5.5.38/etc/php.ini #下面几个参数修改成如下内容,或按需要配置 33 ------------------------------------------------------------------------ 34 max_execution_time = 300 35 memory_limit = 128M 36 post_max_size = 16M 37 upload_max_filesize = 2M 38 max_input_time = 300 39 date.timezone = PRC 40 ------------------------------------------------------------------------ 41 42 #启动php-fpm 43 php-fpm 44 netstat -ntpl |grep 9000
三、安装nginx
1 vim /etc/yum.repos.d/nginx.repo 2 ----------------------------------------------------------------- 3 [nginx] 4 name=nginx repo 5 baseurl=http://nginx.org/packages/centos/6/$basearch/ 6 gpgcheck=0 7 enabled=1 8 ----------------------------------------------------------------- 9 yum install nginx -y 10 11 mkdir -p /usr/local/website/testphp 12 vim /usr/local/website/testphp/info.php 13 ----------------------------------------------------------------- 14 <?php 15 phpinfo(); 16 ?> 17 ----------------------------------------------------------------- 18 19 vim /etc/nginx/conf.d/test.conf 20 ----------------------------------------------------------------- 21 server { 22 listen 80; 23 server_name www.testttls.com; 24 access_log /var/log/nginx/testphp.com.access.log main; 25 26 index index.php index.html index.html; 27 root /usr/local/website/testphp; 28 29 30 location / { 31 try_files $uri $uri/ /index.php?$args; 32 } 33 34 location ~ .*\.(php)?$ { 35 expires -1s; 36 try_files $uri =404; 37 fastcgi_split_path_info ^(.+\.php)(/.+)$; 38 include fastcgi_params; 39 fastcgi_param PATH_INFO $fastcgi_path_info; 40 fastcgi_index index.php; 41 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 42 fastcgi_pass 127.0.0.1:9000; 43 44 } 45 } 46 ----------------------------------------------------------------- 47 service nginx start 48 #启动服务后在本地windows 电脑 hosts 文件中 绑定服务器IP 和www.testttls.com域名,然后在浏览器中打开www.testttls.com/info.php 出现如下页面则php安装成功
四、安装zabbix-server
1 cd /usr/local 2 在该网站下载需要的zabbix 版本http://www.zabbix.com/download 3 上传到/usr/local 目录下 4 tar zxvf zabbix-3.2.4.tar.gz 5 cd zabbix-3.2.4 6 ./configure --prefix=/usr/local/zabbix-3.2.4/ --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2 7 8 make && make install 9 10 添加zabbix 运行用户组 11 groupadd zabbix 12 useradd zabbix -g zabbix 13 14 注:zabbix-server 共需要导入3个源码包中的sql文件,而搭建proxy 则只需要导入一个sql 15 16 #创建zabbix 数据库 17 mysql -uroot -pxxxx 18 19 mysql> create database zabbix default charset utf8; 20 Query OK, 1 row affected (0.00 sec) 21 22 mysql> quit 23 # mysql -uroot -pxxxx zabbix < /usr/local/zabbix-3.2.4/database/mysql/schema.sql 24 # mysql -uroot -pxxx zabbix < /usr/local/zabbix-3.2.4/database/mysql/images.sql 25 # mysql -uroot -pxxx zabbix < /usr/local/zabbix-3.2.4/database/mysql/data.sql 26 27 #配置zabbix 服务器 28 mkdir -p /etc/zabbix 29 cp /usr/local/zabbix-3.2.4/conf/zabbix_server.conf /etc/zabbix 30 vim /etc/zabbix/zabbix_server.conf 31 ------------------------------------------------------------------------ 32 DBName=zabbix 33 DBUser=root 34 DBPassword=XXXXX 35 DBPort=3306 36 ------------------------------------------------------------------------ 37 echo "/usr/local/mysql/lib" >> /etc/ld.so.conf 38 ldconfig 39 /usr/local/zabbix-3.2.4/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf 40 /usr/local/zabbix-3.2.4/sbin/zabbix_agentd 41 42 #配置zabbix web 43 mkdir -p /home/data/zabbix/zabbix 44 cp -rp /usr/local/zabbix-3.2.4/frontends/php/* /home/data/zabbix/zabbix 45 46 vim /etc/nginx/conf.d/zabbix.conf 47 ------------------------------------------------------------------------ 48 server { 49 listen 80; 50 server_name zabbix.prd.xjh.com; 51 access_log /var/log/nginx/zabbix.prd.xjh.com.access.log main; 52 53 index index.php index.html index.html; 54 root /home/data/zabbix; 55 56 57 location / { 58 try_files $uri $uri/ /index.php?$args; 59 } 60 61 location ~ .*\.(php)?$ { 62 expires -1s; 63 try_files $uri =404; 64 fastcgi_split_path_info ^(.+\.php)(/.+)$; 65 include fastcgi_params; 66 fastcgi_param PATH_INFO $fastcgi_path_info; 67 fastcgi_index index.php; 68 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 69 fastcgi_pass 127.0.0.1:9000; 70 71 } 72 } 73 ------------------------------------------------------------------------ 74 cp /home/data/zabbix/zabbix/conf/zabbix.conf.php.example /home/data/zabbix/zabbix/conf/zabbix.conf.php 75 vim /home/data/zabbix/zabbix/conf/zabbix.conf.php 76 ------------------------------------------------------------------------ 77 <?php 78 // Zabbix GUI configuration file. 79 global $DB; 80 81 $DB['TYPE'] = 'MYSQL'; 82 $DB['SERVER'] = 'localhost'; 83 $DB['PORT'] = '0'; 84 $DB['DATABASE'] = 'zabbix'; 85 $DB['USER'] = 'root'; 86 $DB['PASSWORD'] = 'xxxxx'; 87 // Schema name. Used for IBM DB2 and PostgreSQL. 88 $DB['SCHEMA'] = ''; 89 90 $ZBX_SERVER = 'localhost'; 91 $ZBX_SERVER_PORT = '10051'; 92 $ZBX_SERVER_NAME = 'zabbix-server'; 93 94 $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG; 95 96 ------------------------------------------------------------------------ 97 98 #绑定hosts之后,打开浏览器访问