一台服务器搭建两个网站,并通过不同域名访问的实战指南

云服之家 云服务器资讯 1.1K+

在数字时代,拥有多个在线业务或项目已成为常态,对于许多初创企业或个人开发者而言,预算有限,可能无法为每一个项目单独购买一台服务器,幸运的是,通过一些技巧和配置,可以在同一台服务器上运行多个网站,并通过不同的域名进行访问,本文将详细介绍如何在单台服务器上搭建两个网站,并分别通过不同域名进行浏览。

一台服务器搭建两个网站,并通过不同域名访问的实战指南

云服之家,国内最专业的云服务器虚拟主机域名商家信息平台

准备工作

在开始之前,请确保您已经具备以下条件:

  1. 一台运行中的服务器:可以是物理服务器或云服务器(如AWS、阿里云、腾讯云等)。
  2. 域名:已注册的两个不同域名,或者为现有域名添加子域名。
  3. SSH访问权限:能够远程登录到服务器。
  4. :准备好两个网站的内容,可以是静态网页、动态应用等。
  5. 服务器操作系统:本文示例基于Linux系统(如Ubuntu、CentOS等)。

安装Web服务器软件

需要在服务器上安装Web服务器软件,常用的有Apache、Nginx等,这里以Nginx为例进行说明。

  1. 更新系统软件包

    sudo apt update
    sudo apt upgrade -y
  2. 安装Nginx

    sudo apt install nginx -y
  3. 启动并设置Nginx开机自启

    sudo systemctl start nginx
    sudo systemctl enable nginx

配置Nginx实现多站点

需要配置Nginx以支持多个站点,假设我们有两个网站:example1.comexample2.com

  1. 创建站点目录和配置文件

    sudo mkdir -p /var/www/example1.com/html
    sudo mkdir -p /var/www/example2.com/html
    cd /etc/nginx/sites-available/
    sudo touch example1.conf example2.conf
  2. 编辑配置文件: 打开example1.conf并添加以下内容:

    server {
        listen 80;
        server_name example1.com www.example1.com;
        root /var/www/example1.com/html;
        index index.html index.htm;
        location / {
            try_files $uri $uri/ =404;
        }
    }

    同理,打开example2.conf并添加以下内容:

    server {
        listen 80;
        server_name example2.com www.example2.com;
        root /var/www/example2.com/html;
        index index.html index.htm;
        location / {
            try_files $uri $uri/ =404;
        }
    }

    注意:每个站点应使用不同的server_nameroot目录。

  3. 创建符号链接到sites-enabled目录

    sudo ln -s /etc/nginx/sites-available/example1.conf /etc/nginx/sites-enabled/
    sudo ln -s /etc/nginx/sites-available/example2.conf /etc/nginx/sites-enabled/

    这一步是为了使Nginx能够识别并加载这些配置文件。

  4. 测试Nginx配置是否正确

    sudo nginx -t

    如果输出显示配置无误,则可以继续下一步,如果有错误,请根据提示进行修正。

  5. 重新加载Nginx配置

    sudo systemctl reload nginx

    这样,Nginx就会根据新的配置来运行两个网站了。

域名解析与DNS设置

需要将两个域名分别解析到服务器的IP地址,这通常需要在您的域名注册商处进行DNS设置,具体步骤如下:

  • 登录到您的域名注册账户(如GoDaddy、Namecheap等)。
  • 找到DNS管理或域名解析设置。
  • 添加两条A记录(或相应的域名解析记录),分别指向您服务器的IP地址。example1.com 指向 456.789.0example2.com 也指向 456.789.0,注意,这里使用的是同一个IP地址,由于Nginx会根据server_name来区分不同的站点,因此不会发生冲突,请确保您的IP地址是公网可访问的,如果使用的是云服务器,通常会自动分配一个公网IP,如果使用的是内网服务器,则需要通过反向代理(如使用Cloudflare等CDN服务)来实现,这超出了本文的范围,为了简化说明,这里假设您已经有一个公网可访问的IP地址,完成以上步骤后,您应该能够通过在浏览器中访问 http://example1.comhttp://example2.com 来分别查看两个网站的内容了,如果一切正常,您应该能够看到各自网站的首页内容,如果出现问题,请检查以下几点: 确保DNS解析已经生效(有时可能需要几小时或几小时)。 检查Nginx配置文件是否有语法错误(使用 sudo nginx -t 命令检查)。 检查防火墙设置是否允许HTTP流量通过(特别是当使用云服务时)。 确保文件权限和所有权正确(Web服务器用户应能够读取站点目录中的文件),通过以上步骤和注意事项,您应该能够成功在一台服务器上搭建并访问两个网站了,如果遇到任何问题或错误消息,请仔细检查每一步的详细信息和日志输出以进行故障排除,希望本文对您有所帮助!

标签: 服务器 网站搭建 域名访问