博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
180602-nginx多域名配置
阅读量:6531 次
发布时间:2019-06-24

本文共 3280 字,大约阅读时间需要 10 分钟。

nginx多域名配置

原来的域名过期了,重新买了一个hhui.top,正好重新的配置一下,针对之前写过的几个不同的东西,通过不同的子域名来进行区分,因此简单记录一下nginx的多域名配置

I. 域名配置

1. 背景

因为资金有限,只有一台服务器,但是这个服务器上干的事情却不止一件,当前的状况是有下面几个

  • : 一个多媒体工具网站,前端ReactJS写的,独立打包;后端为java部署在Tomcat中的应用media
  • : 古诗词wap网,每天推荐12首经典古诗词;前端ReactJS编写,独立打包;后端Java部署在Tomcat中的应用Story
  • :多媒体处理应用,Git开源,实现图片编辑, 二维码, markdown,svg渲染,html渲染,音频编辑等功能
  • Story: 古诗词的后端,提供古诗词查询,检索推荐和订阅等基本功能,未开源
  • 基于Hexblog搭建的个人博客

所以这台服务器上,从应用角度出发,有五个不同的功能的服务,主要区分为两类:

  1. 静态的html前端页面
  2. 部署在Tomcat上的Java应用

2. 域名配置

五个服务,会配置五个不同的子域名:

  • 将前端静态页面,在服务器上放在不同的目录下,不通的域名,映射到不同的目录
  • Tomcat暴露8080端口,不同的应用放在webapps下不同的目录

a. 域名与文件映射

拿简单的 zweb 和 mweb 来设置,直接映射即可

server {    listen       443 ssl;    server_name  zweb.hhui.top;    # https 证书配置    ssl_certificate      zwebcert/1529370953598.pem;    ssl_certificate_key  zwebcert/1529370953598.key;    ssl_session_cache    shared:SSL:1m;    ssl_session_timeout  5m;    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   # ssl_ciphers  HIGH:!aNULL:!MD5;    ssl_prefer_server_ciphers  on;    root /tmp/html/zweb;}server {    listen       443 ssl;    server_name  mweb.hhui.top;    # https 证书配置    ssl_certificate      zwebcert/1529370953598.pem;    ssl_certificate_key  zwebcert/1529370953598.key;    ssl_session_cache    shared:SSL:1m;    ssl_session_timeout  5m;    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   # ssl_ciphers  HIGH:!aNULL:!MD5;    ssl_prefer_server_ciphers  on;    root /tmp/html/mweb;}

简单来讲,一个子域名对应一个配置项,设置其中的server_name为目标域名

然后就是设置root,映射到不同的前端地址即可

b. 博客配置映射

个人博客虽然也是静态页面,但是不太一样的是博客的源码托管在git上,并借助了github的page服务,因此实际访问的域名会多一个后缀,如

https://liuyueyi.github.io/hexblog/

所以如果直接用上面的方法,会导致js和css文件404,主要是因为借助hexo搭建博客时,指定了path路径,所以要做一个简单的域名匹配

server {    listen       443 ssl;    server_name  blog.hhui.top;    ssl_certificate      blogcert/1529816324478.pem;    ssl_certificate_key  blogcert/1529816324478.key;    ssl_session_cache    shared:SSL:1m;    ssl_session_timeout  5m;    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   # ssl_ciphers  HIGH:!aNULL:!MD5;    ssl_prefer_server_ciphers  on;    root /tmp/html/blog;    location = / {       index index.html;       rewrite ^(.*)$ /hexblog/ break;    }    location / {       root /tmp/html/blog;    }}

上面的配置,相比较前面的,主要就是拦截了下默认的首页,强制跳转到指定的目录下

c. Tomcat代理

server {    listen       443 ssl;    server_name  media.hhui.top;    ssl_certificate      mediacert/1528000080078.pem;    ssl_certificate_key  mediacert/1528000080078.key;    ssl_session_cache    shared:SSL:1m;    ssl_session_timeout  5m;    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   # ssl_ciphers  HIGH:!aNULL:!MD5;    ssl_prefer_server_ciphers  on;    root /tmp/html/media/;    location / {        proxy_pass http://media.hhui.top:8080/media/;        proxy_redirect default;    }}

常见的代理转发配置了,nginx作为代理,将请求转发到Tomcat,也就那么一个简单的配置,主要利用的是 proxy_redirect

II. 小结

主要记录一个简单的配置,关于nginx详细的配置相关,之前写过一个博文,加上友情链接

上面配置体验:

III. 其他

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

  • 微博地址:
  • QQ: 一灰灰/3302797840

扫描关注

QrCode

转载地址:http://xgqbo.baihongyu.com/

你可能感兴趣的文章
java Windows7 下环境变量设置
查看>>
NBU异构还原Oracle完整备份的一些总结
查看>>
freeBSD安装详细讲解
查看>>
WSFC2016 VM弹性与存储容错
查看>>
文档管理,文本编辑控件TX Text Control .NET for WPF
查看>>
复习 Python 匿名函数 内建函数
查看>>
Security Identifiers | Win SRV2016 SID Change 修改
查看>>
看看来自日本的扫描,做网站需要注意的
查看>>
JDK 1.7+Android SDK+IntelliJ IDEA 13+Genymotion 安卓开发环境部署
查看>>
钓鱼邮件***防范指南
查看>>
session_start()放置位置的不正确引发的ROOT常量 未定义的错误
查看>>
如何设定VDP同时备份的任务数?
查看>>
ipsec的***在企业网中的经典应用
查看>>
过来人谈《去360还是留在百度?》
查看>>
mysql备份工具innobackupex,xtrabackup-2.1安装,参数详解
查看>>
【复制】slave筛选复制之二(create/drop table语句)
查看>>
Movie Store OpenCart 自适应主题模板 ABC-0249
查看>>
mytop-MySQL监控工具
查看>>
RedHat linux YUM本地制作源
查看>>
apache端口占用问题
查看>>