注:文章内部分内容摘抄自公司同事编写的技术文档,在此对他致以衷心的谢意!
Cacti、Nagios、Zabbix都是生产环境常用的监控软件,为了整合资源便于管理一般都将这三种监控软件整合到一台服务器中,下面是工作中总结的适合Cacti、Zabbix、Nagios的编译参数和基本配置方法,希望对大家有帮助。
1. php编译所需依赖包安装(cacti、zabbix需要的编译参数)
- yum -y install "pcre*"
- yum -y install "net-snmp*"
- yum -y install zlib zlib-devel
- yum -y install libpng libpng-devel
- yum -y install freetype freetype-devel
- yum -y install "*jpeg*"
- yum -y install bzip2 bzip2-devel
- yum -y install fontconfig fontconfig-devel
- yum -y install gd gd-devel
- yum -y install "libxml*"
2. php-fastcgi(php-fpm)编译和安装配置(php-5.3.13)
- ./configure \
- --prefix=/usr/local/php-5.3.13 \
- --enable-fpm \
- --with-fpm-user=daemon \
- --with-fpm-group=daemon \
- --with-pdo-mysql=/usr/local/mysql \
- --with-mysql=/usr/local/mysql \
- --with-mysqli=/usr/local/mysql/bin/mysql_config \
- --with-config-file-path=/usr/local/php-5.3.13/etc \
- --with-iconv \
- --with-libxml-dir \
- --with-gd \
- --with-jpeg-dir \
- --with-png-dir \
- --with-bz2 \
- --with-freetype-dir \
- --with-zlib \
- --enable-gd-native-ttf \
- --enable-mbstring \
- --enable-sockets \
- --enable-gd-jis-conv \
- --with-freetype-dir \
- --with-curl \
- --enable-xml \
- --enable-pdo \
- --enable-bcmath
- make && make install
- cd /usr/local; ln -s php-5.3.13 php
- mkdir /tmp/sess
- chmod -R 777 /tmp/sess
3. php apache模块 编译和安装配置(php-5.3.13)
- ./configure \
- --prefix=/usr/local/php-5.3.13 \
- --with-apxs2=/usr/local/apache/bin/apxs \
- --with-pdo-mysql=/usr/local/mysql \
- --with-mysql=/usr/local/mysql \
- --with-mysqli=/usr/local/mysql/bin/mysql_config \
- --with-config-file-path=/usr/local/php-5.3.13/etc \
- --with-iconv \
- --with-libxml-dir \
- --with-gd \
- --with-jpeg-dir \
- --with-png-dir \
- --with-bz2 \
- --with-freetype-dir \
- --with-zlib \
- --enable-gd-native-ttf \
- --enable-mbstring \
- --enable-sockets \
- --with-pdo-oci=instantclient,/usr,11.2 \
- --enable-gd-jis-conv \
- --with-freetype-dir \
- --with-curl \
- --enable-xml \
- --enable-pdo \
- --enable-bcmath \
- --with-pear \
- --with-xmlrpc \
- --enable-zip
- make && make install
- cd /usr/local; ln -s php-5.3.13 php
- mkdir /tmp/sess
- chmod -R 777 /tmp/sess
4. 安装pear日志功能
- cd /usr/local/php/bin; ./pear install log
5. php-fastcgi(php-fpm) 配置文件包括php.ini和php-fpm.conf 请看附件“php和php-fpm配置文件”
6. php apache模块 配置文件包括php.ini 请看附件“php配置文件”
7. php-fpm启动脚本配置
- 1. 创建/etc/init.d/php-fpm文件,并将以下代码复制到该文件中
- #! /bin/sh
- ### BEGIN INIT INFO
- # Provides: php-fpm
- # Required-Start: $remote_fs $network
- # Required-Stop: $remote_fs $network
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: starts php-fpm
- # Description: starts the PHP FastCGI Process Manager daemon
- ### END INIT INFO
- prefix=/usr/local/php
- exec_prefix=${prefix}
- php_fpm_BIN=${exec_prefix}/sbin/php-fpm
- php_fpm_CONF=${prefix}/etc/php-fpm.conf
- php_fpm_PID=${prefix}/var/run/php-fpm.pid
- php_opts="--fpm-config $php_fpm_CONF"
-
- wait_for_pid () {
- try=0
- while test $try -lt 35 ; do
- case "$1" in
- 'created')
- if [ -f "$2" ] ; then
- try=''
- break
- fi
- ;;
- 'removed')
- if [ ! -f "$2" ] ; then
- try=''
- break
- fi
- ;;
- esac
- echo -n .
- try=`expr $try + 1`
- sleep 1
- done
- }
- case "$1" in
- start)
- echo -n "Starting php-fpm "
- $php_fpm_BIN $php_opts
- if [ "$?" != 0 ] ; then
- echo " failed"
- exit 1
- fi
- wait_for_pid created $php_fpm_PID
- if [ -n "$try" ] ; then
- echo " failed"
- exit 1
- else
- echo " done"
- fi
- ;;
- stop)
- echo -n "Gracefully shutting down php-fpm "
- if [ ! -r $php_fpm_PID ] ; then
- echo "warning, no pid file found - php-fpm is not running ?"
- exit 1
- fi
- kill -QUIT `cat $php_fpm_PID`
- wait_for_pid removed $php_fpm_PID
- if [ -n "$try" ] ; then
- echo " failed. Use force-quit"
- exit 1
- else
- echo " done"
- fi
- ;;
- force-quit)
- echo -n "Terminating php-fpm "
- if [ ! -r $php_fpm_PID ] ; then
- echo "warning, no pid file found - php-fpm is not running ?"
- exit 1
- fi
- kill -TERM `cat $php_fpm_PID`
- wait_for_pid removed $php_fpm_PID
- if [ -n "$try" ] ; then
- echo " failed"
- exit 1
- else
- echo " done"
- fi
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- reload)
- echo -n "Reload service php-fpm "
- if [ ! -r $php_fpm_PID ] ; then
- echo "warning, no pid file found - php-fpm is not running ?"
- exit 1
- fi
- kill -USR2 `cat $php_fpm_PID`
- echo " done"
- ;;
- *)
- echo "Usage: $0 {start|stop|force-quit|restart|reload}"
- exit 1
- ;;
- esac
- 2. 执行以下指令 配置php-fpm为服务及开机启动
- chmod +x /etc/init.d/php-fpm
- chkconfig --add php-fpm
- chkconfig php-fpm on
- /etc/init.d/php-fpm start
转载于:https://blog.51cto.com/rolandqu/945769