Nginx反向代理使用【转载】
最近工作中经常使用nginx,为了能够更好的使用nginx,我搜罗了很多nginx相关的技术文章来读,所以才有了下面以下内容。在此,为文中引用到和参考到的文章提供者表示感谢。如文中相关内容有错误,也欢迎大家留言提出。
Nginx的安装与启动
1)pcre安装,支持正则表达式
http://www.pcre.org/
# tar zxvf pcre-7.9.tar.gz
# cd pcre-7.9
#./configure
# make && make install
2)openssl安装(可选),支持安全协议的站点
http://www.openssl.org/
# tar zxvf openssl-0.9.8l.tar.gz
# cd openssl-0.9.8l
#./config
# make && make install
3)nginx的安装
# tar zxvf nginx-0.7.64.tar.gz
# cd nginx-0.7.64
4)启动
# cd usr/local/nginx/sbin
# /nginx
5)重启
./nginx -s reload
Nginx.conf 基本配置
#user nobody;
worker_processes 1; #nginx进程数,建议设置为等于CPU总核心数。
events {
worker_connections 1024; #单个进程最大连接数(最大连接数=连接数*进程数)
}
http {
include mime.types;#文件扩展名与文件类型映射表
default_type application/octet-stream;#默认文件类型
sendfile on;#sendfile on; #开启高效文件传输模式
keepalive_timeout 60;#长连接超时时间,单位是秒
#gzip模块设置(略)
upstream blog.ha97.com {
#upstream的负载均衡,weight是权重,可以根据机器配置定义权重
#weigth参数表示权值,权值越高被分配到的几率越大。
server 192.168.80.121:80 weight=3;
server 192.168.80.122:80 weight=2;
server 192.168.80.123:80 weight=3;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://192.168.24.152:8080/test1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /test {
proxy_pass http://192.168.24.152:8080/abc;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server{
listen 8082;#监听端口
server_name localhost;
location / {
proxy_pass http://192.168.24.152:8080/test1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
Nginx.conf server配置说明
1) server配置说明
server {
listen 80; #监听端口
server_name localhost; #域名可以有多个,用空格隔开
location / {
proxy_pass http://192.168.24.152:8080/test1;
proxy_set_header X-Real-IP $remote_addr;
#把真实的IP发送给 转发的web服务器,否则转发的IP是nginx这台的IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#意思是增加一个$proxy_add_x_forwarded_for到X-Forwarded-For里去
#例X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3 代表 请求由1.1.1.1发出,
#经过三层代理,#第一层是2.2.2.2,第二层是3.3.3.3,而本次请求的来源
#IP4.4.4.4是第三层代理
}
}
2)多个server配置,监听不同端口
server { #server1
listen 80;
server_name localhost;
location / {
proxy_pass http://192.168.24.152:8080/test1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server{ #server2
listen 8082;#监听端口
server_name localhost;
location / {
proxy_pass http://192.168.24.152:8080/test1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server配置路径匹配问题
Nginx location中可能涉及的匹配规则有:
= 精确匹配
^~ 普通字符匹配,区分大小写
~ 正则匹配,区分大小写
/xxx/yyy.zzz 最长匹配
/
其优先级顺序如下:
=优先级大于^~
^~优先级大于~
~ 对比 /xxx/yyy.zzz
^~优先级大于/xxx/yyy.zzz
~优先级大于/
/xxx/yyy.zzz优先级大于/
/xxx/yyy/ 优先级大于 /xxx/
综上所述location规则优先级顺序为 = > ^~ > ~ > /xxx/yyy.zzz > / ,路径匹配的优先级与location在文档中的位置先后无关。
Nginx实现ssl反向代理
server {
listen 443; #监听443端口
server_name localhost;
ssl on; #启用ssl加密
ssl_certificate /ect/cert/free4lab.crt; #服务器证书crt文件
ssl_certificate_key /ect/cert/free4lab.key; #服务器私钥key文件
location / {
proxy_pass http://192.168.24.152:8080/test1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
转自:
实战录 | 今天聊聊Nginx反向代理使用 - 今日头条(TouTiao.com)
http://toutiao.com/a6309953445340594433/?tt_from=mobile_qq&utm_campaign=client_share&app=news_article&utm_source=mobile_qq&iid=4913332425&utm_medium=toutiao_ios
Nginx反向代理使用【转载】的更多相关文章
- [转载]Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统 ...
- Nginx 反向代理 -- 一路上的坑转载
个人学习之用转子https://www.cnblogs.com/xjbBill/p/7477825.html 前些天刚过来新公司上班,公司的项目都挺多的,只不过项目都是第三方公司团队开发的,现在本公司 ...
- Nginx反向代理,负载均衡,redis session共享,keepalived高可用
相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...
- Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
转载:http://freeloda.blog.51cto.com/2033581/1288553 大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负 ...
- NGINX反向代理
Nginx反向代理 ...
- 最简单实现跨域的方法:用 Nginx 反向代理
本文作者: 伯乐在线 - 良少 .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascrip ...
- Nginx反向代理以及负载均衡配置
项目地址:http://git.oschina.net/miki-long/nginx 前提:最近在研究nginx的用法,在windows上小试了一下,由于windows下不支持nginx缓存配置,所 ...
- Nginx反向代理上传大文件报错(failed to load resource : net :: ERR_CONNECTION_RESET)
转自: https://blog.csdn.net/kinginblue/article/details/50753271?locationNum=14&fps=1 Nginx反向代理上传大文 ...
- 谁说前端不需要懂-Nginx反向代理与负载均衡
转:https://juejin.im/post/5b01336af265da0b8a67e5c9 学到老活到老 前端圈一直很新,一直要不停的学习,而且在进入大厂的路上,还要求熟悉一门后台语言等等.用 ...
随机推荐
- Ubuntu上用mod_wsgi部署Django出现的一些问题
1 编码问题 直接运行Django没问题,但通过Apache+mod_wsgi上传中文字符的文件时出错: UnicodeEncodeError: 'ascii' codec can't encode ...
- c语言-何为编程?
大牛,请绕过. 新手,如果你怕我误人子弟,那也请绕过. 以下纯属个人YY 何为编程?何为程序? 说简单也简单,说复杂也复杂. 我在自学的道路上也有两三年了,也探索了两三年(非连续性),却只停留在入门阶 ...
- linux设置时间服务器
对多个linux服务器,时间保持一致是很必要的.根据精确度要求,应该有相应的时间间隔进行时间同步.如果不进行时间同步,时间久了就会差别很大,遇到问题时定位就很困难.因为多台设备的配合,log之间可能有 ...
- 在Activity之间传递数据—获取Activity返回的数据
在获取返回值时要注意的是打开Activity的方式,用方法:startActivityForResult 接收时,重写方法:onActivityResult 在子Activity中,写数据用方法:se ...
- IoC容器Autofac正篇之解析获取(六)
解析获取的方式有如下几种: Resolve class Program { static void Main(string[] args) { var builder = new ContainerB ...
- 25个超有用的 AngularJS Web 开发工具
AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,改善了JavaScript. 下面我要说的就是25个超有用的AngularJS工具, ...
- flash Ane
1.ANE简介 Adobe AIR Native Extension,Adobe AIR的本地扩展,简称ANE.什么叫本地扩展?因为Adobe AIR是跨平台的一个运行时,可以在Windows,Mac ...
- php数据排序---array_multisort
PHP代码 <?php $ar1 = array(10, 100, 100, 0); $ar2 = array(1, 3, 2, 4); array_multisort($ar1, $ar2); ...
- shell编程之服务脚本编写,文件锁以及信号捕获
shell脚本编程是linux运维工程师必备的技能,也是非常重要的一个技能,所以把shell编程学好,只有好处.基础语法我也就不讲了,学过C语言这些语言的,稍微看一下就能明白shell编程的基础,所以 ...
- ListView控件的Insert、Edit和Delete功能(第二部分)
本系列文章将通过一个简单的实例,结合我自己使用ListView的情况,展示如何用ASP.NET 3.5 ListView控件进行基本的Insert.Edit和Delete操作. 系统要求: Windo ...