应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

使用nginx在同一台服务器上配置多个二级域名

18799人阅读 2019/5/19 16:11 总访问:5179403 评论:2 收藏:0 手机
分类: 微服务

一般二级域名都是解析到不同的服务器上,但是很多时候没有那么土豪可以用那么多服务器哇。

当然土豪完全可以1个二级域名一台服务器,甚至是对应多个服务器,等我成为土豪了,也可以买两杯豆浆,喝一杯,扔一杯


虽然可以在域名解析的时候使用隐性url进行域名转发,转发到另外一个域名

但是这样会造成跨域问题,不是太科学太通用


我们可以使用nginx来进行转发

思路就是使用nginx监听80端口,我们可以把二级域名都指向同一个ip地址,然后根据不同的二级域名转发到不同的端口上去。


来一个很简单的例子:

就是nginx监听80端口,然后转发到另外一个端口上


转发的地址还可以是不同服务器上的,当然我们可以其实就是为了同一个服务器不同的端口


然后访问看看,已经转发成功了

m.tnblog.net是访问的80端口的nginx,然后出现的页面其实是8092端口的内容!

当然这样只转发一个没有什么意义,还不如把项目的地址直接修改成80端口,还不用转发一次,效率还快一些


使用nginx转发不同的二级域名

先把需要解析到同一台服务器的二级域名都在解析中指向同一个ip地址(也就是同一台服务器嘛)


比如要实现:

访问m.tnblog.net的时候实际访问的是8090端口

访问test.tnblog.net的时候实际访问的是8095端口


配置方法1:

  1.     # 监听80端口,根据二级域名,动态进行转发
  2.     server {
  3.         listen       80;
  4.         server_name  localhost;
  5.         #charset koi8-r;
  6.         #access_log  logs/host.access.log  main;
  7.         if ( $http_host ~* "^(.*?)\.tnblog\.net" ) {
  8.            set $domain $1;
  9.         }
  10.         location / {
  11.              proxy_set_header X-Real-IP $remote_addr;
  12.              proxy_set_header Host $http_host;
  13.              if ( $domain ~* "m" ) {
  14.                  proxy_pass http://m.tnblog.net:8090;
  15.              }
  16.  
  17.             if ( $domain ~* "test" ) {
  18.                 proxy_pass http://test.tnblog.net:8095;
  19.              }
  20.        }
  21.     }

然后执行命令nginx -s reload重启nginx搞定!


当访问m.tnblog.net时nginx会反向代理到m.tnblog.net:8090

当访问test.tnblog.net时nginx会反向代理到test.tnblog.net:8095

发现效果还是很不错的,虽然转发了一次,速度影响并不大。

这里注意一下:转发的如果是本地服务器,使用localhost比使用域名更快一下!不用在经过域名一次



最后分享一碗鸡汤:

只要坚持尝试,总有一天困难会变得容易,枯燥也会变得有趣



后记:这里遇到个问题,就是使用了nginx后,项目第一次加载速度会变得比较慢,经过测试是因为静态资源的问题,

把他放到cdn试试


放到cdn后第一次加载的速度提升太明显了!,相当于第一次访问都多了一个缓存!

但是那个样式里边自动加载的字体又有问题了,他是自动加载的有个文件夹的效果


很好解决,虽然七牛云的cdn没有发现创建文件夹效果,但是你可以把文件上传上去后,重命名前面加上一个文件夹的效果



方法2:http://www.tnblog.net/aojiancc2/article/details/2477




欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

YOU

2019/5/21 8:05:38

手机访问首页的时候加载速度很慢哇。

剑轩:@YOU第一次打开有点慢,后面就好了撒

2019/5/21 13:49:44 回复

NET Core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

使用OLEDB读取不同版本Excel的连接字符串设置

使用OleBD读取excel的时候,excel不同的版本,连接字符串的写法也会不一样。///<summary> ///读取excel ///</su...

C 使用CancellationTokenSource取消多线程

有时间我们在使用多线程的时候,需要取消线程的执行,可以使用CancellationTokenSource来取消对Task开辟多线程的取消如下:...

使用爬虫刷csdn博客访问量

首先了解一下常见反爬虫的检测方法频率监测:有些网站会设置一种频率监测的机制,对于同一IP,若在一定时间内访问的速度超...

Idea下使用maven搭建SSM(一):SpringMVC

Spring MVC是一款基于MVC架构模式的轻量级Web框架,其目的是将Web开发模块化,对整体架构进行解耦,简化Web开发流程。下面...

Idea下使用maven搭建SSM(二):MyBatis

开发Web应用,数据的存储和处理往往离不开数据库和SQL语句。在使用Java开发的Web应用中,自然也少不了连接数据库的步骤。在...

使用 微软自带语音合成类库

//引入语音合成名称空间 usingSystem.Speech.Synthesis; classA { voidtest1() { //实例化并指定字符串播放合成读音 ...

如何使用图标像使用文字一样,使用文本图标的方法

1.首先在Iconfont-阿里巴巴矢量图标库上面找到你需要的图标然后加入你的购物车然后选择图标;注意:每个类型的图标会大小不...

使用七牛云的cdn服务,提高图片的加载速度

CDN介绍CDN的全称是Content Delivery Network,即内容分发网络。CDN加速主要是加速静态资源,如网站上面上传的图片、媒体,...

.net core 使用session

tip:net core 2.2后可以直接启用session了,不用在自己添加一次session依赖,本身就添加了使用nuget添加引用Microsoft.AspN...

使用OutLook发送邮件

publicstaticvoidOutlook(stringSubject,stringTextBody,stringFromAdd,stringFromPass,stringTo,stringCC,List<string&...

SQL Server 中使用游标

--声明一个游标 DECLAREMyCursorCURSOR FORSELECTTOP5FBookName,FBookCodingFROMTBookInfo//定义一个叫MyCursor的游标,...

Windows使用wireshark抓包小心得

wireshrak是个网络抓包工具,常用。但是在数据较大的网络环境中直接使用软件抓包会导致wireshark卡死。为什么呢 ?网卡瞬间...

Oracle自定义函数的简单使用

一.最最最简单的返回一个数字的函数createorreplacefunctionfun_show returnint--申明返回值 as begin return1; end;...

Oracle事务的简单使用

事务:  事务是一个整体,这些操作要么全部执行成功,要么全部不执行。使用事务的原因:保证数据的安全有效。事务的四个特...

Oracle使用游标

其实游标就是把查询的结果放入游标中,然后在去游标里边读取。相当于使用游标做了一个中转,而游标是可以作为参数进行传递...