2014-04-08 15:08:01
来 源
itjs.cn
Nginx安装配置
本文介绍Nginx服务器使用echo模块检查配置是否成功,希望对于初学Nginx服务器相关的朋友有帮助,更多Nginx安装、配置、报错处理等资源请本站内搜索。。
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的打印字符的查看请在浏览器中查看

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。