一台阿里云服务器怎么部署多个网站?以CentOS系统为例

本文阿里云百科介绍如何在CentOS 7系统的ECS实例上使用Nginx搭建多个Web站点。本教程适用于熟悉Linux操作系统,希望合理利用资源、统一管理站点以提高运维效率的用户。比如,您可以在一台云服务器上配置多个不同分类的博客平台或者搭建多个Web站点实现复杂业务的网站系统。教程中,将在一台已部署LNMP环境的实例上同时搭建两个测试站点Testpage-1和Testpage-2,并访问对应的站点。

目录

前提条件

创建测试站点

配置Nginx

(可选)本地配置hosts

执行结果


前提条件

创建测试站点

  1. 远程连接已部署LNMP环境的ECS实例。 远程连接方式请参见通过密码或密钥认证登录Linux实例

  2. 运行以下命令进入已配置好的网站根目录。

    复制代码
    cd /usr/share/nginx/html
  3. 运行以下命令创建两个测试文件夹。文件夹中用于存放测试网站信息,即存放项目代码。

    复制代码
    mkdir Testpage-1
    mkdir Testpage-2
  4. 配置测试站点Testpage-1的信息。

    1. 运行以下命令进入Testpage-1。

      复制代码
      cd /usr/share/nginx/html/Testpage-1/
    2. 运行以下命令创建并编辑index.html文件。

      复制代码
      vim index.html
    3. 按i进入编辑模式,输入以下测试内容。

      复制代码
      Test page 1

      编辑完成后,按Esc键,并输入:wq后按下回车键,保存并退出。

  5. 配置测试站点Testpage-2的信息。

    1. 运行以下命令进入Testpage-2。

      复制代码
      cd /usr/share/nginx/html/Testpage-2/
    2. 运行以下命令创建并编辑index.html文件。

      复制代码
      vim index.html
    3. 按i进入编辑模式,输入以下测试内容。

      复制代码
      Test page 2

      编辑完成后,按Esc键,并输入:wq后按下回车键,保存并退出。

配置Nginx

  1. 运行以下命令查看nginx.conf配置文件。

    复制代码
    cat /etc/nginx/nginx.conf

    http{}模块内,查看include配置信息。

    本示例中配置如下图所示,include /etc/nginx/conf.d/*.conf;表示Nginx将会从该路径下的所有.conf文件获取站点信息。

  2. 运行以下命令进入/etc/nginx/conf.d路径下。

    复制代码
    cd /etc/nginx/conf.d
  3. 为测试站点Testpage-1创建并配置Nginx配置文件。

    1. 运行以下命令创建并编辑配置文件。

      复制代码
      vim Testpage1.conf
    2. 按i进入编辑模式,输入以下内容。在注释内容处,替换服务器域名参数信息与项目路径参数信息。

      复制代码
      server {
          listen       80;
          server_name  testpage1.com;    #此处使用测试域名。实际配置中使用您的服务器域名。
      
          #charset koi8-r;
          access_log  /var/log/nginx/b.access.log  main;
      
          location / {
              root   /usr/share/nginx/html/Testpage-1;    #测试站点路径。即您的项目代码路径。
              index  index.html index.htm;
          }
      
          #error_page  404              /404.html;
      
          error_page   500 502 503 504  /50x.html;
          location = /50x.html {
              root   /usr/share/nginx/html;
          }
      }

      编辑完成后,按Esc键,并输入:wq后按下回车键,保存并退出。

  4. 为测试站点Testpage-2创建并配置Nginx配置文件。

    1. 运行以下命令创建并编辑配置文件。

      复制代码
      vim Testpage2.conf
    2. 按i进入编辑模式,输入以下内容。在注释内容处,替换服务器域名参数信息与项目路径参数信息。

      复制代码
      server {
          listen       80;
          server_name  testpage2.com;    #此处使用测试域名。实际配置中使用您的服务器域名。
      
          #charset koi8-r;
          access_log  /var/log/nginx/b.access.log  main;
      
          location / {
              root   /usr/share/nginx/html/Testpage-2;    #测试站点路径。即您的项目代码路径。
              index  index.html index.htm;
          }
      
          #error_page  404              /404.html;
      
          error_page   500 502 503 504  /50x.html;
          location = /50x.html {
              root   /usr/share/nginx/html;
          }
      }

      编辑完成后,按Esc键,并输入:wq后按下回车键,保存并退出。

  5. 运行以下命令重启Nginx服务。

    复制代码
    systemctl restart nginx

也可以直接安装宝塔Linux面板,然后在宝塔面板上安装多个网站,详细参考:https://www.aliyunfuwuqi.com/ecs/3465/

(可选)本地配置hosts

由于本教程中全部使用的测试信息,因此需要在本地的hosts文件中配置IP映射。如果您在配置多个站点信息时使用的是真实的服务器域名,请忽略该步骤。教程中本地物理机使用Windows操作系统。

  1. 访问C:\Windows\System32\drivers\etc目录。

  2. 复制hosts文件进行备份。 保留hosts - 副本文件,在测试完成后使用该文件恢复hosts文件的初始状态。

  3. 修改hosts文件。在文件末尾追加以下内容。

    复制代码
    <ECS实例公网IP> testpage1.com
    <ECS实例公网IP> testpage2.com

    保存文件并退出。

  4. 返回Windows桌面,并按下Win + R组合键。

  5. 在运行对话框中输入cmd,并单击确定。

  6. 在命令行中运行以下命令,使hosts配置立即生效。

    复制代码
    ipconfig /flushdns

执行结果

在本地主机打开浏览器,成功访问到两个测试站点。

  • 访问testpage1.com/,查看Testpage-1站点内容如下所示。

  • 访问testpage2.com/,查看Testpage-2站点内容如下所示。

至此多个Web站点已搭建成功。在实际搭建站点场景中,您只需要将配置文件中的域名与项目路径配置正确,即可实现多站点的访问。

本文转自阿里云官方文档。

相关推荐
司悠6 小时前
【解决在vscode里开服务器登录codeX后发消息会一直reconnecting】
服务器·ide·vscode
倔强的石头1066 小时前
Fooocus开源神器+cpolarAI让绘画告别服务器依赖
运维·服务器·cpolar
Ajie'Blog6 小时前
Copilot Agent Tasks API 开放:AI 编程开始进入后台任务时代
服务器·前端·javascript·人工智能·copilot·ai编程
wei_shuo6 小时前
服务器挂了等用户投诉才发现?我用Beszel搭了轻量监控系统,宕机第一时间通知我
运维·服务器
王码码20356 小时前
多台服务器怎么统一看状态?Beszel 轻量监控,搭起来不费事
运维·服务器·后端·安全·阿里云·接口·web
Mixtral7 小时前
职场录音转写工具投入产出比实测:随身鹿、通义听悟、阿里云与Trint该怎么选?
阿里云·云计算
剑神一笑8 小时前
Linux ls 命令深度解析:从目录遍历到颜色输出的实现原理
linux·服务器·数据库
Jinkxs11 小时前
Python基础 - 文件的写入操作 write与writelines方法
android·服务器·python
兮动人11 小时前
服务器流量监控与性能优化实战
服务器·网络·性能优化·服务器流量监控与性能优化实战
caimouse12 小时前
Reactos 第 4 章 对象管理 — 4.1 对象与对象目录
服务器·c语言·开发语言·windows·架构