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

news/2024/10/19 17:21:00/

本文阿里云百科介绍如何在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.ppmy.cn/news/1026336.html

相关文章

越南的区块链和NFT市场调研

越南的区块链和NFT市场调研 基本介绍 https://zh.wikipedia.org/wiki/%E8%B6%8A%E5%8D%97 语言文字&#xff1a; 越南语&#xff0c; 文字以国语字&#xff08;越南罗马字&#xff09;为主&#xff0c;汉喃文&#xff08;汉字&#xff09; 货币&#xff1a;越南盾 人口(2022…

Spring5 AOP 默认使用 JDK

这是博主在使用dubbo实现远程过程调用的时候遇到的问题&#xff1a; 我们如果在服务提供者类上加入Transactional事务控制注解后&#xff0c;服务就发布不成功了。原因是事务控制的底层原理是为服务提供者类创建代理对象&#xff0c;而默认情况下Spring是基于JDK动态代理方式创…

Python-OpenCV中的图像处理-模板匹配

Python-OpenCV中的图像处理-模板匹配 模板匹配单对象的模板匹配多对象的模板匹配 模板匹配 使用模板匹配可以在一幅图像中查找目标函数&#xff1a; cv2.matchTemplate()&#xff0c; cv2.minMaxLoc()模板匹配是用来在一副大图中搜寻查找模版图像位置的方法。 OpenCV 为我们提…

PXE-kickstart无人值守安装操作系统

PXE的概念&#xff1a; PXE&#xff08;Pre-boot Execution Environment&#xff0c;预启动执行环境&#xff09;是由Intel公司开发的最新技术&#xff0c;工作于C/S的网络模式&#xff0c;支持工作站通过网络从远端服务器下载映像&#xff0c;并由此支持通过网络启动操作系统…

FastDFS安装教程

FastDFS安装 软件下载 需要的软件&#xff1a;fastdfs-6.0.4、libfastcommon-1.0.42、fastdfs-nginx-module-1.22.tar.gz 下载地址 安装 fastdfs是使用c语言写的&#xff0c;需要先配置c语言环境。 yum install -y gcc gcc-cyum install libevent安装libfastcommon函数库…

pgsql checkpoint机制(1)

检查点触发时机 检查点间隔时间由checkpoint_timeout设置pg_xlog中wall段文件总大小超过参数max_WAL_size的值postgresql服务器在smart或fast模式下关闭手动checkpoint 为什么需要检查点&#xff1f; 定期保持修改过的数据块作为实例恢复时起始位置&#xff08;问题&#xf…

数据结构:力扣OJ题

目录 ​编辑题一&#xff1a;链表分割 思路一&#xff1a; 题二&#xff1a;相交链表 思路一&#xff1a; 题三&#xff1a;环形链表 思路一&#xff1a; 题四&#xff1a;链表的回文结构 思路一&#xff1a; 链表反转&#xff1a; 查找中间节点&#xff1a; 本人实力…

【ES6】深入理解ES6(1)

一、块级作用域绑定 var声明及变量提升机制 二、字符串和正则表达式 字符串&#xff08;String&#xff09;是JavaScript6大原始数据类型。其他几个分别是Boolean、Null、Undefined、Number、Symbol&#xff08;es6新增&#xff09;。 更好的Unicode支持 1. UTF-16码位 字…