前言

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的虚拟主机和反向代理和一些技巧应用的更多相关文章

  1. nginx配置虚拟主机、反向代理和负载均衡

    为了实现这个功能,需要修改nginx的配置文件,将nginx.conf清理一下,使结构更清晰. worker_processes ; events { worker_connections ; } h ...

  2. nginx之安装、多虚拟主机、反向代理和负载均衡

    一.web服务器与web框架 1.web服务器简介 Web 网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的Web服务器会通过 HTTP(超文 ...

  3. Nginx安装、配置虚拟主机、反向代理、负载均衡

    1.   nginx安装 下载nginx: 官方网站: http://nginx.org/ 使用的版本是1.8.0版本. Nginx提供的源码. 1.1. 要求的安装环境 1.需要安装gcc的环境.y ...

  4. wamp2.4.4 如何配置虚拟主机及反向代理(解决跨域问题)

    一.找到安装目录下的httpd.conf文件 1. 删除Include conf/extra/httpd-vhosts.conf前面的#号(开启虚拟主机的配置) 2. 删除LoadModule pro ...

  5. Nginx HTTP负载均衡和反向代理配置

    当前大并发的网站基本都采用了Nginx来做代理服务器,并且做缓存,来扛住大并发.先前也用nginx配置过简单的代理,今天有时间把整合过程拿出来和大家分享,不过其中大部分也是网上找来的资源. nginx ...

  6. Nginx服务器部署 负载均衡 反向代理

    Nginx服务器部署负载均衡反向代理 LVS Nginx HAProxy的优缺点 三种负载均衡器的优缺点说明如下: LVS的优点: 1.抗负载能力强.工作在第4层仅作分发之用,没有流量的产生,这个特点 ...

  7. nginx的使用,以及反向代理,负载均衡,从安装到使用,全部步骤。

    先总结nginx实现负载均衡的原理,在这之前先的知道反向代理,因为nginx的负载均衡是在反向代理的基础上实现的: 1.反向代理:通过在nginx的配置文件 (vim /opt/nginx196/co ...

  8. Nginx中虚拟主机配置

    一.Nginx中虚拟主机配置 1.基于域名的虚拟主机配置 1.修改宿主机的hosts文件(系统盘/windows/system32/driver/etc/HOSTS) linux : vim /etc ...

  9. 烂泥:使用nginx利用虚拟主机搭建WordPress博客

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近开始打算学习nginx web服务器,既然是学习还是以实用为目的的.我们在此以搭建WordPress博客为例. 搭建WordPress博客,我们需要 ...

随机推荐

  1. create-react-app按需引入antd-mobile

    1.引入 react-app-rewired 并修改 package.json 里的启动配置: npm i react-app-rewired@2.0.2-next.0 // 需要安装低版本 否则np ...

  2. gcc开启C99或C11标准支持

    开启C99支持 gcc -std=c99 forc99.c 开启C11支持 gcc -std=c1x forc11.c 或 gcc -std=c11 forc11.c

  3. mobx学习笔记03——mobx基础语法(decorator修饰器)

    在声明阶段实现类与类成员注解的一种语法. function log(target){ const desc = Object.getOwnPropertyDescriotors(target.prot ...

  4. MaxCompute studio FAQ

    1. 官方文档地址 https://help.aliyun.com/document_detail/50889.html 2. Show Table Detail 中文乱码 原因是Intellij A ...

  5. 本地项目关联到远程git仓库

    本地项目关联到远程git仓库 场景是这样的:在gitee-code上新建一个项目,gitee会帮你把项目初始化,初始化之后会根据你的选择生成默认的说明文件和gitignore文件.这个时候你就可以复制 ...

  6. react教程 — redux

    一.概念:             http://caibaojian.com/react/redux-basic.html   或  https://www.cnblogs.com/maopixin ...

  7. 如何利用nginx实现负载均衡(总结)

    如何利用nginx实现负载均衡(总结) 一.总结 一句话总结: 推荐使用nginx七层(应用层)负载均衡的实现:配置那是相当的简单 1.nginx配置实例? |||-begin #这里的域名要和下面p ...

  8. Leaflet-Leafletv0.7使用leaflet-bing-layer

    digidem/leaflet-bing-layer: Bing Maps Layer for Leaflet v1.0.0:从标题就可以看出要Leaflet v1.0.0才能用.其实leaflet ...

  9. 重温《javascript高级程序设计》(第3版)

    1.重温<JavaScript高级程序设计>(第3版) (一)重温<javascript高级程序设计>(第1-4章) (二)重温<JavaScript高级程序设计> ...

  10. FlowProtal jQuery 对比时间大小

    function ValidatoTime(source, args){ var StartTime = agent.calcExpress(null, 'SCTDB:AS_MeetingRoom.S ...