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

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

目录

前提条件

创建测试站点

配置Nginx

(可选)本地配置hosts

执行结果


前提条件

  • 已注册阿里云账号。如还未注册,请先完成账号注册。
  • 已创建分配公网IP的ECS实例,并部署了LNMP环境,具体操作请参见部署LNMP环境(CentOS 7)。
  • ECS云服务器:aliyunbaike.com/go/ecs
  • 实例规格:ecs.c6.large
  • 操作系统:CentOS 7.8 64位

创建测试站点

  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文件获取站点信息。

    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站点内容如下所示。

    testpage1

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

    testpage2

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/63505.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读】基于深度学习的时序预测——Non-stationary Transformers

系列文章链接 论文一&#xff1a;2020 Informer&#xff1a;长时序数据预测 论文二&#xff1a;2021 Autoformer&#xff1a;长序列数据预测 论文三&#xff1a;2022 FEDformer&#xff1a;长序列数据预测 论文四&#xff1a;2022 Non-Stationary Transformers&#xff1a;非平…

【hello C++】智能指针

目录 一、内存泄漏 1.1 什么是内存泄漏&#xff0c;内存泄漏的危害 1.2 内存泄漏分类 1.3 如何检测内存泄漏 1.4 如何避免内存泄漏 二、智能指针的使用及原理 2.1 RAII 2.2 智能指针的原理 2.3 智能指针的发展历程 2.4 智能指针的模拟及实现 三、shared_ptr 常见的问题 3.1 线程…

如何在页面中嵌入音频和视频?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 嵌入音频⭐ 嵌入视频⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏…

在Ubuntu中使用Docker启动MySQL8的天坑

写在前面 简介&#xff1a; lower_case_table_names 是mysql设置大小写是否敏感的一个参数。 1.参数说明&#xff1a; lower_case_table_names0 表名存储为给定的大小和比较是区分大小写的 lower_case_table_names 1 表名存储在磁盘是小写的&#xff0c;但是比较的时候是不区…

Scractch3.0_Arduino_ESP32_学习随记_WIFI一键配网web(五)

WIFI一键配网web 目的器材程序联系我们 目的 使用手机为C02一键配网 器材 硬件: 齐护机器人C02 购买地址 软件: scratch3.0 下载地址:官网下载 程序 程序如下图所示: 当程序上载完成后使用手机连接WIFI名为qdprobot的网络,密码为12345678。连接后会自动弹出配网的网页。…

[保研/考研机试] KY110 Prime Number 上海交通大学复试上机题 C++实现

题目链接&#xff1a; Prime Numberhttps://www.nowcoder.com/share/jump/437195121691717713466 描述 Output the k-th prime number. 输入描述&#xff1a; k≤10000 输出描述&#xff1a; The k-th prime number. 示例1 输入&#xff1a; 3 7 输出&#xff1a; …

mac电脑 node 基本操作命令

1. 查看node的版本 node -v2. 查看可安装的node版本 sudo npm view node versions3. 安装指定版本的node sudo n 18.9.04. 安装最新版本node sudo n latest5. 安装最新稳定版 sudo n stable6. 清楚node缓存 sudo npm cache clean -f7. 列举已经安装的node版本 n ls 8. 在…

AcWing算法提高课-4.2.3一个简单的整数问题2

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 本题链接&#xff08;AcWing&#xff09; 点这里 题目描述 给定一个长度为 N N N 的数列 A A A&#xff0c;以及 M M M 条指令&#xff0c;每条指令可能是以下两种之一&#xff1a; C l r…

计算机基础之RAID技术

概述 RAID&#xff0c;Redundant Array of Independent Disks&#xff0c;独立磁盘冗余阵列&#xff0c;一种把多块独立的硬盘&#xff08;物理硬盘&#xff09;按不同的方式组合起来形成一个硬盘组&#xff08;逻辑硬盘&#xff09;&#xff0c;从而提供比单个硬盘更高的存储…

Azure通过自动化账户实现对资源变更

Azure通过自动化账户实现对资源变更 创建一个自动化账户第一种方式 添加凭据&#xff08;有更改资源权限的账户&#xff0c;没有auth认证情况&#xff09;创建一个Runbook&#xff0c;测试修改 AnalysisServices 定价层设置定时任务&#xff1a;开始定时任务&#xff1a; 第二种…

01_Hudi 框架概述、数据湖Data Lake、什么是数据湖、数据湖框架、背景概述、Hudi 介绍、Hudi 发展及特性等

本文来自"黑马程序员"hudi课程 1.第一章 Hudi 框架概述 1.1 数据湖Data Lake 1.1.1 仓库和湖泊 1.1.2 什么是数据湖 1.1.3 数据湖的优点 1.1.4 Data Lake vs Data warehouse 1.1.5 数据湖框架 1.1.5.1 Delta Lake 1.1.5.2 Apache Iceberg 1.1.5.3 Apache Hudi 1.1.6…

深入探索 Spring MVC:构建优雅的Web应用

文章目录 前言一、什么是 Spring MVC1.1 什么是 MVC1.2 什么是 Spring MVC 二、Spring MVC 项目的创建2.1 项目的创建2.2 第一个 Spring MVC 程序 —— Hello World 三、RequestMapping 注解3.1 常用属性3.2 方法级别和类级别注解3.3 GetMapping、PostMapping、PutMapping、Del…