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的打印字符的查看请在浏览器中查看
http://www.360doc.com/content/13/0322/11/4672379_273186975.shtml
nginx echo 输出 检查配置正确性相关推荐
- Nginx压缩输出配置
Nginx压缩输出配置 Gzip(GNU-ZIP) 一种压缩技术,经过gzip压缩后,页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候,速度会快得多. Gzip的压缩页面,需要浏览器和服 ...
- nginx日志输出配置json格式
nginx日志输出配置json格式 nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式:另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小. ...
- Nginx的部署与配置
Nginx 简介 Nginx是一款自由的.开源的.高性能的HTTP服务器和 反向代理 服务器:同时也是一个IMAP.POP3.SMTP代理服务器:Nginx可以作为一个HTTP服务器进行网站的发布处理 ...
- Nginx 防攻击安全配置
网站安全配置(Nginx)防止网站被攻击(包括使用了CDN加速之后的配置方法) 网站被攻击是一个永恒不变的话题,网站攻击的方式也是一个永恒不变的老套路.找几百个电脑(肉鸡),控制这些电脑同时访问你的网 ...
- 企业常用的Nginx网站服务相关配置
目录 一,内容概述 Nginx Apache 二,Apache三种工作模式 三,Linux的I/O 四,编译安装Nginx服务 五,认识 Nginx 服务的主配置文件 nginx.conf 六,访问状 ...
- 企业常用的Nginx网站服务相关配置——极其详细
文章目录 一.Nginx概述 二.编译安装Nginx编译安装 1.关闭防火墙,将安装 ngnix 所需的软件包上传到 /opt 目录下 2.安装依赖包 3.创建运行用户.组 4.编译安装Nginx 5 ...
- 入门学习Nginx代理服务器?就看这篇Nginx进阶学习最佳配置实践指南
前置基础知识学习 1.Nginx基础安装与配置详细 https://blog.weiyigeek.top/2019/9-1-121.html 2.Nginx进阶学习之最佳配置实践指南 https:// ...
- Nginx防盗链,Nginx访问控制, Nginx解析php相关配置, Nginx代理
2019独角兽企业重金招聘Python工程师标准>>> Nginx防盗链 Nginx防盗链配置需要与不记录日志和过期时间结合在一起,因为都用到了location. 打开配置文件,注释 ...
- Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书
Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书 安装 Nginx 安装依赖 $ apt-get update $ apt-get install build-e ...
最新文章
- js数组对象的常用方法
- python空值赋0_Python中的空值判断
- H5与Native交互之JSBridge技术 1
- linux 自动安装mysql_Linux安装mysql
- java cxf实现webservice接口方式之不依赖spring
- android.mk 强制编译,android.mk文件的编译
- 公众服务常用电话号码大全
- C++中const使用总结
- brep文件在线预览
- python编程招生海报_怎么用ps做招生海报
- 梦三国服务器每天维护几次,梦三国:都在抱怨策划,可扪心自问玩家数量逐渐减少的原因是这些...
- Selenium基于Python web自动化测试框架 —— PO模型
- 除了啤酒与尿布 大数据又助电商玩口碑营销
- 腾讯云创建二级域名并解析
- 体检预约系统项目总结
- 陕西延安一男子看钓鱼忘拉手刹,爱车溜进鱼塘:自己都惊呆了
- 游戏服务器排队系统,游戏服务器排队功能
- JAVA之电话号码加密
- 阅读论文Formal verification of smart contracts based on users and blockchain behaviors models
- flashback 闪回 (final)