深入探究 Nginx 如何绑定域名访问

温馨提示:这篇文章已超过175天没有更新,请注意相关的内容是否还可用!

在当今数字化的时代,拥有一个独特且易于记忆的域名对于网站的成功至关重要,Nginx 作为一款高性能的 HTTP 服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器,能够轻松实现域名与服务器的绑定,让用户通过域名便捷地访问网站,我们将详细探讨 Nginx 绑定域名访问的具体步骤和相关要点。

准备工作

在开始绑定域名访问之前,我们需要做好一系列准备工作。

拥有一个域名

你需要购买一个域名,有许多知名的域名注册商可供选择,如阿里云、腾讯云、GoDaddy 等,在注册域名时,要确保选择一个符合你网站主题且易于记忆的域名,这将有助于提高用户访问的便利性和网站的品牌辨识度。

服务器环境

你需要有一台服务器来部署 Nginx,服务器可以是物理服务器、虚拟专用服务器(VPS)或云服务器,在服务器上安装好操作系统(如 Linux 系统,常见的有 CentOS、Ubuntu 等),并确保服务器网络配置正常,能够正常访问互联网。

安装 Nginx

不同的操作系统安装 Nginx 的方式略有不同,以 CentOS 为例,我们可以通过以下步骤安装 Nginx:

  1. 安装 EPEL 仓库:
    sudo yum install epel-release
  2. 安装 Nginx:
  3. sudo yum install nginx
  4. 启动 Nginx 服务并设置开机自启:
  5. sudo systemctl start nginxsudo systemctl enable nginx

    安装完成后,可以通过浏览器访问服务器的公网 IP 地址,如果看到 Nginx 的默认欢迎页面,说明 Nginx 安装成功。

    绑定域名到服务器

    获取域名解析记录

    在域名注册商的管理界面中,找到域名解析设置选项,通常需要添加两条解析记录:

    1. A 记录

      • 主机记录:一般填写 @ 或者空着,表示主域名。
      • 记录值:填写服务器的公网 IP 地址,这一步的作用是将域名指向服务器的 IP 地址,让 DNS 服务器知道当用户访问该域名时应该将请求导向哪里。

      CNAME 记录(可选)

      • 主机记录:www,表示将子域名 www 指向主域名。
      • 记录值:填写主域名,这样设置后,当用户访问www.example.com

        时,实际上会被解析到

        example.com

        对应的 IP 地址上。

      • 对应的 IP 地址上。
      • 在 Nginx 中配置域名

        打开 Nginx 的配置文件,一般位于

        /etc/nginx/nginx.conf

        或者

        /etc/nginx/conf.d/

        目录下,以 CentOS 为例,假设我们要配置一个新的域名

        example.com

        ,可以在

        /etc/nginx/conf.d/

        目录下创建一个新的配置文件,

        example.com.conf

        如下:

        如下:

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

        解释一下上述配置:

        • listen 80

          :表示监听 HTTP 协议的 80 端口,这是 HTTP 协议的默认端口,如果你的网站使用 HTTPS 协议,需要将这里改为 443 端口,并在服务器上配置 SSL 证书。

        • :表示监听 HTTP 协议的 80 端口,这是 HTTP 协议的默认端口,如果你的网站使用 HTTPS 协议,需要将这里改为 443 端口,并在服务器上配置 SSL 证书。
        • server_name example.com

          :指定该服务器块所对应的域名,你可以根据实际情况填写多个域名,用空格或逗号隔开。

        • :指定该服务器块所对应的域名,你可以根据实际情况填写多个域名,用空格或逗号隔开。
        • root /var/www/html/example.com

          :设置网站的根目录,当用户访问域名时,Nginx 会从这个目录下寻找对应的文件。

        • :设置网站的根目录,当用户访问域名时,Nginx 会从这个目录下寻找对应的文件。
        • index index.html index.htm

          :指定默认的首页文件,当用户访问域名时,如果没有指定具体的文件路径,Nginx 会首先寻找

          index.html

          index.htm

          文件。

        • 文件。
        • 配置完成后,保存文件并重启 Nginx 服务,使配置生效:

          sudo systemctl restart nginx

          常见问题及解决方法

          域名解析未生效

          如果在配置好域名解析和 Nginx 后,通过域名无法访问网站,可能是域名解析尚未生效,这时候可以使用一些在线 DNS 解析工具(如 dig 工具)来检查域名的解析情况,在终端中输入:

          dig example.com

          如果解析记录没有正确显示,可能需要等待一段时间(通常几分钟到几小时不等),让 DNS 服务器同步解析信息,或者尝试清除本地 DNS 缓存,在 Windows 系统中可以通过命令

          ipconfig /flushdns

          来清除;在 Linux 系统中可以使用命令

          nslookup -flushdns

          dn++asq -k

          (如果安装了 dn++asq)。

          (如果安装了 dn++asq)。

          权限问题

          当访问网站时出现 403 禁止访问的错误,很可能是权限问题,确保 Nginx 进程具有访问网站根目录及其文件的权限,如果你在

          /var/www/html/example.com

          目录下放置了网站文件,需要确保 Nginx 能够读取这些文件,可以通过以下命令修改目录和文件的权限:

          目录下放置了网站文件,需要确保 Nginx 能够读取这些文件,可以通过以下命令修改目录和文件的权限:

          sudo chown -R nginx:nginx /var/www/html/example.comsudo chmod -R 755 /var/www/html/example.com

          上述命令将

          /var/www/html/example.com

          目录及其所有子文件和目录的所有者改为

          nginx

          用户组,并设置目录权限为 755(可读可写可执行),文件权限为 644(可读可写)。

          用户组,并设置目录权限为 755(可读可写可执行),文件权限为 644(可读可写)。

          端口被占用

          如果在 Nginx 配置中更改了监听端口,但启动 Nginx 服务时出现错误,提示端口被占用,需要检查是否有其他程序正在使用该端口,可以使用命令

          netstat -tlnp

          来查看当前系统中正在监听的端口及对应的进程信息,找到占用目标端口的进程后,根据情况决定是关闭该进程还是更改 Nginx 的监听端口。

          来查看当前系统中正在监听的端口及对应的进程信息,找到占用目标端口的进程后,根据情况决定是关闭该进程还是更改 Nginx 的监听端口。

          使用 HTTPS 绑定域名访问

          为了提高网站的安全性,使用 HTTPS 协议绑定域名访问是很有必要的。

          获取 SSL 证书

          有多种方式可以获取 SSL 证书,常见的有:

          1. Let's Encrypt:这是一个免费的 SSL 证书颁发机构,可以通过 Certbot 工具来获取 Let's Encrypt 证书,以 CentOS 为例,首先安装 Certbot:

            sudo yum install certbot python2-certbot-nginx

            然后运行以下命令获取证书:

            sudo certbot --nginx -d example.com -d www.example.com

            按照提示完成证书申请过程,Certbot 会自动更新 Nginx 的配置文件以启用 HTTPS。

            购买 SSL 证书:一些商业证书提供商,如阿里云 SSL 证书服务、腾讯云 SSL 证书等,提供付费的 SSL 证书,购买后,按照提供商的说明进行证书安装和配置。

            配置 Nginx 使用 HTTPS

            在获取 SSL 证书后,需要对 Nginx 配置文件进行修改,以支持 HTTPS 访问,修改后的

            example.com.conf

            文件内容如下:

            文件内容如下:

            server {    listen       443 ssl;    server_name  example.com;    ssl_certificate "/etc/letsencrypt/live/example.com/fullchain.pem";    ssl_certificate_key "/etc/letsencrypt/live/example.com/privkey.pem";    include /etc/letsencrypt/options-ssl-nginx.conf;    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;    location / {        root   /var/www/html/example.com;        index  index.html index.htm;    }}server {    listen       80;    server_name  example.com;    return 301 https://$server_name$request_uri;}

            上述配置中:

            • listen 443 ssl

              :监听 HTTPS 协议的 443 端口。

            • :监听 HTTPS 协议的 443 端口。
            • ssl_certificate

              ssl_certificate_key

              :指定 SSL 证书文件和私钥文件的路径,如果是通过 Let's Encrypt 获取的证书,路径通常为

              /etc/letsencrypt/live/域名/fullchain.pem

              /etc/letsencrypt/live/域名/privkey.pem

            • include /etc/letsencrypt/options-ssl-nginx.conf

              ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem

              :包含一些 Let's Encrypt 提供的通用配置选项和 Diffie-Hellman 参数文件。

            • :包含一些 Let's Encrypt 提供的通用配置选项和 Diffie-Hellman 参数文件。
            • 添加了一个 80 端口的服务器块,作用是将所有 HTTP 请求重定向到 HTTPS 协议,确保用户始终通过安全的 HTTPS 方式访问网站。

              保存配置文件后,重启 Nginx 服务:

              sudo systemctl restart nginx

              通过以上步骤,我们就完成了使用 HTTPS 协议绑定域名访问的配置。

              通过合理的配置和操作,Nginx 能够轻松实现域名与服务器的绑定访问,无论是普通的 HTTP 访问还是更安全的 HTTPS 访问,在实际操作过程中,要注意各个环节的细节,及时解决遇到的问题,这样才能让你的网站通过域名稳定、安全地被用户访问😃,希望本文能为你在使用 Nginx 绑定域名访问时提供有价值的参考。

The End

发布于:2025-05-18,除非注明,否则均为域名通 - 全球域名资讯一站式平台原创文章,转载请注明出处。