nginx的虚拟主机和反向代理和一些技巧应用
前言
nginx是什么,一般用来做反向代理,也可以用来放静态htnl等文件..当然代理tcp协议也没啥问题,但做好是别用哈.性能不咋样.
虚拟主机
什么是虚拟主机?
个人理解,比如一台主机装一个nginx,配置端口为80,向外提供服务。如果要配置第二个同样的服务,需要再另外一台主机上安装或者本机在装相同软件(注意本机端口不能重复),同样进行配置。有了虚拟主机功能,我们可以在一台主机上配置N个不同的端口,分别对外提供服务.
上配置:
server {
listen 801; #监听端口
server_name localhost; #主机名,如果拥有域名,填上域名,如果有对外提供的IP,填公网IP,localhost代表,只能通过内网访问
access_log logs/home801.access.log main; #日志文件
location / { #位置,当用户输入wwww.aa.com或ip,或localhost时,匹配的根路径..具体是那个,根据server_name决定
root html/pc; #root后面 代表你实际网站存放的相对路径
index index.html; #默认主页
}
location =/favicon.ico {
log_not_found off;
access_log off;
}
}
像这样的一个配置,就是一个虚拟主机,如果配置多个,复制改下参数即可
反向代理
什么是方向代理呢?
个人理解:比如nginx对外提供服务的端口是80,真实的应用却部署在另外的多台主机上,nginx通过client端的访问,把请求转向后端的真实服务器,最后把结果原路返回至client
上配置:
upstream yingyong_proxy { #上游真实后端地址
server 192.168.1.2: weight=;
server 192.168.1.3: weight=;
check interval= rise= fall= timeout=;
}
#外网虚拟主机
server {
listen ; #监听端口
server_name www.aa.com; #对外提供的域名,如果对内部,就用内网IP,或localhost
access_log logs/yingyong.access.log main;
#重写url
location =/ {
rewrite ^ /yingyong last; #如果你的应用没在根目录但在根目录的子目录,不想用户每次访问输入www.aa.com/yingyong ,就需用到重写.
}
location /yingyong { #获取重写位置
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://yingyong_proxy; #把请求转向真实的后端服务
}
location =/favicon.ico {
log_not_found off;
access_log off;
}
}
像这样的一个配置,就是一个虚拟主机的反向代理,如果配置多个,复制改下参数即可
高级应用,根据pc和iphone导向不同的页面
#pc和iphone导向不同的页面
upstream index_pc_proxy { #先定义iphone和pc对应的虚拟主机服务
server 127.0.0.1:;
}
upstream index_mb_proxy {
server 127.0.0.1:;
}
server {
listen ;
server_name www.aa.com;
access_log logs/home.access.log main;
if ($http_user_agent ~* Android|iPhone){ #匹配成功
set $shouji "index_mb_proxy"; #设置变量
}
if ($http_user_agent !~* Android|iPhone){ #匹配不成功
set $shouji "index_pc_proxy"; #设置变量
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://$shouji; #反向代理
}
location =/favicon.ico {
log_not_found off;
access_log off;
}
}
总结
适合有nginx使用经验的人参考...
nginx的虚拟主机和反向代理和一些技巧应用的更多相关文章
- nginx配置虚拟主机、反向代理和负载均衡
为了实现这个功能,需要修改nginx的配置文件,将nginx.conf清理一下,使结构更清晰. worker_processes ; events { worker_connections ; } h ...
- nginx之安装、多虚拟主机、反向代理和负载均衡
一.web服务器与web框架 1.web服务器简介 Web 网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的Web服务器会通过 HTTP(超文 ...
- Nginx安装、配置虚拟主机、反向代理、负载均衡
1. nginx安装 下载nginx: 官方网站: http://nginx.org/ 使用的版本是1.8.0版本. Nginx提供的源码. 1.1. 要求的安装环境 1.需要安装gcc的环境.y ...
- wamp2.4.4 如何配置虚拟主机及反向代理(解决跨域问题)
一.找到安装目录下的httpd.conf文件 1. 删除Include conf/extra/httpd-vhosts.conf前面的#号(开启虚拟主机的配置) 2. 删除LoadModule pro ...
- Nginx HTTP负载均衡和反向代理配置
当前大并发的网站基本都采用了Nginx来做代理服务器,并且做缓存,来扛住大并发.先前也用nginx配置过简单的代理,今天有时间把整合过程拿出来和大家分享,不过其中大部分也是网上找来的资源. nginx ...
- Nginx服务器部署 负载均衡 反向代理
Nginx服务器部署负载均衡反向代理 LVS Nginx HAProxy的优缺点 三种负载均衡器的优缺点说明如下: LVS的优点: 1.抗负载能力强.工作在第4层仅作分发之用,没有流量的产生,这个特点 ...
- nginx的使用,以及反向代理,负载均衡,从安装到使用,全部步骤。
先总结nginx实现负载均衡的原理,在这之前先的知道反向代理,因为nginx的负载均衡是在反向代理的基础上实现的: 1.反向代理:通过在nginx的配置文件 (vim /opt/nginx196/co ...
- Nginx中虚拟主机配置
一.Nginx中虚拟主机配置 1.基于域名的虚拟主机配置 1.修改宿主机的hosts文件(系统盘/windows/system32/driver/etc/HOSTS) linux : vim /etc ...
- 烂泥:使用nginx利用虚拟主机搭建WordPress博客
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近开始打算学习nginx web服务器,既然是学习还是以实用为目的的.我们在此以搭建WordPress博客为例. 搭建WordPress博客,我们需要 ...
随机推荐
- ppt怎么制作抖音快手快闪效果的倒计时动画?
ppt怎么制作快闪效果的倒计时动画? 1.首先,我们新建一个ppt,如下图: 2.然后我们在ppt中插入一个文本,文本内容为3,如下图: 3.然后我们将我们的文本设置为“Arial Black”,如下 ...
- win10搭建ftp环境
1.进入程序,并点击“启用或关闭windows功能” 2.勾选对应的功能,并点击“确定” 3.进入IIS 4.如下图 5.如图 6.如图 7.如下图 8.创建新用户,用于登录ftp(自行创建) 9.禁 ...
- Centos 安装.NET Core环境
https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install 一.概述 本篇讨论如何把项目发布到Linux环境,主要包括 ...
- BZOJ1822 [JSOI2010]Frozen Nova 冷冻波 二分+最大流
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=1822 题解 好久没做网络流的,都没有想到网络流... 首先暴力判断一下一个巫妖和一个精灵之间能 ...
- 最新Zip压缩文件漏洞,黑客可以触发目录遍历攻击
近日,国内某安全公司研究人员透露了一个关键漏洞的详细信息,该漏洞影响了许多生态系统中的数千个项目,黑客可以利用这些漏洞在目标系统上实现代码执行. 黑客是如何通过Zip压缩文件入侵攻击?被称为“ZipS ...
- BZOJ2002 [HNOI2010] 弹飞绵羊
LCT access完了一定splay再用!!! 悲伤= = LCT裸题 把调出去设虚点n+1即可 //Love and Freedom. #include<cstdio> #includ ...
- 汇编 “error A2031”
assume cs:code code segment main: mov ax,0020h mov ds,ax ;指定段地址0200h mov dx,0h mov cx,003fh s: mov [ ...
- Modular arithmetic and Montgomery form 实现快速模乘
题目: 电音之王 题解: 求数列前n项相乘并取模 思路: ①.这题的乘法是爆long long的,可以通过快速幂的思想去解决(按数位对其中的一个数进行剖分).当然你的乘法会多出一个log的复杂度... ...
- 左手Mongodb右手Redis
第二章,了解Mongodb保存数据 Mongodb对于每次插入的数据没有要求,字段可以随便变动,字段类型可以随意变动. Mongodb可以并发插入上万条文档,这是传统关系型数据库不能望其项背的. 1. ...
- 移动H5优化指南
转载于http://isux.tencent.com/h5-performance.html 移动H5前端性能优化指南 概述 秒完成或使用Loading4. 基于联通3G网络平均338KB/s(2.7 ...