环境:
操作系统:CentOS 6.8 x86_64(关闭SELinux、iptables)
Nginx:1.10.1
PHP: 7.0.10
MySQL:5.7.13
Zabbix:3.0.4
一.安装MySQL
1.安装依赖
yum-yinstallgccgcc-develgcc-c++gcc-c++-devellibaio-develboostboost-develautoconf*automake*zlib*libxml*ncurses-develncurseslibgcrypt*libtool*cmakeopensslopenssl-develbisonbison-develunzipnumactl-devel
2.卸载mysql-libs,否则下面安装mysql的时候会报错
rpm-e--nodepsmysql-libs
3.下载解压及安装
wgettarxfmysql-5.7.13-1.el6.x86_64.rpm-bundle.tar rpm-ivh`ls|grepmysql-community|grep-vtest`
4.由于mysql 5.7跟之前的5.6安全性有很大提升,有很多地方是不一样的
先重置密码
#修改默认字符集 sed-i'/\[mysqld\]/a\character-set-server=utf8'my.cnf #启动mysqld,并进行初始化 /etc/init.d/mysqldstart #停止mysqld,以便进行无密码启动 /etc/init.d/mysqldstop #无密码启动mysql mysqld_safe--skip-grant-tables& mysql #注意新版的mysql5.7在mysql.user表下已经没有password字段了 mysql>updatemysql.usersetauthentication_string=password('123456.abcd')whereuser='root'andHost='localhost'; ERROR1819(HY000):Yourpassworddoesnotsatisfythecurrentpolicyrequirements #会被告知你的密码不符合当前策略 #修改对应的密码策略,但是密码也至少为9位 mysql>setglobalvalidate_password_policy=0; mysql>updatemysql.usersetauthentication_string=password('123456.abcd')whereuser='root'andHost='localhost'; servicemysqldrestart
二.编译安装PHP 7.0.10
1.安装EPEL源及安装对应的依赖包
rpm-ivhhttp://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm yum-yinstalllibmcrypt-develmcryptmhashgd-develncurses-devellibxml2-develbzip2-devellibcurl-develcurl-devellibjpeg-devellibpng-develfreetype-develnet-snmp-developenssl-devel
2.安装libiconv
wgethttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz tarzxflibiconv-1.14.tar.gz cdlibiconv-1.14 ./configure--prefix=/usr/local/libiconv1.14 make&&makeinstall cd..
3.下载及编译php
wgethttp://cn2.php.net/get/php-7.0.10.tar.gz/from/this/mirror tarzxfmirror cdphp-7.0.10/ ./configure--prefix=/usr/local/php7.0.10--with-config-file-path=/usr/local/php7.0.10/etc--enable-mysqlnd--with-mysqli=mysqlnd--with-pdo-mysql=mysqlnd--with-iconv-dir=/usr/local/libiconv1.14--with-pcre-regex--with-zlib--with-bz2--enable-calendar--with-curl--enable-dba--with-libxml-dir--enable-ftp--with-gd--with-jpeg-dir--with-png-dir--with-zlib-dir--with-freetype-dir--enable-gd-native-ttf--with-mhash--enable-mbstring--with-mcrypt--enable-pcntl--enable-xml--disable-rpath--enable-shmop--enable-sockets--enable-zip--enable-bcmath--with-snmp--disable-ipv6--with-gettext--enable-fpm--with-fpm-user=www--with-fpm-group=www--with-openssl #注意不能有--enable-gd-jis-conv参数,否则后面图形乱码 make&&makeinstall
4.修改相应参数
cpsapi/fpm/init.d.php-fpm/etc/init.d/php-fpm chmod+x/etc/init.d/php-fpm cpphp.ini-production/usr/local/php7.0.10/etc/php.ini #修改时区 sed-i's#;date.timezone=#date.timezone=PRC#g'/usr/local/php7.0.10/etc/php.ini #隐藏PHP版本 sed-i's#expose_php=On#expose_php=Off#g'/usr/local/php7.0.10/etc/php.ini cp/usr/local/php7.0.10/etc/php-fpm.d/www.conf.default/usr/local/php7.0.10/etc/php-fpm.d/www.conf sed-i's#;rlimit_files=1024#rlimit_files=65535#g'/usr/local/php7.0.10/etc/php-fpm.d/www.conf sed-i's#;listen.owner=www#listen.owner=www#g'/usr/local/php7.0.10/etc/php-fpm.d/www.conf sed-i's#;listen.group=www#listen.group=www#g'/usr/local/php7.0.10/etc/php-fpm.d/www.conf sed-i's#;listen.mode=0660#listen.mode=0660#g'/usr/local/php7.0.10/etc/php-fpm.d/www.conf sed-i's#listen=127.0.0.1:9000#;listen=127.0.0.1:9000#g'/usr/local/php7.0.10/etc/php-fpm.d/www.conf sed-i'/;listen=127.0.0.1:9000/a\listen=/tmp/php-fpm.sock'/usr/local/php7.0.10/etc/php-fpm.d/www.conf #安全配置,禁用相关函数,注意不能包含scandir和fsockopen,zabbix需要使用到这2个函数 sed-i's#^;cgi.fix_pathinfo=1#cgi.fix_pathinfo=0#g'/usr/local/php7.0.10/etc/php.ini sed-i's#disable_functions=#disable_functions=exec,system,eval,passthru,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,fsocket,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server#g'/usr/local/php7.0.10/etc/php.ini #限制执行目录,我的WEB目录都在/var/www/html下 sed-i's#;open_basedir=#open_basedir="/var/www/html/:/tmp/"#g'/usr/local/php7.0.10/etc/php.ini #修改PHP相关参数以保证zabbix最低要求 sed-i's#max_execution_time=30#max_execution_time=300#g'/usr/local/php7.0.10/etc/php.ini sed-i's#max_input_time=60#max_input_time=300#g'/usr/local/php7.0.10/etc/php.ini sed-i's#post_max_size=8M#post_max_size=24M#g'/usr/local/php7.0.10/etc/php.ini sed-i's#upload_max_filesize=2M#upload_max_filesize=4M#g'/usr/local/php7.0.10/etc/php.ini #修改php连接mysql sed-i's#pdo_mysql.default_socket=#pdo_mysql.default_socket=/var/lib/mysql/mysql.sock#g'/usr/local/php7.0.10/etc/php.ini sed-i's#mysqli.default_socket=#mysqli.default_socket=/var/lib/mysql/mysql.sock#g'/usr/local/php7.0.10/etc/php.ini 增加PHP执行用户 groupadd-g10080www useradd-gwww-u10080-s/sbin/nologin-d/dev/nullwww
三.安装Nginx
1.下载及安装nginx
wget tarzxfnginx-1.10.1.tar.gz cdnginx-1.10.1 #隐藏Nginx版本 sed-i's#1.10.1#2.2.14.0#g'src/core/nginx.h sed-i's#"nginx/"#"Apache/"#g'src/core/nginx.h sed-i's#"Server:nginx"#"Server:Apache"#g'src/http/ngx_http_header_filter_module.c sed-i's#<center>nginx</center>#<center>Apache</center>#g'src/http/ngx_http_special_response.c ./configure--prefix=/usr/local/nginx1.10.1--user=www--group=www--with-http_stub_status_module--with-http_gzip_static_module--with-http_ssl_module make&&makeinstall sed-i's#nginx/$nginx_version;#Apache/$nginx_version;#g'/usr/local/nginx1.10.1/conf/fastcgi.conf
2.配置Nginx
vim/usr/local/nginx1.10.1/conf/nginx.conf userwwwwww; worker_processes4; error_loglogs/error.log; pidlogs/nginx.pid; worker_rlimit_nofile65535; events{ useepoll; worker_connections65535; } http{ includemime.types; default_typeapplication/octet-stream; log_formatmain'$remote_addr-$remote_user[$time_local]"$request"' '$status$body_bytes_sent"$http_referer"' '"$http_user_agent""$http_x_forwarded_for"'; access_loglogs/access.logmain; server_names_hash_bucket_size128; client_header_buffer_size32k; large_client_header_buffers432k; client_max_body_size8m; fastcgi_connect_timeout300; fastcgi_send_timeout300; fastcgi_read_timeout300; fastcgi_buffer_size64k; fastcgi_buffers464k; fastcgi_busy_buffers_size128k; fastcgi_temp_file_write_size128k; fastcgi_paramHTTP_PROXY""; #隐藏后端服务器的相关参数 proxy_hide_headerX-Powered-By; proxy_hide_headerX-Forwarded-For; proxy_hide_headerX-AspNet-Version; proxy_hide_headerX-AspNetMvc-Version; proxy_hide_headerVia; proxy_hide_headerX-Varnish; proxy_hide_headerServer; gzipon; gzip_min_length1k; gzip_buffers416k; gzip_http_version1.1; gzip_comp_level5; gzip_disable"MSIE[1-6]\."; gzip_typestext/plaintext/csstext/xmlapplication/javascriptapplication/x-javascript; gzip_varyon; includehost/*.conf; }
3.配置站点
mkdir/usr/local/nginx1.10.1/conf/host vim/usr/local/nginx1.10.1/conf/host/zabbix.conf server{ listen80; server_namelocalhostzabbix; location/{ root/var/www/html; indexindex.htmlindex.htmindex.php; error_page500502503504/50x.html; location=/50x.html{ roothtml; } location~\.php${ fastcgi_passunix:/tmp/php-fpm.sock; fastcgi_indexindex.php; fastcgi_paramHTTP_PROXY""; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; includefastcgi_params; } } }
四.安装Zabbix
1.下载及安装zabbix
yum-yinstallOpenIPMI-devel wgethttp://120.52.73.47/nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.4/zabbix-3.0.4.tar.gz tar-zxvfzabbix-3.0.4.tar.gz cdzabbix-3.0.4 ./configure--prefix=/usr/local/zabbix3.0.4--enable-server--with-mysql--with-net-snmp--with-libxml2--with-libcurl--with-openipmi--enable-agent make&&makeinstalll
2.配置zabbix
cpmisc/init.d/fedora/core5/zabbix_server/etc/init.d/ cpmisc/init.d/fedora/core5/zabbix_agentd/etc/init.d/ sed-i's#/usr/local/sbin/zabbix_server#/usr/local/zabbix3.0.4/sbin/zabbix_server#g'/etc/init.d/zabbix_server sed-i's#/usr/local/sbin/zabbix_agentd#/usr/local/zabbix3.0.4/sbin/zabbix_agentd#g'/etc/init.d/zabbix_agentd
3.复制WEB站点
mkdir/var/www/html/zabbix cp-rffrontends/php/*/var/www/html/zabbix
4.zabbix乱码图形处理
将Windows操作系统的C:\Windows\Fonts\simkai.ttf字体文件上传至/var/www/html/zabbix/font。防止出现乱码情况
sed-i's#DejaVuSans#simkai#g'/var/www/html/zabbix/include/defines.inc.php
5.使用MySQL创建zabbix数据库并授权
mysql-uroot-p mysql>createdatabasezabbixcharactersetutf8; mysql>grantallonzabbix.*to'zabbix'@'localhost'identifiedby'zabbix.localhost';
6.导入数据库
进入zabbix-3.0.4源码文件目录 mysql-uroot-pzabbix<database/mysql/schema.sql mysql-uroot-pzabbix<database/mysql/data.sql mysql-uroot-pzabbix<database/mysql/images.sql
7.修改zabbix_server配置文件,以下是我的配置文件
egrep-v'^:|^#'/usr/local/zabbix3.0.4/etc/zabbix_server.conf|awk'NF>0' LogFile=/tmp/zabbix_server.log DBName=zabbix DBUser=zabbix DBPassword=zabbix.localhost StartPollers=10 StartPingers=4 StartDiscoverers=4 JavaGateway=127.0.0.1 JavaGatewayPort=10052 StartJavaPollers=5 StartVMwareCollectors=5 VMwareFrequency=60 VMwareCacheSize=8M
8.再修改zabbix web目录下的配置文件
vim/var/www/html/zabbix3.0.4/conf/zabbix.conf.php <?php //ZabbixGUIconfigurationfile. global$DB; $DB['TYPE']='MYSQL'; $DB['SERVER']='localhost'; $DB['PORT']='0'; $DB['DATABASE']='zabbix'; $DB['USER']='zabbix'; $DB['PASSWORD']='zabbix.localhost'; //Schemaname.UsedforIBMDB2andPostgreSQL. $DB['SCHEMA']=''; $ZBX_SERVER='localhost'; $ZBX_SERVER_PORT='10051'; $ZBX_SERVER_NAME=''; $IMAGE_FORMAT_DEFAULT=IMAGE_FORMAT_PNG;
QA:
1.zabbix乱码问题
a.数据库字符集问题,创建数据库时指定字符集
create database zabbix character set utf8;
b.未上传中文字体,或者未修改include/define.inc.php文件
c.编译PHP时携带有--enable-gd-jis-conv参数,如果带有这个参数,画图的时候出现
2.php7安装memcache问题
gitclone cdpecl-memcache /usr/local/php7.0.10/bin/phpize ./configure--with-php-config=/usr/local/php7.0.10/bin/php-config make&&makeinstall echo'extension="memcache.so"'>>/usr/local/php7.0.10/etc/php.ini #检查php是否加载memcache模块 /usr/local/php7.0.10/bin/php-m|grepmemcache #重启php-fpm服务以加载memcache模块 /etc/init.d/php-fpmrestart
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。