把域名关联到云服务器这件事儿, 主要的步骤其实也就三个, 第一个是去配一下DNS解析, 第二个是在服务器上设好站点的文件夹在哪, 第三个就是确认能不能正常访问了, 这个具体的操作过程, 对像阿里云、腾讯云、华为云这种大公司的云服务都是能用的, 从头到尾弄下来, 大概也就花个15分钟的时间就能搞定了。

操作前置条件

在真正开始行动之前, 请先确认一下那些必要的条件是不是都已经全部存在了。

该域名已经完成了互联网信息服务中心的备案流程, 这是因为使用国内的服务器属于必须遵守的强制性要求。

服务器已经打开了, 而且也有了能够被公网访问到的IP地址。

服务器已经安装了Web服务, 也就是Nginx或者是Apache, 网站文件也已经部署到了指定的目录。

你需要拥有这个域名的Dns管理权限, 这个权限是可以在域名注册商的后台通过登录来进行操作的。

步骤一:配置域名DNS解析

登录域名注册商管理后台, 进入"DNS解析" 页面或者"解析设置" 页面, 新增一条 A记录:

字段 填写内容
主机记录 @(主域名)或 www
记录类型 A
记录值 云服务器公网IP地址
TTL 600秒(便于后续快速生效)

如果你需要把主域名和带www的域名同时绑定在一起, 那么你就需要分别去添加两条A记录。比如说你是在 gz88.cn 这个平台上面购买的域名, 那么你去登录它所对应的那个管理面板, 就可以完成上面所说的这个配置动作。当你把这些东西保存好以后, DNS生效的时间一般通常都是在5分钟到24个小时之间。

步骤二:服务器端站点配置

首先, 你需要登录到云服务器。接着, 你要编辑Web服务的站点配置文件。

Nginx: 编辑 /etc/nginx/conf.d/default.conf,将 server_name 改为你的域名:

server_name example.com www.example.com;

把 root 改成实际的网站文件所在的文件夹, 并且确认那个文件夹的文件权限是755。修改好以后, 紧接着执行:

sudo nginx -t
sudo systemctl reload nginx

云服务器绑定域名怎么操作?从解析配置到网站上线,三步完整流程详解(图1)

Apache, 这部分的编辑方法和前面说的情况是一样的, 需要你去打开这个路径指向的具体文件内容, 也就是把/etc/apache2/sites-available/000-default.conf里面的信息改一下, 重点要把代码块里标出的ServerName这个字段的数值进行调整。

在配置完成以后, 我们需要到服务器安全组规则这个位置里面去确认一下, 是不是已经把这些端口给放行了, 具体要放行的内容是80(HTTP)和443(HTTPS)这些端口。

步骤三:验证与HTTPS部署

你直接在浏览器里面输入那个域名, 看看网站上的内容能不能正常地加载出来, 如果都能够正常显示的话, 那就说明这个绑定操作是已经成功了的。

建议你去申请一个SSL证书, 因为很多云服务提供商一般都会免费为你提供这种证书的东西。这样做是为了完成HTTPS的配置工作, 从而避免出现浏览器弹出“不安全”这个警告提示的情况。

具体的操作步骤是, 先进入证书管理的面板进行申请操作, 然后下载这个证书并部署到你的服务器上面去, 接着在你的配置文件里面添加上 listen 443 ssl 这一行代码以及证书的存放路径, 最后再重载一下服务即可。

高频问题与排查

Q1:解析已配置但域名无法访问?

先检查安全组是不是放行80端口和443端口, 再检查网站文件目录是否正确, 还有文件是否存在, 最后在终端里面执行ping域名这个命令来确认解析到IP是不是正确。

Q2:访问提示"未备案"?

在国内服务器上, 必须完成ICP备案这个手续, 之后才可以借助域名来进行访问操作。在备案审核的这段期间, 可以临时使用IP这一地址方式来直接进行访问和调试工作。

Q3:同一服务器绑定多个域名?

在 server_name 中用空格分隔即可:server_name a.com b.com c.com;

Q4:更换服务器后访问仍指向旧IP?

这属于DNS缓存还没过期的情况, 需要等待TTL时间自然刷新, 或者手动清除本地缓存操作, 具体步骤为在Windows系统中输入ipconfig /flushdns, 在Mac系统中输入sudo dscacheutil -flushcache。

用户只要按照上述所提到的流程来一步一步地进行操作, 那么域名的解析工作就可以正常进行, 进而实现将流量指向到云服务器, 从而能够对外提供相应的服务。