nagios平台从apache迁移到nginx

nginx的性能远远优于apache,但由于nagios的web界面中包含php和c-cgi程序,因此需要两套fcgi管理工具(并非必须)和两套解释器(必须)。php用php-cgi跑就可以,c-cgi我选用fcgiwrap。下面介绍安装/配置步骤。

php-fpm:是为PHP打的一个FastCGI管理补丁,可以平滑变更php.ini配置而无需重启php-cgi
Spawn-fcgi:是lighttpd的一个分支项目,是一个cgi进程的管理器

● php 打php-fpm补丁,编译时启用--enable-fastcgi --enable-fpm 参数,使用php-fpm管理php-cgi。php安装详细步骤参见 张宴文章:http://blog.s135.com/nginx_php_v5/
● c-cgi 使用 Spawn-fcgi 管理 ,利用fcgiwrap驱动。fcgiwrap 介绍参见http://nginx.localdomain.pl/wiki/FcgiWrap

php-cgi 监听 127.0.0.1:9000
fcgiwrap 监听 127.0.0.1:10000

nagios 安装配置不是本文重点,略过。web 目录如下:
/usr/local/nagios/share

安装spawn-fcgi

wget http://download.lighttpd.net/spawn-fcgi/releases-1.6.x/spawn-fcgi-1.6.3.tar.gz
tar xf spawn-fcgi-1.6.3.tar.gz
cd  /usr/local/src/spawn-fcgi-1.6.3 
./configure  --prefix=/usr/local/spawn-fcgi
make && make install

安装fcgi库

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/fcgi-2.4.0-10.el6.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/fcgi-devel-2.4.0-10.el6.x86_64.rpm
rpm -ivh fcgi-2.4.0-10.el6.x86_64.rpm
rpm -ivh fcgi-devel-2.4.0-10.el6.x86_64.rpm

注:以上fcgi软件的rpm为RHEL6对应版本的,如果是5系列请安装RHEL5对应版本的fcgi库,RHEL5软件下载地址如下:

fcgi: http://flexbox.sourceforge.net/centos/5/x86_64/fcgi-2.4.0-10.el5.x86_64.rpm

fcgi-devel:http://flexbox.sourceforge.net/centos/5/x86_64/fcgi-devel-2.4.0-10.el5.x86_64.rpm

安装fcgiwrap

fcgiwrap wiki --> http://nginx.localdomain.pl/wiki/FcgiWrap

最新版本为gnosek-fcgiwrap-1.1.0-0-g333ff99.tar.gz

cd gnosek-fcgiwrap-333ff99/
autoreconf -i
./configure  --prefix=/usr/local/fcgiwrap
make && make install

创建一个shell脚本来用spawn-fcgi 启动fcgiwrap实例

vi /usr/local/bin/c-fcgi.sh

#!/bin/sh
/usr/local/spawn-fcgi/bin/spawn-fcgi -f /usr/local/fcgiwrap/bin/fcgiwrap -a 127.0.0.1 -p 10000-F 3 -P /var/run/fastcgi-c.pid -u daemon -g daemon

chmod +x /usr/local/bin/c-fcgi.sh

参数含义如下:

-f <fcgiapp> 指定调用FastCGI的进程的执行程序位置

-a <addr> 绑定到地址addr

-p <port> 绑定到端口port

-s <path> 绑定到unixsocket的路径path

-C < children> 指定产生的FastCGI的进程数(仅用于PHP)

-F <children> 指定产生的FastCGI的进程数

-P <path> 指定产生的进程的PID文件路径

-u和-g FastCGI使用什么身份(-u用户-g用户组)运行,这里使用nginx的用户和组daemon运行

创建一个系统启动进程,方便使用service 和chkconfig 命令管

vi /etc/init.d/c-fcgi

#!/bin/bash
# c-fcgi - this script starts and stops the fcgiwrap instance
#
# chkconfig:   - 96 28
# description:  c-fcgi
# processname: c-fcgi

C_SCRIPT=/usr/local/bin/c-fcgi.sh

RETVAL=0

case "$1" in
start)
echo "Starting fastcgi"
$C_SCRIPT
RETVAL=$?
;;
stop)
echo "Stopping fastcgi"
killall -9 fcgiwrap
RETVAL=$?
;;
restart)
echo "Restarting fastcgi"
killall -9 fcgiwrap
$C_SCRIPT
RETVAL=$?
;;
*)
echo "Usage: c-fastcgi {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
# <span style="color: #0000ff;">chkconfig --add c-fcgi</span>
# <span style="color: #0000ff;">chkconfig c-fcgi on</span>
# <span style="color: #0000ff;">service c-fcgi start</span>

验证启动,是否提供了相应的端口

#netstat -tulnp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      32629/php-cgi
tcp        0      0 127.0.0.1:10000             0.0.0.0:*                   LISTEN      20039/fcgiwrap
#ps -ef | grep fcgiwrap | grep -v grep

daemon      20039     1  0 15:20 ?        00:00:00 /usr/local/bin/fcgiwrap
daemon      20040     1  0 15:20 ?        00:00:00 /usr/local/bin/fcgiwrap
daemon      20041     1  0 15:20 ?        00:00:00 /usr/local/bin/fcgiwr
#ps -ef | grep php-cgi | grep -v grep

nginx    22046     1  0 Jul10 ?        00:00:00 /usr/bin/php-cgi
nginx    22047 22046  0 Jul10 ?        00:00:00 /usr/bin/php-cgi
nginx    22048 22046  0 Jul10 ?        00:00:00 /usr/bin/php-cgi
nginx    22049 22046  0 Jul10 ?        00:00:00 /usr/bin/php-cgi
nginx    22050 22046  0 Jul10 ?        00:00:00 /usr/bin/php-cgi
nginx    22051 22046  0 Jul10 ?        00:00:00 /usr/bin/php-cgi

配置nginx相关nagios设置

server {
        listen 80;
        server_name nagios.icoffer.cn;
        root /usr/local/nagios/share;
        index index.php;
        auth_basic      "Welcome to Jobkoo Nagios Monitor System!";
        auth_basic_user_file    ./htpasswd;
        
        location /nagios{
        alias /usr/local/nagios/share/;
        }

        location ~ .*\.cgi?$ {
        root /usr/local/nagios/sbin;
        rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break;
        fastcgi_pass  127.0.0.1:10000;
        fastcgi_index index.cgi;
        fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include         fastcgi_params;
        }

        location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_read_timeout 500;
        include        fastcgi_params;
        fastcgi_buffers 8 128k;
        }
}

配置Nagios Nginxweb认证

htpasswd -c /etc/nginx/conf.d/htpasswd admin
cat /etc/nginx/conf.d/htpasswd
admin:QqbxsY3jdkOpQ

若没有htpasswd命令,请安装httpd-tools包

时间: 2024-10-17 01:03:01

nagios平台从apache迁移到nginx的相关文章

从ASM迁移到ARM(1):平台支持的迁移服务

Azure上的ARM模式为用户带来更好的管理,更多新的特性,更好的体验,因此目前正在使用经典模式(ASM)的用户,在了解和使用了ARM之后,也在考虑如何将原来基于ASM模式的虚拟机,存储,网络等IAAS服务转向ARM模式,本文就来介绍一下相关的工具和服务. 目前从ASM迁移到ARM,主要有以下一些工具和服务可以使用: 平台内置的迁移服务:这个服务是内置的,只需要你注册Resource Provider就可以使用. 主要的优点: 虚拟机无宕机时间 有官方支持: 主要缺点 迁移粒度只能通过vnet或

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客 VPS主机   2014年06月02日 17:20 评论» 文章目录 Debian上安装 CentOS上安装 Ubuntu上安装 装Wordpress HHvm安装小结 HHVM是一个强大的可以用于替代PHP的建站环境,出自Facebook团队,它是一个PHP的JIT(Just-In- Time)编译器,同时具有产生快速代码和即时编译的优点.实践证明HHVM可以明显地提升PHP执行速度,节省大量的服务器资源

Nginx 反向代理Apache要保证Apache虚拟机和Nginx虚拟机的一致性

1.nginx相对于apache的优点:  轻量级,同样起web 服务,比apache 占用更少的内存及资源  抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 apache 相对于nginx 的优点: rewrite , 比nginx 的rewrite 强大  动态页面 模块超多,基本想到的都可以找到 少bug ,nginx 的bug 相对较多 超稳定 nginx处理静态文件好,耗费内存少 . nginx处理动态请求是鸡肋

大数据平台Hive数据迁移至阿里云ODPS平台流程与问题记录

一.背景介绍 最近几天,接到公司的一个将当前大数据平台数据全部迁移到阿里云ODPS平台上的任务.而申请的这个ODPS平台是属于政务内网的,因考虑到安全问题当前的大数据平台与阿里云ODPS的网络是不通的,所以不能使用数据采集工作流模板. 然而,考虑到原大数据平台数据量并不是很大,可以通过将原大数据平台数据导出到CSV文件,然后再将CSV文件导入到ODPS平台.在这个过程中踩的坑有点多,所以想写篇文档作为记录. 二.大数据平台Hive数据导出到本地 编写export_data.sh脚本如下: #!/

VMware vSphere 4.0平台虚机迁移至VMware vSphere 6.0平台方法

将原有老环境中的VMware vSphere 4.0平台中虚机迁移至VMware vSphere 6.0平台中一.迁移思路思路搭建网络文件服务器NFS服务,在本次项目中搭建了两套NFS服务器,一台为Linux 5.5版本部署的NFS Server,部署的IP地址为192.168.15.252,NFS共享存储目录为/NFS,另一台为通过UNIX平台FreeNAS9.10部署一套NFS服务,部署的IP地址为192.168.15.253,共享存储目录为/mnt/data01/nfs,其中vSphere

Apache/Tomcat/JBOSS/Nginx区别(转)

先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. 在Apache基金会里面ApacheServer永远会被赋予最大的支持,毕竟大儿子最亲嘛,而Apache的开源服务器软件Tomcat同样值得关注,毕竟Tomcat是开源免费的产品,用户会给予最大的支持.但是经常在用Apache和Tomcat等这些服务器时,你总感觉还是不清楚他们之间有什么关系,在用

Apache/Tomcat/JBOSS/Nginx区别

先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. 在Apache基金会里面ApacheServer永远会被赋予最大的支持,毕竟大儿子最亲嘛,而Apache的开源服务器软件Tomcat同样值得关注,毕竟Tomcat是开源免费的产品,用户会给予最大的支持.但是经常在用Apache和Tomcat等这些服务器时,你总感觉还是不清楚他们之间有什么关系,在用

如何针对已经安装好的Apache/PHP/Mysql/Nginx程序查看他们的编译参数

我们经常要对我们已经安装好的程序进行查看他当时的一些编译参数,特别是针对要安装多台服务器来说,而且要保证其他服务器上的软件版本和安装参数必须一致时,这种查看就是很有必要的了.具体查看各程序的编译参数命令如下: 查看Nginx编译参数: C/C++ Code复制内容到剪贴板 /usr/local/nginx/sbin/nginx -V 查看Apache编译参数: C/C++ Code复制内容到剪贴板 cat /usr/local/apache/build/config.nice 查看php编译参数

Azure平台跨存储迁移虚拟机

客户场景描述: 近段时间,客户注册了Azure测试账号(一个月的使用时间),进行测试使用,搭建了WEB网站服务,客户对Azure云平台,针对web开发,应用服务,非常满意,准备把web网站正式投入到生产,由于Azure测试账号只能试用一个月的时间,而测试账号不支持更转正式Azure账号使用. 客户如下需求: Azure测试账号里的虚拟机和数据库迁移到正式的Azure上. 迁移虚拟机方法: 方法一: 虚拟机VHD和数据VHD文件,创建成磁盘,下载到本地,在进行上传到正式账号平台下,由于文件数据太大