Nginx + nagios +perl fcgi 取缔apache

简介:
Nginx + nagios +perl fcgi
 
通常使用:nginx 代理+ apache  CGI部分交给apache来处理
本文取消apache 

Nginx nagios 安装略
 
安装perl cgi模块
wget http://www.cpan.org/modules/by-module/FCGI/FCGI-0.67.tar.gz      
tar -zxvf FCGI-0.67.tar.gz      
cd FCGI-0.67      
perl Makefile.PL     
make && make install

安装FCGI-ProcManager:
wget http://search.cpan.org/CPAN/authors/id/G/GB/GBJK/FCGI-ProcManager-0.18.tar.gz     
tar -xzxf FCGI-ProcManager-0.18.tar.gz      
cd FCGI-ProcManager-0.18      
perl Makefile.PL      
make      make install
 
下载nginx-fcgi脚本
放置在:/etc/nginx-fcgi
      注释掉nginx-fcgi.txt 中的
      if ( $> == “0″ ) {
      print “\n\tERROR\tRunning as a root!\n”;
      print “\tSuggested not to do so !!!\n\n”;
      exit 1;
      } 
      否则会提示:ERROR   Running as a root!  Suggested not to do so !!!

启动方法:
/etc/nginx-fcgi -l /var/log/nginx/nginx-fcgi.log -pid /var/run/nginx-fcgi.pid -S /var/run/nginx-fcgi.sock
注意给 nginx-fcgi.sock 777的权限
运行前使用cpan 安装 FCGI;  Getopt::Long; IO::All;  Socket;
 
配置文件参考:/usr/local/nginx/conf/vhosts/nagios.conf
server
 {
   listen      80;
   server_name  IP;
root /usr/local/nagios/share;
index index.php;
location ~ .*\\.(php|php5)?$
{
fastcgi_pass  127.0.0.1:9000;
fastcgi_index index.php;
include  enable_php5.conf;
auth_basic \"Nagios Login pain\";
auth_basic_user_file /usr/local/nagios/etc/htpasswd;
}
location ~ .*\\.cgi$ {
root /usr/local/nagios/sbin;
rewrite ^/nagios/cgi-bin/(.*)\\.cgi /$1.cgi break;
fastcgi_pass unix:/var/run/ng-fcgi.sock;
fastcgi_index index.cgi;
fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin/$fastcgi_script_name;
fastcgi_param HTTP_ACCEPT_LANGUAGE zh-cn;
include enable_php5.conf;
auth_basic \"Nagios Login pain\";
auth_basic_user_file /usr/local/nagios/etc/htpasswd;
         }
location /nagios/ {
alias /usr/local/nagios/share/;     
  }
 
enable_php5.conf 参考:
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;
 
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
 
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
 
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
fastcgi_param HTTP_ACCEPT_ENCODING gzip,deflate;
 
如果报CGI 无法访问的错。请修改nagios里cgi.cfg  use_authentication=1 给予执行权限


本文转自守住每一天51CTO博客,原文链接:http://blog.51cto.com/liuyu/241867,如需转载请自行联系原作者
相关文章
|
6月前
|
Java 应用服务中间件 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
112 2
简介Nginx,Tomcat和 Apache
|
17天前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
83 7
|
3月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
3月前
|
Web App开发 应用服务中间件 网络安全
如何在 Apache 和 Nginx 上配置 OCSP Stapling
如何在 Apache 和 Nginx 上配置 OCSP Stapling
80 8
|
3月前
|
负载均衡 应用服务中间件 Apache
Nginx与Apache的终极对决:揭秘Web服务器界的“速度与激情”!你不可不知的性能霸主如何颠覆传统,震撼互联网的根基!
【8月更文挑战第13天】互联网技术发展中,Web服务器至关重要,Nginx与Apache是最广泛使用的两种。Apache历史悠久,但Nginx以轻量级和高性能脱颖而出。Nginx采用事件驱动架构,高效处理大量并发连接,而Apache使用进程驱动,高并发下资源消耗大。以餐厅为例,Nginx像大堂经理同时处理多个顾客需求,远比Apache为每位顾客分配服务员更高效。性能测试显示Nginx处理能力远超Apache。此外,Nginx配置简洁灵活,尤其在负载均衡方面表现突出。尽管Apache适合动态内容处理,但在快速变化的互联网环境中,Nginx因其独特优势成为许多开发者和企业的首选。
61 7
|
3月前
|
应用服务中间件 Linux 网络安全
在Linux中,如何配置Apache或Nginx Web服务器?
在Linux中,如何配置Apache或Nginx Web服务器?
|
3月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何查看Apache或Nginx服务的状态?
在Linux中,如何查看Apache或Nginx服务的状态?
|
3月前
|
Ubuntu 应用服务中间件 网络安全
如何使用 Apache 和 Nginx 创建临时和永久重定向
如何使用 Apache 和 Nginx 创建临时和永久重定向
63 0
|
3月前
|
应用服务中间件 Apache PHP
Apache vs Nginx: 实际考虑因素
Apache vs Nginx: 实际考虑因素
93 0
|
3月前
|
应用服务中间件 Linux API
Linux 利用 Cloudflare API 配置 acme.sh 自动续签 SSL (Apache、Nginx适用)
安装acme.sh工具,命令为`curl https://get.acme.sh | sh -s email=你的邮箱`。接着配置Cloudflare API,创建并记录API令牌及Zone ID。最后通过`acme.sh --issue -d 你的域名 --dns dns_cf`签发SSL证书,对于Nginx可使用`acme.sh --install-cert`命令安装证书,并设置自动重载Nginx服务。

推荐镜像

更多