您的位置:首页 > 运维架构 > Nginx

nginx知识

2016-04-08 18:08 537 查看
1.重定向配置

# /etc/nginx/nginx.conf
#写在server,location核心模块中,if也可以写。$http_host客户端设法要到达主机的主机名
if ($http_host !~ “^www\.yourdomain\.com$”) {
#rewrite 重写模块,重定向到其他的location
#第一个参数为URI的相对路径,而且没有参数,二个需要对参数进行处理。URI后面添加一个参数。
rewrite  ^(.*)    http://www.youdomain.com$1 permanent;
}

Nginx的 Rewrite Flags:
last – 新的URL查找到location区域,但是后面的rewrite指令失效
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301


看看break的具体功能

#请求的uri的文件存在,break指令会阻止nginx改写URI
if(-f $uri){
break;
}
if($uri ~^/seach/(.*)$){
set $query $1;
rewrite ^ /search.php?q=$query?;
}
#改写类似/search/anything成为/search/anything,如果$URI存在,则不被修改。


另外还有return指令、set指令、uninitialized_variable_warn指令、rewrite_log指令,这些都比较简单,查询具体用法即可。

需要介绍的指令是:

server_name_in_redirect:on或者off,默认值为on,

on:使用server_name指令的第一个主机名来进行重定向。

off:使用客户端HTTP请求头中的HOST的值进行重定向。

port_in_redirect:on或者off,默认值为on

是否将端口重定向后添加到URL中。nginx转发到tomcat,nginx的端口和tomcat的端口不一致,tomcat进行重定向之后,

tomcat把包交给nginx之后,nginx在location前面加上了自己的端口号,可能会造成连接不上的情况。

2.nginx操作

在env/nginx/sbin目录下输入:nginx,即可重启!

nginx -V //查看当前运行的配置信息

3.小技巧

1.linux下查看nginx的安装目录:输入命令行: ps -ef | grep nginx

出现: nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf //那么nginx就安装在/usr/sbin/下。
2.在nginx下访问403,发现图片访问出现403,其他没有问题,看来下图片的文件夹没有读写的权限,修改下权限就OK了!
4.平滑重启

平滑重启命令:/usr/nginx/sbin/nginx -s reload

注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:

nginx -t -c /usr/nginx/conf/nginx.conf

或者

/usr/nginx/sbin/nginx -t
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: