`
498320858
  • 浏览: 393014 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

nginx echo 输出 检查配置正确性

 
阅读更多

在上篇文章中,我们有用到变量去控制该域名是否允许访问,在配置过程中,其实变量的值一直是我们想象的,无法确认具体步骤的变量值,因此我希望能在每个步骤中将变量的值打印出来,这是nginx 的echo模块粉墨登场。

1.nginx 的echo模块的介绍
     echo模块式国人编写的nginx的第三方模块,下载官方nginx后需要再下载echo模块,并且配合nginx编译安装,安装此模块后可以在nginx的url访问中可以通过echo命令输出字符到用户的浏览器中,可用于检测nginx的可访问性,检测nginx的配置的正确性(这是当前我需要用的nginx的主要功能),可用于打印你希望了解的http代理相关http参数,总之在调试配置nginx环节,echo命令非常有用。
详情见:http://www.oschina.net/question/12_45735

2.nginx的echo安装
     安装第三方模块的时候不能使用rpm以及yum方式安装nginx,如果以前用以上方式安装过nginx的话,请先卸载掉。
     2.1 我们下载nginx的源码包(http://nginx.org/download/nginx-1.2.7.tar.gz)以及echo模块的源码包(https://github.com/agentzh/echo-nginx-module/tags)选择最新版本
   2.2 分别加压nginx源码包以及echo模块源码包,例如此处我解压的路径为:nginx的路径:/opt/nginx-source ;echo模块的路径:/opt/nginx-echo-source
   2.3 命令cd进入nginx源码路径,此处:cd /opt/nginx-source ;
    2.4 配置nginx编译文件,执行编译配置命令:./configure --prefix=/opt/nginx --add-module=/opt/nginx-echo-source
配置时屏幕会输出日志,检查配置过程中是否有error,如果有请自行修复,一般是缺少类库,缺少啥类库,先安装,如果安装后还是报找不到路径就下载类库的源码包并配置源码包的跟路径,记住,配置过程需要的是源码包的跟路径
   2.5 编译nginx,在nginx源码目录中执行命令: make
   2.6 编译安装nginx,在nginx 源码目录中执行命令:make install
 
3.nginx的echo使用测试
    配置nginx的配置文件

 server {
        listen       8083;
        server_name  _;
        access_log      /var/log/nginx/cn-camm.server.access.log main;

        set $tag "0";

                if ( $host !~ ^appbuilder.vicp.cc$ ){
                         set $tag "$tag,1";
                }

                 if ( $host !~ ^localhost$ ){
                        set $tag "$tag,2";
                }
        if ( $tag ~ ^0,1,2$ ){
                        return 403;
                }


        location / {




                echo "can act?";
                if ($host != '192.168.1.250' ) {
                        echo "not equal 250";
                #       return 403;
                }

                 echo "asdfasdf";

#               proxy_pass      http://cncamm;
#                proxy_set_header Host $host:8083;
        }

   }


配置时注意
1.echo命令只能放在url请求中,如果放在url请求外,会报错 如果报[emerg]: "echo" directive is not allowed here in  ,请检查echo放置的位置
2.一次url请求,echo 只能打印一行,如果有逻辑判断,且判断成功,则echo会执行判断成功里边的echo,否则执行最后一句echo(此处不一定正确,在测试中发现是此现象)
3.如果echo后边有配置return 或者配置 proxy_pass,则echo的输出会被覆盖,即浏览器无法看到echo的内容
4.echo的内容不是写在nginx的配置文件中,而是输出到浏览器中,所以echo的打印字符的查看请在浏览器中查看

 

分享到:
评论

相关推荐

    echo-nginx-module-0.61.tar.gz

    3. 负载均衡:在负载均衡场景下,echo模块可以帮助验证后端服务的响应,例如,检查是否正确接收到请求。 4. 动态内容生成:echo模块可以生成动态内容,比如随机数据,用于构建动态测试环境或安全测试。 五、配置与...

    echo-nginx-module-master.zip

    "echo"指令是echo模块提供的,它允许我们在Nginx配置文件中进行字符串的输出,这对于调试、性能测试或构建复杂的HTTP响应非常有用。当你在尝试使用"echo"指令时遇到了"unknown directive "echo""的错误,这通常意味...

    echo-nginx-module.tar.gz

    需要注意的是,正确配置和使用这个模块可能需要一定的Nginx和FastDFS知识,因此在实际操作时,应详细阅读官方文档,并确保所有配置的正确性和安全性。 总之,“echo-nginx-module”是FastDFS环境中的一个强大工具,...

    echo-nginx模块压缩包

    - **t**: 这个目录包含模块的测试用例,用于验证模块功能的正确性。 - **src**: 存放模块的核心源代码,包括C语言编写的函数和模块定义。 - **README.markdown**: 项目简介和使用指南,通常包括如何编译、安装和配置...

    Nginx代理安装配置手册.docx

    《Nginx代理安装配置详解》 Nginx是一款高性能的HTTP和反向代理服务器,因其高效稳定、轻量级的特性,在Web服务领域广泛应用。本文将详细介绍在Linux环境下,如何按照规范进行Nginx的安装配置,特别是涉及反向代理...

    nginx 启动脚本

    如果配置正确,脚本将继续启动Nginx;否则,它将打印错误信息并停止执行。 `stop.sh`脚本则用于停止Nginx服务。这通常包括发送一个信号到Nginx进程来优雅地关闭服务,以便完成所有正在处理的请求,避免数据丢失。一...

    nginx,fastdfs配置

    但请注意,这仅适用于测试环境,生产环境中应考虑将Tracker、Storage和Nginx分别部署在不同的服务器上,以提高系统的稳定性和可扩展性。此外,还可以根据实际需求进一步优化配置,如添加HTTPS支持、设置防盗链策略等...

    tomcat+nginx的配置

    ### Tomcat+Nginx配置详解 #### 一、Linux环境下Tomcat与JDK的安装配置 ##### 1. JDK 安装与环境变量配置 在Linux环境下安装JDK是搭建Tomcat服务器的基础步骤之一。 - **下载并解压JDK**: ```bash # tar xvf ...

    自动reload nginx解决nginx对动态域名不重新解析的Shell脚本

    为了解决这个问题,我们可以编写一个Shell脚本来定期检查IP变化并自动执行`nginx -s reload`命令来强制Nginx重新加载配置。 ### Shell脚本工作原理 1. **检测IP变化**:首先,脚本会定期读取动态DNS服务提供的API...

    Nginx的相关配置

    以上内容总结了Nginx的一些核心配置知识点,包括其优点、依赖软件包、日志管理、安全性配置、版本号隐藏、缓存时间设置、连接超时配置以及压缩功能的启用。这些配置对于优化Nginx服务器的性能、增强安全性以及提高...

    nginx的安装及tomcat集群负载均衡配置

    - `nginx -q`: 测试配置文件,仅输出错误信息。 - `nginx -s stop`: 停止 Nginx 服务。 - `nginx -s reload`: 重新加载配置文件。 - `nginx -t -c /usr/nginx/conf/nginx.conf`: 验证特定配置文件的有效性。 - ...

    windows 注册Nginx为服务,自动重启

    最后,确保Nginx服务配置正确无误后,可以使用`nginx.exe -s reload`命令重新加载配置,或通过服务控制来启动或停止服务。 总结,通过以上步骤,我们可以成功地在Windows上安装Nginx,将其注册为服务,并设置自动...

    nginx+php+oracle安装配置

    正确配置后,这种架构能够为大型Web应用提供可靠、高效的服务。在实际操作中,根据具体的系统环境和需求,可能还需要调整更多细节,例如安全设置、性能优化等。希望这些信息能对你在搭建和配置`nginx+php+oracle`...

    Nginx部署-虚拟主机配置.docx

    在IT行业中,Nginx是一个广泛应用的高性能Web服务器和反向代理服务器,它以其高效、稳定和灵活性而闻名。在本文中,我们将深入探讨如何利用Nginx部署虚拟主机,包括多域名配置、多端口配置以及多IP配置。这些知识点...

    nginx-http-echo-module:一个简单的Nginx回声模块

    这些指令可以帮助开发者快速验证 Nginx 配置的正确性,或者在测试时模拟不同的响应行为。 **安装与编译** 要使用 `nginx-http-echo-module`,首先需要确保你已经安装了 Nginx 的开发环境,包括 `c` 和 `gcc` ...

    nginx安装过程

    以上命令分别用于检查Nginx配置文件的正确性,启动Nginx服务,以及查看Nginx是否成功绑定到了80端口。 #### 七、测试PHP集成 最后,为了验证Nginx与PHP的集成是否正常工作,可以在Nginx的HTML目录下创建一个简单的...

    CentOS自动安装nginx

    echo "Nginx has been installed and configured." ``` 这个脚本可以在服务器上执行,以完成自动化安装。为了确保脚本的执行权限,还需要使用`chmod +x install_nginx.sh`来赋予执行权限。 对于描述中的链接...

    Nginx的安装实现web功能

    保存配置后,使用`nginx -t`检查配置文件的语法,无误后重启Nginx服务以应用新配置。 Nginx的强大之处还在于它的反向代理和负载均衡功能。通过配置,它可以将请求转发到后端的多个服务器,实现高可用性和负载分发。...

    nginx,lua模块安装

    安装完成后,可以通过运行`nginx -t`来测试配置文件的正确性,无误后使用`nginx -s reload`或重启Nginx服务。同时,可以编写简单的Lua脚本验证Nginx的Lua模块是否正常工作。 6. **Lua环境的准备** 为了使用...

    Windows下Nginx和php-cgi的bat批处理快速启动方法

    - 配置`nginx.conf`文件,确保`server`块中包含正确的`root`路径,这将是你的Web内容存储位置,例如:`root C:\nginx\html;`。 - 在`http`块内,添加或修改`fastcgi_pass`以指向你的PHP-CGI监听端口,例如:`...

Global site tag (gtag.js) - Google Analytics