核心概念
在开始之前,我们先理解三个关键角色,这有助于你明白整个流程:

- 域名:你网站的地址,
google.com、baidu.com,它相当于你家的门牌号。 - VPS (Virtual Private Server):一台虚拟服务器,是你网站存放的地方,它相当于你家的房子。
- DNS (Domain Name System):域名系统,是互联网的“电话簿”,它的作用是将域名(如
google.com)解析到服务器的IP地址上,它相当于把门牌号和你家的地址(IP地址)关联起来的系统。
绑定域名的核心步骤就是: 告诉DNS系统,当有人访问我的域名时,请把他引导到我VPS的IP地址上。
准备工作
在开始之前,请确保你已经准备好以下东西:
- 一台已经搭建好的VPS:并且知道它的公网IP地址,你可以在VPS服务商的控制面板里找到它。
- 一个已经注册好的域名:并且你拥有该域名的管理权限(通常能登录域名注册商的后台)。
- VPS的登录信息:包括IP地址、用户名(如
root)和密码,或者SSH密钥。 - 网站文件:你的网站代码、图片等文件,已经上传到VPS的指定目录(
/var/www/html或/usr/share/nginx/html)。
第一步:在域名服务商处修改DNS记录
这是最关键的一步,目的是让域名指向你的VPS。
登录你的域名管理后台

打开你购买域名的服务商网站(如 GoDaddy, Namecheap, 阿里云, 腾讯云等),登录你的账户,找到“域名管理”或“产品管理”区域。
找到DNS管理/解析设置
在你的域名列表中,找到你想要绑定的那个域名,点击进入管理页面,然后寻找类似以下名称的选项:
DNS ManagementDNS Settings域名解析解析设置
添加A记录

A记录是域名解析中最基础的记录,它将一个域名指向一个IP地址。
- 记录类型:选择
A。 - 主机记录/主机名:
- 如果你只想绑定
www.example.com,这里就填写www。 - 如果你希望直接访问
example.com也指向你的VPS,你还需要添加一条记录,这里留空(或填写 ,代表根域名)。
- 如果你只想绑定
- 记录值/指向:填写你的VPS公网IP地址。
- TTL:保持默认值即可(如
Automatic,1 Hour)。
示例图:
假设你的VPS IP是 45.67.89,你想绑定 www.mydomain.com 和 mydomain.com,你需要添加两条A记录:
| 记录类型 | 主机记录 | 记录值 |
|---|---|---|
| A | www |
45.67.89 |
| A | 45.67.89 |
保存更改
保存设置后,DNS更改并不会立即生效,全球DNS的刷新时间(TTL)可能需要几分钟到48小时不等,通常情况下,几分钟内就会生效,你可以使用一些在线工具(如 DNSChecker.org)来检查你的域名是否已经解析到正确的IP。
第二步:在VPS上配置Web服务器
当DNS生效后,访问你的域名,请求就会到达你的VPS,你需要告诉VPS的Web服务器(Nginx或Apache)如何处理这个域名的请求。
情况A:如果你的VPS使用的是 Nginx
Nginx以其高性能和简洁的配置文件而闻名。
连接到你的VPS
使用SSH工具(如 PuTTY, MobaXterm, 或Windows自带的终端)连接到你的VPS。
ssh root@你的VPS_IP地址
创建站点配置文件
Nginx的站点配置通常存放在 /etc/nginx/sites-available/ 目录下,我们可以创建一个新的配置文件,mydomain.com。
nano /etc/nginx/sites-available/mydomain.com
编写配置内容
在打开的编辑器中,粘贴以下内容。请务必将 server_name 和 root 路径修改成你自己的信息。
# 监听 80 端口,这是HTTP的默认端口
server {
listen 80;
# 替换成你的域名,可以写多个,用空格隔开
server_name www.mydomain.com mydomain.com;
# 网站根目录,替换成你存放网站文件的实际路径
root /var/www/html;
# 访问日志和错误日志路径(可选,但推荐)
access_log /var/log/nginx/mydomain.com.access.log;
error_log /var/log/nginx/mydomain.com.error.log;
# 默认首页文件
index index.html index.htm index.php;
# 将所有请求都指向 root 目录下的文件
location / {
try_files $uri $uri/ =404;
}
}
创建符号链接以启用站点
sites-available 目录存放所有可用的站点配置,但 sites-enabled 目录存放的是正在运行的配置,我们通过创建一个符号链接来启用它。
# ln -s 源文件 目标链接 ln -s /etc/nginx/sites-available/mydomain.com /etc/nginx/sites-enabled/
测试并重启Nginx
在重启Nginx之前,最好先测试一下配置文件是否有语法错误。
nginx -t
如果看到 syntax is ok 和 test is successful 的提示,说明配置正确,现在可以重启Nginx使配置生效。
# 对于使用systemd的系统(如Ubuntu 16.04+, Debian 8+, CentOS 7+) systemctl restart nginx
检查防火墙
确保你的VPS防火墙(如 ufw 或 firewalld)允许80端口的流量。
# 对于 UFW ufw allow 'Nginx Full' # 对于 Firewalld firewall-cmd --permanent --add-service=http firewall-cmd --reload
情况B:如果你的VPS使用的是 Apache
Apache是另一个非常流行的Web服务器。
连接到你的VPS
同样,使用SSH工具连接到你的VPS。
ssh root@你的VPS_IP地址
创建站点配置文件
Apache的站点配置文件通常在 /etc/apache2/sites-available/ 目录下,创建一个新文件 mydomain.com.conf。
nano /etc/apache2/sites-available/mydomain.com.conf
编写配置内容
并修改 ServerName 和 DocumentRoot。
<VirtualHost *:80>
# 替换成你的域名
ServerName www.mydomain.com
ServerAlias mydomain.com # 设置别名,让 mydomain.com 也指向这个站点
# 网站根目录,替换成你存放网站文件的实际路径
DocumentRoot /var/www/html
# 目录权限设置
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# 访问日志和错误日志路径(可选)
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
启用站点和模块
使用 a2ensite 命令来启用这个站点配置。
a2ensite mydomain.com.conf
为了支持 .htaccess 文件(常用于WordPress等程序),确保 rewrite 模块已启用。
a2enmod rewrite
测试并重启Apache
测试配置文件是否有语法错误。
apache2ctl configtest
如果看到 Syntax OK,说明配置正确,然后重启Apache。
systemctl restart apache2
检查防火墙
确保防火墙允许80端口的流量。
# 对于 UFW ufw allow 'Apache Full' # 对于 Firewalld firewall-cmd --permanent --add-service=http firewall-cmd --reload
第三步:验证结果
完成以上所有步骤后,等待几分钟(让DNS完全生效),然后打开你的浏览器,分别访问:
http://www.mydomain.comhttp://mydomain.com
如果两个地址都能正确显示你VPS上的网站内容,那么恭喜你,VPS绑定域名已经成功!
常见问题
-
Q: 访问域名显示 "Welcome to Nginx!" 或 "Apache2 Debian Default Page"?
- A: 这说明你的域名已经解析到了VPS,但VPS上的Web服务器还在使用默认的配置文件,请检查你的新配置文件是否正确创建,并且符号链接是否正确建立,确保重启了Web服务器。
-
Q: 访问域名显示 "403 Forbidden"?
- A: 这通常是权限问题,请检查网站文件所在的目录(如
/var/www/html)及其内部文件的所有者和权限。 - Nginx: 默认用户可能是
www-data,你需要将网站目录的所有者改为这个用户。chown -R www-data:www-data /var/www/html
- Apache: 同样,将所有者改为
www-data。chown -R www-data:www-data /var/www/html
- A: 这通常是权限问题,请检查网站文件所在的目录(如
-
Q: 访问域名显示 "无法访问此网站" 或 "This site can't be reached"?
- A1: DNS尚未生效,请耐心等待,或使用DNS检查工具确认你的域名是否已解析到正确的VPS IP。
- A2: VPS防火墙阻止了80端口,请检查并放行80端口的入站规则。
- A3: Web服务器没有运行,请检查其状态:
systemctl status nginx或systemctl status apache2。
-
Q: 我想使用HTTPS(让域名显示为绿色小锁)?
- A: 在完成以上HTTP配置后,你需要为你的域名申请并安装SSL证书,最简单的方法是使用 Let's Encrypt,它提供免费的SSL证书,你可以使用
Certbot工具一键自动完成证书的申请和配置,这通常是Nginx或Apache配置后的下一步。
- A: 在完成以上HTTP配置后,你需要为你的域名申请并安装SSL证书,最简单的方法是使用 Let's Encrypt,它提供免费的SSL证书,你可以使用
希望这份详细的图文教程能帮助你顺利完成VPS域名的绑定!如果在任何步骤遇到困难,欢迎提问。
