情况是这样的,我有一个腾讯云主机,系统为 linux centos,并申请了域名 xiaogd.net,在其上面搭建了一个 wordpress 的站点,使用 apache server,这些目前都 OK。
新的需求
现在的问题是 wordpress 是用 PHP 语言,之前使用它的经验并不多,相对而言我更熟悉的是 Java 的技术栈,有时想在云上折腾点什么,觉得还是用回 Java 顺手一些。
于是乎,先是在云系统上装上 JRE,再装上 tomcat server,默认在 8080 端口上监听,启动后自然也能通过 8080 端口访问,像这样://www.xiaogd.net:8080。
注意:如果安全组里限制了 8080 端口的访问,则需要放通,这个视具体安全组配置而定。(为安全起见,通常不建议放开太多的端口)
使用子域名访问的设想
当然,使用 8080 端口看上去总是不那么正规,于是萌生了使用子域名方式来转发的设想,具体规划如下:
-
访问 //www.xiaogd.net/,则还是原来那样,对应原有的 wordpress 站点。
-
访问 //exp.xiaogd.net/,则转发至 8080 端口上的 tomcat server。
示意图如下:
那么这里的 “exp.xiaogd.net” 就是一个二级子域名了。
配置子域名
首先需要配置这个二级域名,登录腾讯云管理中心,在“云产品--云解析”相应域名条目下,增加一条 A 记录,主机记录为 exp,还是指向原来的 ip 地址:
这样之后,二级域名就配置好了,大概 10 分钟后就能生效。
当然,此刻去访问 exp.xiaogd.net,则还是去到原来的 wordpress 页面,跟直接访问 xiaogd.net 是一样的。
接下来就要配置转发了。
配置转发
那么现在需要在 apache server 上做些文章了,简单讲就是将视作为一个前置的反向代理。具体做法是去到 apache 的安装目录下,进入 conf 文件夹,找到 httpd.conf 文件,在该配置文件的最后,改动之前它是这样的:
然后我们在最后再增加一个如下的虚拟主机的记录:
ServerName exp.xiaogd.net ProxyPassMatch ^/(.*)$ http://127.0.0.1:8080/$1
主机名填我们的二级域名,然后转到 127.0.0.1:8080 上。最终效果如下:
重启 apache server 后,再次访问 ,这一次则进入了 tomcat 的欢迎页。Done!
后记
以上就是整个配置的过程,我将其记录下来,有类似需求的同学可以做个参考,希望能有所帮助。我本身对运维这一块的了解也并不多,以上配置参考了网上的一些做法,如果你有更好的想法,或觉得上述过程有任何不妥当之处,欢迎留言讨论,谢谢!