热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于对整站进行二级域名的改造

缘由在此之前,博客的访问地址为https:www.codelabo.cnblog(当然现在页可以访问,因为做了重定向),改造成了目前的https:blog.codelabo.cn,

缘由

在此之前,博客的访问地址为 https://www.codelabo.cn/blog(当然现在页可以访问,因为做了重定向),改造成了目前的 https://blog.codelabo.cn,直观的区别就是使用了二级域名。

为什么需要这样呢?

起初,是打算直接用 https://www.codelabo.cn作为博客的访问地址的,后来想到把自己的其他项目也放到改域名下,所以决定改造成 主域名作为一个入口,分别进入到不同的项目,比如 https://www.codelabo.cn/blog、https://www.codelabo.cn/web、https://www.codelabo.cn/demo…类似这样的分支。

这部分完全可以在koa2里面完成,我用到了koa-mount,这个库可以用来实现将路径指向不同的服务。

app.use(mount('/blog', blog));
app.use(mount('/demo', demo));
app.use(mount('/portal', portal));
app.use(mount('/web', web));

然后就达到了我的目的,不同的地址指向不同的项目。

就这样持续了一个多月。

后来发现一个问题,由于只是相对路径不一样,域名完全一致,所以这些项目的storage是完全共享的,比如我在blog页面登录了,把一些登录信息存到了localstorage,然后demo里面也有登录,如果字段和blog一致,就会造成数据被覆盖的问题。

这应该算是自己规划的不足吧,在浏览器看来https://www.codelabo.cn/bloghttps://www.codelabo.cn/demo完全是同一个网址,只是进到了不同的子页面,所以数据是完全共享的。

那么如何解决呢?

思考

其实各大网站都有这样的现象,因为业务繁多,主域名都只要一个,比如百度就一个https://www.baidu.com,其他业务怎么描述的呢?

用到了二级域名,甚至是三级域名!

比如

  • 百度知道https://zhidao.baidu.com
  • 百度地图 : http://map.baidu.com

还有很多都是这种表述方式

这也是二级域名最正确的使用方式

解决

那么我现在页决定使用二级域名。

二级域名的申请是免费的,我是在腾讯云购买的域名,可以在我的域名中进行申请

《关于对整站进行二级域名的改造》

点击分配子域名至项目,然后又一个弹出框,填入你需要的二级域名名称,然后确定

《关于对整站进行二级域名的改造》

成功后进入协作子域名,就可以看到刚才申请的域名了

《关于对整站进行二级域名的改造》

当然现在还是不能使用的,需要先进行解析,进去添加解析,这里需要添加你的公网ip

《关于对整站进行二级域名的改造》

然后看到解析正常,等几分钟就可以使用这个二级域名了

《关于对整站进行二级域名的改造》

部署

以上完成了二级域名的申请和解析,那么如何把项目和这个域名来关联起来呢。

我这里用到了nginx,后面会分享一下nginx的使用

你可以把二级域名当成一个全新的域名一样,直接进行分配就行,比如

nginx.conf文件中添加如下配置

server {
listen 443;#https默认端口
server_name demo.codelabo.cn;#域名
ssl on;
ssl_certificate ../ssl/1_demo.codelabo.cn_bundle.crt;#htpps证书
ssl_certificate_key ../ssl/2_demo.codelabo.cn.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/local/src/web-app/www/demo;
index index.html index.htm;
expires 1d;
}
}

这里用的是https,所以默认端口是443,如果是http,默认端口就是80,默认端口在浏览器可以省略不写

然后重启nginx,使配置生效

nginx -s reload

这样就完成了二级域名的部署。

小节

总的来说,这次改造还是很有成就感的,尤其是对我们这些前端来说,从刚开始对服务器半点都不懂,逐步摸索,到最终上线,这些过程还是很有意义的

关于nginx的安装和初步使用,打算最近专门整理分析一下,敬请期待~


推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • libsodium 1.0.15 发布:引入重大不兼容更新
    最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • TCP长连接设备管理平台:架构与功能概览
    本文介绍了基于TCP长连接的设备管理平台的设计理念、技术选型及主要功能模块。最初,项目旨在实现简单的协议测试,但随着需求扩展,逐步演变为一个完整的前后端分离系统。 ... [详细]
author-avatar
核电列兵_851
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有