之前一直想配置一个二级域名。过程中踩了一些坑。现记录下来也给自己一个总结。
1 配置二级域名
配置二级域名,也就是我们在主域名下分发一个域名。比如 www.baidu.com ,我们想配置一个www.m.baidu.com,用专业的词叫域名解析。这个操作在阿里云服务器上步骤如下:
(1)通过再阿里云控制台搜索域名解析,进入到域名列表。
(2)点击当前域名下右侧操作选项的 “解析”进入解析页面
(3) 进入解析页面以后,添加 记录
这里重点说一下,主机记录。主机记录也就是域名前缀。它直接决定了你以什么方式访问这个域名。比如下图中如果主机记录是www.那么你就只能这样访问 www.kaon.net.cn,而不能直接kaon.net.cn访问,所以如果你想让你的网站可以直接输入kaon.net.cn被访问。那你改成@即可
特别提示:如果你添加了一个二级域名。而没有给一级域名进行域名解析。那就回出现你访问二级域名可以正常访问。但是访问一级域名却无法打开的情况。所有切记一定要把二级域名和一级域名都要解析。
到这里只是走完了第一步:我们在远程服务器配置了一个二级域名。接下来我们还有一个目的要实现。我们希望访问 kaon.net.cn进入到首页1,而通过 scan.ksan.net.cn可以访问到首页2.。而不是通过端口来区分。(例如kaon.net.cn------->访问首页1;scan.kaon.net.cn:8888------->访问首页2)
这时我们就需要通过nginx进行代理了。这就是我们的重点:.找到nginx.conf文件
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#gzip on;
server {
listen 80;
server_name localhost;
location / {
root /root/pc/dist;
if ( $http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry) ) {
root /root/mobile/dist;
}
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /jingtai {
alias /root/static;
}
location /testService {
alias /root/testService/dist;
try_files $uri $uri/ /index.html last;
index index.html;
}
}
server {
listen 80;
server_name scan.ksan.net.cn;
location / {
proxy_pass http://109.15.39.32:9999;
}
}
server{
listen 9999;
server_name scan.ksan.net.cn;
location / {
root html;
index index2.html;
}
}
}
这里我们的思路就是同时监听80端口,而server_name为scan.kson.net.cn的域名被监听到以后,就会被代理到http://109.15.39.32:9999这台虚拟主机上
这9999端口的服务器我们给他另外一个首页地址。也就是html目录下的index2.html。
进入到sbin 目录下通过 ./nginx -s reload
输入scan.kson.net.cn和kson.net.cn,就会发现两个不同的首页
踩坑总结:
1 如果配置了二级域名,一定要对一级域名进行解析 (非常重要)
2 如果配置了一个新的服务。比如server 9999,niginx配置没问题,但是而且reload 以后依旧无法通过ip+端口打开,则要看看9999这个端口是否被防火墙放行。
firewall-cmd --zone=public --list-ports ===>查看所有放行的端口
如果9999不在其中则需要添加进去
firewall-cmd --permanent --zone=public --add-port=9999/tcp ,重启以后就会正常访问