nginx相关配置说明
基础:
nginx配置文件主要分为六个区域:main section、events section、http section、sever section、
location section、upstream section。依据这个分类学习nginx的模块。
location 六种匹配模式:
/ 匹配所有
~ 正则表达式 区分大小写
~* 正则表达式 不区分大小写
= 精确匹配,结束继续匹配
^~ 普通字符匹配,如果匹配到,则结束继续匹配;找不到则继续匹配
@ 定义内部重定向 ,例如 error_page=@aaa
# @类似于变量定义
# error_page 403 http://blog.csdn.net; #这种定义不允许,需求利用@定义临时变量来实现
error_page 403 @page403;
location @page403 {
proxy_pass http://blog.csdn.net;
}
1,负载均衡
可以有ip_hash,round-robin,least-connected。一般采用ip_hash,防止session在不同后端服务器切换时的session变换。但是ip_hash存在一个问题,就是同一个局域网无法实现负载均衡,需要用sticky_cookie_insert替代。
负载均衡使用upstream来设置,例如: upstream aaa {
server: 10.1.1.100:8080;
server:10.1.1.101:9090;}
...
location / {
proxy_pass http://aaa;}
2,权重
在负载均衡时,需要为每个服务器设置权重,否则容易造成一阶段内都访问一个服务器而其他几个服务器都空闲。
例如A.com weight=3 B.com C.com,表示5次访问里,3次进入A.com,1次进入B.com 2次进入C.com
3,fastcgi
一般php等程序处理时,需要用到一些参数,通过fashcgi会方便很多。
4,proxy_set_header
proxy_set_header Host $http_host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forworded-For $proxy_add_x_forwarded_for;
以上两个解决nginx作为反向代理时能够把客户端ip等信息传达给后端的服务器.注意:$http_host和$server_name区别在于$http_host的端口不为80时,是含端口的,而$server_name是不含的。
proxy_set_header Cookie $http_cookie;把cookie值带到后端服务器,防止session发生变化
但是注意在后端服务器返回客户端时,需要通过设置proxy_cookie_domain和proxy_cookie_path来替换掉后端服务器的域名及路径信息,否则会造成session,cookie的不正确。
5,location反向代理得后缀反斜杠的问题。
location /service/
proxy_pass http://a.com;提交到后端服务器是http://a.com/service/
proxy_pass http://a.com/;提交到后端服务器是http://a.com/
6,内部域名映射
有些时候需要通过域名访问内部服务器,则要在/etc/hosts里添加配置如例:127.0.0.1 wap.a.com
内部机器最好通过域名访问,防止ip的变动,要修改好多东东。
7,反向代理时,参数域名的维持
proxy_pass http://$host$uri 或者proxy_pass $request或者$schema://$host$uri
见nginx里的变量:http://blog.chinaunix.net/uid-15117916-id-2777222.html
8,重定向后端的返回地址
使用proxy_redirect把返回给客户端的IP地址重新封装,例如:proxy_redirect http://a.com:9090/ /;
即把后端的端口和域名替换为对外公开的域名
nginx相关配置说明的更多相关文章
- Nginx location相关配置说明
Nginx location相关配置说明 基于不同的IP.不同的端口以及不用得域名实现不同的虚拟主机,依赖于核心模块ngx_http_core_module实现. 新建PC web站点 [ ...
- tomcat及nginx相关,格式化输出,配置及日志解析
1.https://www.cnblogs.com/jingmoxukong/p/8258837.html?utm_source=gold_browser_extension Tomcat ...
- nginx 相关命令 nginx -s reload/stop/quit
nginx 相关命令 学习了:https://www.cnblogs.com/zoro-zero/p/6590503.html start nginx 或者在linux上面直接 nginx ngin ...
- 服务器操作nginx相关操作命令
服务器操作nginx相关操作命令 登录服务器: ssh root@0.0.0.0 -p 22100 启动nginx: /usr/local/nginx/sbin/nginx 查看nginx是否启动 p ...
- 转载:Nginx 相关介绍
转载自:https://www.cnblogs.com/wcwnina/p/8728391.html Nginx 相关介绍(Nginx是什么?能干嘛?) Nginx的产生 没有听过Nginx?那么 ...
- nginx的配置说明
#定义Nginx运行的用户和用户组user www www; #nginx进程数,建议设置为等于CPU总核心数.worker_processes 8; #全局错误日志定义类型,[ debug | in ...
- FastDFS与Nginx的配置说明
1.简介 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载 ...
- Nginx 相关介绍(Nginx是什么?能干嘛?)
Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Unifor ...
- nginx 相关命令
验证配置是否正确: nginx -t 查看Nginx的版本号:nginx -V 启动Nginx:start nginx 快速停止或关闭Nginx:nginx -s stop 正常停止或关闭Nginx: ...
随机推荐
- jsonp 跨域 能返回数据但 无法返回成功问题
apihandler.ashx?callback=eqfeed_callback:1Uncaught SyntaxError: Unexpected token : 原因在于jsonp传的数据格式不一 ...
- Error: listen EADDRINUSE
有可能是已经作用了18001端口 netstat -antp|grep 18001 kill 然后重启程序. events.js:72 throw er; // Unhandled 'error' e ...
- web 标准相关
摘自:http://www.cnblogs.com/artech/p/restful-web-api-01.html 一.TCP/IP与HTTP TCP/IP是以IP和TCP协议为核心的一整套网络协议 ...
- springMVC 源码解读系列(一)初始化
先看看DispatcherServlet的类机构: 初始化时序图: servlet初始化会调用 init 方法,换句话说就是springMVC进行初始化的时候首先会去执行HttpServletBean ...
- Java—Applet
1 Applet的定义 Applet是Java语言编写的,无法独立运行,但可以嵌入到网页中执行.它扩展了传统的编程结构和方法,可以通过互联网发布到任何具有Java编译环境浏览器的个体计算机上. 如下 ...
- 读javascript高级程序设计10-DOM
一.节点关系 元素的childNodes属性来表示其所有子节点,它是一个NodeList对象,会随着DOM结构的变化动态变化. hasChildNodes():是否有子节点. var headline ...
- escape()、encodeURI()、encodeURIComponent()区别详解--zt
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...
- SEO命令之”site“运用详解
一.“site”基本介绍: 都知道要想查询一个特定网站的收录状况一般会分为两种情况:一.结果中有返回数据,则表明该网站已被收录:二.如果返回数据为空,则该网站未被收录.如果是以前已被收录的,现在来查没 ...
- sublime text3安装相关知识粗略整理
1.注册码 网上去搜最新的比较好,因为旧的很可能都用不了,所以把注册码记下来也没必要. 2.安装Package Control ctrl+`,弹出打开控制台,输入代码后回车安装 import url ...
- Leetcode 171 Excel Sheet Column Number 难度:0
https://leetcode.com/problems/excel-sheet-column-number/ class Solution { public: int titleToNumber( ...