环境:

操作系统: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参数,如果带有这个参数,画图的时候出现

wKiom1fM4SmBRJkcAAJOxtHJDII525.png


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

CentOS 6.8编译PHP 7.0.10安装Zabbix3.0.4的更多相关文章

  1. ios – 200在xcode 7中生成DSMM警告

    解决方法我有同样的问题.Facebook表示他们已经意识到这一点并且不是高优先级,因为它不会影响应用程序.我回退到4.7.1警告问题不再存在.我不认为它会被拒绝但不能确定.

  2. xamarin.ios – Facebook iOS SDK:应用程序在启动时找不到“找不到符号:_ACFacebookAppIdKey.”仅在iOS 5中崩溃

    解决方法这是一个已修复的knownbug.目前唯一已知的解决方法是使用较旧版本的FacebookSDK.

  3. iOS – 友好的NSDate格式

    我需要在我的应用程序中显示帖子的日期给用户,现在我用这种格式:“5月25日星期五”.如何格式化NSDate以阅读“2小时前”的内容?使其更加用户友好.解决方法NSDateFormatter不能做这样的事情;你将需要建立自己的规则.我想像:所以这是打印’x分钟前’或’x小时前’从日期起24小时,通常是一天.

  4. osx – 无法创建目录/ var / teamsserver

    OpenSSH_6.2p2,OSSLShim0.9.8r8Dec2011debug1:Readingconfigurationdata/etc/ssh_configdebug1:/etc/ssh_configline20:Applyingoptionsfor*debug1:Connectingto1.2.3.4[1.2.3.4]portPORT.debug1:Connectionestablished.Couldnotcreatedirectory‘/var/teamsserver/.ssh’.debug

  5. ios – 如何在Xcode 4.5中完成代码签名

    解决方法事实证明,从AppStore升级XCode并不会自动升级所有内容.转到首选项/下载,并确保安装最新的命令行工具.

  6. xcode7 – 谁在创建文件“/private/var/tmp/Untitled-*.uicatalog”?

    我正在调查为什么TeamCity构建代理程序用完了磁盘,并且在/private/var/tmp中找到了超过11,000个文件,它们都以Untitled-.uicatalog行命名.每个文件至少0.6MB.总磁盘占用空间约为4GB.这些文件可以追溯到几个月,所以他们能够重新启动.谁在创造他们?Xcode在编译至少有一个图像的xcassets目录时创建这些目录.我可以删除它们吗?

  7. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  8. ios – Client.ipa不包含文件

    从过去的几天开始,我就把这头发错了.当我尝试提交基于cordova的iOS应用程序时,我收到一个错误,即符号工具失败.这就是我在日志中的内容:以下是尝试提交到应用商店时所述错误的屏幕截图:请帮忙.解决方法我有同样的错误,因为应用程序包中错误地包含了几个静态库(libXXX.a).它们显示在主.App下的最终上传确认框(列出权利和证书)中.我的解决方案是从项目中删除对这些静态库的所有引用,在链接器标

  9. ios – 如何获得.ipa文件路径

    我的应用程序包含敏感数据,所以我想为.ipa文件生成哈希键,是否可以这样做?

  10. ios – 在设备上运行时Swift应用程序崩溃 – dyld:未加载库:@ rpath / libswiftCore.dylib

    我是ios/xcode世界的新手,并尝试在运行iOSv8.0.2的iphone5上测试一个简单的Swift应用程序.该应用程序在xcode(版本6.1(6A1052d))中成功构建,但当它尝试在iphone上运行时,它崩溃并出现以下错误:我已经尝试过大多数建议,这些建议帮助了遇到此错误的其他人,但却没有运气.使用其他团队成员的构建环境构建时,相同的应用程序工作正常.我比较了构建设置,发现它们是相同

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部