Nginx部署多个站点

一,介绍与需求

1.1,介绍

详细介绍请看nginx代理部署Vue与React项目,在这儿主要介绍多个站点的配置

1.2,需求

有时候想在一台服务器上为不同的域名/不同的二级域名运行不同的站点。比如www.webA.com作为官网前台,www.webB.com/admin.webA.com作为后台管理系统。可以把你的服务器IP分别解析到两个域名上,然后反向代理不同的站点,站点的服务名必须与域名对应。

二,Nginx配置

第一步:新建webServer文件夹

 mkdir /usr/local/nginx/webServer

第二步:进入webServer目录

 cd webServer

第三步:新建站点A配置文件

 vim webA.conf

在站点A中写入如下配置信息:

 server {
listen ;
server_name www.webA.com; location / {
root html1;
index index.php index.html index.htm;
}
}

第四步:新建站点B配置文件

 vim admin.conf

在站点B中写入如下配置信息:

 upstream demostream {
server 127.0.0.1: weight = ;
} server {
listen ;
server_name admin.webA.com,www.webB.com; #charset koi8 - r;
#access_log logs / host.access.log main; location / {
proxy_pass http://demostream/dist/;
proxy_set_header Host $host;
proxy_set_header X- Real - IP $remote_addr;
proxy_set_header X - Forwarded - For $proxy_add_x_forwarded_for;
proxy_set_header X - NginX - Proxy true;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
}
}

第五步:配置nginx主配置文件

 vim  /usr/local/nginx/conf/nginx.conf

在nginx配置文件http块中,加入下面一句

  include /usr/local/nginx/webServer/*.conf; #表示包含我们刚才建立的配置文件

第六步:检查nginx配置文件是否正确

 ./nginx -t

第七步:重启nginx

 ./nginx -s reload

第八步:nginx只允许域名访问,禁止ip访问

新加的server(注意是新增,并不是在原有的server基础上修改)

server {
listen default;
server_name _;
return ;
}

第九步:配置域名

站点的服务名必须与域名对应,即server_name就是相应的二级域名;同时需要在hosts文件中添加对应的配置

 vim /etc/hosts

添加如下配置信息:

 127.0.0.1 www.webA.com
127.0.0.1 admin.webA.com
127.0.0.1 www.webB.com

使用hostname+定义的主机名是hosts文件生效

 hostname testHost

输入hostname可查看定义的主机名。

绑定域名解析,添加记录->绑定服务器的公网IP即可,如下所示,记录值输入公网IP即可。

Nginx部署多个站点的更多相关文章

  1. nginx部署dotnet core站点

    步骤 aspnetcore程序端口号5001,实际外部端口号8001,相当于把8001收到的请求转发给5001. 把发布出来的文件全部丢掉 /var/www/JuXiangTou 里面去.可以用scp ...

  2. nginx部署静态文件站点

    server { listen PORT; #PORT为监听端口 server_name SERVER_NAME; #SERVER_NAME为域名 charset utf-8; autoindex o ...

  3. 详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点

    转自:http://www.jb51.net/article/100111.htm 首先我们需要安装好Nginx.jdk.Tomcat,安装方法已经在 上一篇 说过了,本篇不再赘述. 下来看一下我们的 ...

  4. Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点

    上一篇分享了 Nginx + Tomcat 反向代理 负载均衡 集群 部署指南,感觉还是相当实用型的,但是一般集群部署是基于大访问量的,可能有的企业用不到,类似一些企业官网,访问量并不是很大,基于这个 ...

  5. docker nginx实现一个主机部署多个站点

    原文:docker nginx实现一个主机部署多个站点 在某站租赁的虚拟机快到期了,续费得花200多,想到在阿里云新买的服务器,不如把这个也转移过去.域名我就用真实的吧,大家别黑我网站就好了,谢谢各位 ...

  6. CentOS Mono Nginx 部署 MVC4+WebApi

    CentOS Mono Nginx 部署 MVC4+WebApi 经过几天的折磨,终于在CentOS上成功部署了MVC4+WebApi.Mono上的服务器推荐两种:Jexus(国产高人写的一款很牛的服 ...

  7. 从零开始部署一个 Laravel 站点

    从零开始部署一个 Laravel 站点 此文章为原创文章,未经同意,禁止转载. PHP Laravel Web Git 在阿里云买ECS的时候选择自己习惯的镜像系统,我一般都是使用Linux Ubun ...

  8. virtualvenv+django+uWSGI+nginx 部署

    原创博文 转载请注明出处! 1. virtualvenv 2. django 3. uWSGI 4. nginx 5. 踩坑记录 1. virtualvenv virtualvenv install ...

  9. CentOS下实现Flask + Virtualenv + uWSGI + Nginx部署

    一.项目简介 在本文中,将一步一步搭建一个简单的Flask + Virtualenv + uWSGI + Nginx 架构的Web服务,可以作为新手的学习也可作为记录备忘. 如果你安装好了环境并有一定 ...

随机推荐

  1. Cocos2d-x移植WP8时间CCScrollView问题

    cocos2d-x 2.2中的CCScrollView和CCTableView存在bug.导致区域裁剪错误 我是这样解决的. 在CCEGLView::setScissorInPoints里.依据不同旋 ...

  2. WPF 动态绑定listview的列内容

    Binding binding = new Binding(); binding.Path = new PropertyPath("State"); listViewState.D ...

  3. C#.NET自定义报表数据打印

    原文:C#.NET自定义报表数据打印 这是一个自定义的报表打印,是对PrintPreviewDialog的扩展和封装.PrintPreviewDialog是一个windows的打印预览控件,该类返回的 ...

  4. c# 安装windows服务

    C# windows服务: 第一种 :通过cmd命令安装.卸载.启动和停止Windows Service(InstallUtil.exe) 步骤: 1.运行--〉cmd:打开cmd命令框 2.在命令行 ...

  5. PostMessage和SendMessage有什么区别?(有EnumChildWindowsProc的例子)

    PostMessage只是把消息放入队列,不管其他程序是否处理都返回,然后继续执行;而SendMessage必须等待其他程序处理消息后才返回,继续执行.PostMessage的返回值表示PostMes ...

  6. SpringBoot简易搭建

    1.建立maven工程 2.打开pom文件, 将以下配置拷贝过去 <parent> <groupId>org.springframework.boot</groupId& ...

  7. ArcGIS for Desktop入门教程_第七章_使用ArcGIS进行空间分析 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第七章_使用ArcGIS进行空间分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 使用ArcGIS进行空间分析 1.1 GIS分析基础 G ...

  8. 微信小程序把玩(十二)text组件

    原文:微信小程序把玩(十二)text组件 通常文本设置要不在wxml中设置,再要不就是通过weml绑定在js中设置文字. wxml <view > <text>我是文本组件&l ...

  9. shell中特殊变量及if条件

    特殊变量: linux中shell变量$#,$@,$,$,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? ...

  10. Android零基础入门第41节:使用SimpleAdapter

    原文:Android零基础入门第41节:使用SimpleAdapter 通过ArrayAdapter实现Adapter虽然简单.易用,但ArrayAdapter的功能比较有限,它的每个列表项只能给一个 ...