当前位置: 首页 > news >正文

nginx+nagios在ubuntu下搭建过程全程指导

今天终于把nginx+nagios在我自己的ubuntu机器下搭建起来,特此写一个教程,有2个目的,1作为备忘录留为己用,2作为新手教程指导。 

1.安装nginx,在ubuntu下apt-cache search nginx可以搜索到nginx包,我安装的是0.7.65版本。
fcgiwrap - simple server to run CGI applications over FastCGI
collectd-core - statistics collection and monitoring daemon (core system)
nginx - small, but very powerful and efficient web server and mail proxy
nginx-dbg - Debugging symbols for nginx
php5-fpm - server-side, HTML-embedded scripting language (FPM binary)


2.此处列出了fagiwrap包以及php5-fpm包均是以后需要安装的包,如果搜索得到即可立即安装否则等待下面的步骤进行安装。安装方法: 
sudo apt-get install nginx


3.nginx部署nagios需要安装fagiwrap以及php5-fpm,可以先进行安装,我安装的nagios3.2.0版本是不带有这2个ubuntu包的。 


4.fagiwrap以及php5-fpm的安装方法: 参考我的另一篇文章  


5.启动fcgiwrap以及php5-fpm服务,这里要记得修改2个包的配置文件,将运行方式修改为sock方式则可以在如下目录生成相应的socket文件unix:/var/run/fcgiwrap.socket,unix:/var/run/php5-fpm.sock,另fastcgi内包含大量的脚本文件cgi,这些脚本会在/etc/nginx/fastcgi_params目录下,如果你安装的fastcgi版本低,则该目录下是一个.conf的文件,修改php5-fpm的监听方式修改/etc/php5/fpm/php5-fpm.conf文件,找到如下位置并修改成这个样子 
listen = /var/run/php5-fpm.sock 
;listen = 127.0.0.1:9000 

6.给nagios访问添加验证服务,创建一个nagiosadmin的用户用于Nagios的WEB接口登录。记下你所设置的登录口令,一会儿你会用到它 
这里要借助于apche的htpasswd,在有apache机器上执行下列命令 

    /usr/local/apache2/bin/htpasswd -c /usr/local/server/nginx/conf/htppasswd nagiosadmin 


7.修改nginx配置:
user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    # multi_accept on;
}

http {
    include       /etc/nginx/mime.types;

    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

        server {
        listen       9999;
        server_name  10.18.105.110;
        auth_basic            "Restricted Nagios Area!";
        auth_basic_user_file  /opt/nagios/etc/htpasswd.users;
        charset utf-8;
        root   /usr/share/nagios3/htdocs ;
        index  index.html index.htm index.php;

        location /nagios3/stylesheets {
                alias /etc/nagios3/stylesheets;
        }


        location /nagios3/images {
                 alias /usr/share/nagios3/htdocs/images;
        }

        location ~ \.cgi$ {
                root /usr/lib/cgi-bin/nagios3;

                rewrite ^/cgi-bin/nagios3/(.*)$ /$1;

                include /etc/nginx/fastcgi_params;

                fastcgi_param AUTH_USER $remote_user;
                fastcgi_param REMOTE_USER $remote_user;
                fastcgi_param SCRIPT_FILENAME /usr/lib/cgi-bin/nagios3$fastcgi_script_name;

                fastcgi_pass unix:/var/run/fcgiwrap.socket;
        }

        location ~ \.php$ {
                include /etc/nginx/fastcgi_params;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
        }}
}

8.配置文件内着重注意的地方1,root   /usr/share/nagios3/htdocs ,nagios首页页面所在位置,不要定位到example的index页面上去,2,样式以及图片的过滤路径,有可能找不到需要你去配置,3.找不到cgi脚本报脚本名或者document root错误,4,fastcgi参数有include /etc/nginx/fastcgi_params;老版本可能是一个配置文件,而不是一个文件夹,5,fastcgi_param SCRIPT_FILENAME /usr/lib/cgi-bin/nagios3$fastcgi_script_name; 这里最好重新定位一下你的脚本在哪里,否则fastcgi自带的配置文件仍然报找不到脚本 


参考文档: 

在nginx上搭建nagios 
ubuntu php5-fpm安装 
Nagios with NginX in Ubuntu 
How to serve nagios with nginx 

相关文章:

  • 2019年2月
  • NTFS与FAT32有什么区别
  • 常用Linux shell命令汇总
  • Kafka 消费者组示例
  • 【转】JAVA基础知识总结
  • SDNU 1533 寻找复读机
  • Rust语言开发基础(八)Rust的接口及其实现
  • Flask 源码流程,上下文管理
  • ThoughtWorks 2016年第1期DNA活动总结
  • Android开发者之——做一个能服务自己的东西,好不好看都不重要
  • 软件事务内存导论(三)用Akka/Multiverse STM实现并发
  • 本地jar安装到maven仓库 和 ivy仓库方法
  • XUL 用户界面语言介绍
  • Reddit引入Envoy支持架构改造,性能显著提升
  • 弄懂Favicon
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • Docker: 容器互访的三种方式
  • HTML5新特性总结
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • js中的正则表达式入门
  • PermissionScope Swift4 兼容问题
  • Python学习之路13-记分
  • Swift 中的尾递归和蹦床
  • Webpack 4x 之路 ( 四 )
  • 在Unity中实现一个简单的消息管理器
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 【干货分享】dos命令大全
  • 湖北分布式智能数据采集方法有哪些?
  • ​ubuntu下安装kvm虚拟机
  • ​VRRP 虚拟路由冗余协议(华为)
  • #laravel 通过手动安装依赖PHPExcel#
  • $.ajax()参数及用法
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (Python) SOAP Web Service (HTTP POST)
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (笔试题)合法字符串
  • (二)windows配置JDK环境
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (三)docker:Dockerfile构建容器运行jar包
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (四)库存超卖案例实战——优化redis分布式锁
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • 、写入Shellcode到注册表上线
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .bat批处理出现中文乱码的情况
  • .Net 6.0 处理跨域的方式
  • .NET Core Web APi类库如何内嵌运行?
  • .NET Micro Framework 4.2 beta 源码探析