需要把域名和云服务器进行绑定, 这里面的核心操作其实是分成了两个步骤进行的, 具体做法是首先在域名服务商那边去添加一条解析记录, 这条记录的指向应该是服务器的公网IP地址, 然后还需要在服务器端去配置一下这个对应的站点, 当这两步操作都完成之后, 那么通过域名访问该服务就是正常的了, 下面是完整操作流程的具体说明。

操作前确认三项准备

1. 这个域名已经完成了实名认证的这一步骤。在国内进行注册的域名, 必须先通过实名认证的相关审核之后, 才允许被正常使用来进行解析相关操作, 如果域名的状态是未实名认证的话, 那么为其添加的那些解析记录就不会产生实际的生效结果。

2. 已经获取了云服务器公网IP, 登录云服务商控制台, 进入"实例列表"或"ECS管理", 在详情页的"网络"栏找到了公网IP地址并且记录了它。

3. 目前已经放行了安全组的入站端口。需要在安全组规则里面添加内容, 这个内容是规定使用协议TCP, 并且开放端口80以及端口443, 同时允许的来源IP地址范围设定为0.0.0.0/0。一定要确保已经放行了这些流量, 否则的话, 即便域名解析的结果是完全正确的, 也无法成功访问该服务。

添加域名解析记录

你可以到那些专门用来买域名的地方去操作, 比如像 gname.xin 这样的一些注册商那里。你要先进入和这个域名相关的那一个叫做“DNS解析管理”的页面里面去, 然后再找到并点击那个标着是“添加记录”的按钮。在弄好这一步之后呢, 你就需要按照顺序来分别填写下面提到的那两个项目的具体信息。

第一条记录类型要选择选项为A的那一个, 然后在主机记录这一栏里面填入符号@, 接着把服务器公网IP这个地址填到记录值那里去, 最后再把数字600填到TTL那个位置上。

第二条把记录类型选为A。在主机记录那里填入www。把记录值填成同一个公网IP。将TTL设置为600。

@ 这个符号是用来代表主域名本身的, 比方说 abc.com 就是这个情况, 而 www 是用来代表子域名的, 像 www.abc.com 这样的情况。如果把这两种记录都添加进去的话, 主域名和带有 www 字样的子域名, 就会同时指向同一台服务器。

服务器端站点配置

以Nginx这个例子来说, 因为Apache和Tomcat的逻辑跟它也是差不多的, 所以需要打开Nginx的配置文件, 这个文件通常放在/etc/nginx/conf.d/这个路径下面, 然后在里面去新增一个server块, 或者修改原有的那个server块。

server {
    listen 80;
    server_name abc.com www.abc.com;
    root /var/www/html;
    index index.html index.htm;
}

域名怎么绑到云服务器上?从解析到上线全流程手把手教(图1)

把server_name这个位置上的域名, 改成你自己实际绑定上去的那个域名, 并且去确认一下根目录也就是root所指的地方, 确实已经存在好网站文件了, 在完成保存动作以后, 紧接着就执行。

sudo nginx -t && sudo systemctl reload nginx

配置校验通过并重载后, 站点即与域名完成关联。

验证生效与HTTPS配置

1. 你可以在命令行里面执行 nslookup abc.com, 去确认一下, 返回的IP地址已经是服务器的公网IP了, 这就说明DNS已经生效了, 因为全球生效一般是需要5分钟到1个小时的时间。

2. 用户在浏览器地址栏里面直接输入那个域名, 然后确认这个页面能够正常打开。

3. 你需要先进行申请SSL证书以及部署的操作, 你可以在云服务控制台获取证书, 或者使用Let's Encrypt来获取证书, 然后配置Nginx的443端口监听地址, 还要指定证书的路径, 同时添加规则, 实现从80端口到443端口的强制跳转。

常见问题速查

解析已生效但访问报403:检查站点目录读取权限,执行 chown -R www-data:www-data /var/www/html && chmod -R 755 /var/www/html。

访问的时候出现了404错误, 需要确认 server_name 的拼写和域名是完全一致的, 并且确保 root 路径下面存在 index 文件。

出现更换服务器IP后页面无法访问的问题时, 应该回到第二步的操作过程, 把解析记录里面原本的旧IP地址换成新的IP地址, 然后执行保存操作, 接着就需要等待 DNS 解析重新生效。

当以上这些流程全部都做完之后, 域名就会正式地绑定到云服务器的身上去了, 这样一来, 它就能够对着外面的世界正常地提供出服务来。