如何在Linux上轻松配置虚拟主机以实现多个网站的共存?

Linux轻松设置虚拟主机:快速实现多个网站共存

在Linux环境中,通过配置虚拟主机(Virtual Host),可以在一台服务器上托管多个网站,每个网站拥有独立的域名和内容,以下是详细的步骤和示例:

概述

虚拟主机(Virtual Host)是一种网络技术,允许在一个单一的服务器上运行多个网站或服务,这些网站可以共享同一个IP地址,但通过不同的域名、端口或IP地址进行区分。

准备工作

1、安装Apache:确保已经安装了Apache Web服务器,可以使用以下命令安装:

   sudo yum install httpd y   # 对于CentOS/RHEL系统
   sudo aptget install apache2 y   # 对于Debian/Ubuntu系统

2、启用Apache服务:确保Apache服务在系统启动时自动启动。

   sudo systemctl enable httpd   # 对于CentOS/RHEL系统
   sudo systemctl enable apache2  # 对于Debian/Ubuntu系统

基于域名的虚拟主机配置

假设需要在一台服务器上托管两个站点:www.test01.comwww.test02.com,对应的文档根目录分别为/var/www/html/test01/var/www/html/test02

1、创建目录结构

   sudo mkdir p /var/www/html/test01
   sudo mkdir p /var/www/html/test02

2、授予权限:将目录的所有权赋予当前用户:

   sudo chown R $USER:$USER /var/www/html/test01
   sudo chown R $USER:$USER /var/www/html/test02

3、创建Demo页面:在每个目录下创建一个index.html 文件:

   nano /var/www/html/test01/index.html

内容如下:

   <!DOCTYPE html>
   <html>
   <head>
       <title>Welcome to Test01.com!</title>
   </head>
   <body>
       <h1>Success! The test01.com virtual host is working!</h1>
   </body>
   </html>

4、编辑Apache配置文件

打开主配置文件httpd.conf

     sudo nano /etc/httpd/conf/httpd.conf

添加以下内容以启用虚拟主机支持:

     Listen 80
     IncludeOptional sitesenabled/*.conf

5、创建虚拟主机文件

/etc/httpd/sitesavailable 目录下创建两个虚拟主机文件:

     sudo nano /etc/httpd/sitesavailable/test01.conf

内容如下:

     <VirtualHost *:80>
         ServerName www.test01.com
         DocumentRoot "/var/www/html/test01"
         ErrorLog ${APACHE_LOG_DIR}/test01.comerror_log
         CustomLog ${APACHE_LOG_DIR}/test01.comaccess_log combined
     </VirtualHost>

同样地,为第二个站点创建文件:

     sudo nano /etc/httpd/sitesavailable/test02.conf

内容如下:

     <VirtualHost *:80>
         ServerName www.test02.com
         DocumentRoot "/var/www/html/test02"
         ErrorLog ${APACHE_LOG_DIR}/test02.comerror_log
         CustomLog ${APACHE_LOG_DIR}/test02.comaccess_log combined
     </VirtualHost>

6、启用虚拟主机配置

创建从sitesavailablesitesenabled 的符号链接:

     sudo ln s /etc/httpd/sitesavailable/test01.conf /etc/httpd/sitesenabled/test01.conf
     sudo ln s /etc/httpd/sitesavailable/test02.conf /etc/httpd/sitesenabled/test02.conf

7、重启Apache服务

   sudo systemctl restart httpd   # 对于CentOS/RHEL系统
   sudo systemctl restart apache2 # 对于Debian/Ubuntu系统

基于IP的虚拟主机配置

假设需要在网卡ens160 上添加两个虚拟IP地址192.168.48.129192.168.48.130,并配置两个虚拟主机。

1、添加虚拟IP地址

   sudo nmcli connection modify ens160 +ipv4.addresses 192.168.48.129/24
   sudo nmcli connection modify ens160 +ipv4.addresses 192.168.48.130/24
   sudo nmcli connection up ens160

2、编辑Apache配置文件

/etc/httpd/conf.d 目录下创建host.conf 文件:

     sudo nano /etc/httpd/conf.d/host.conf

内容如下:

     <VirtualHost 192.168.48.129:80>
         ServerName 192.168.48.129
         DocumentRoot /www/129
     </VirtualHost>
     <VirtualHost 192.168.48.130:80>
         ServerName 192.168.48.130
         DocumentRoot /www/130
     </VirtualHost>

3、创建目录和Demo页面

   sudo mkdir p /www/129
   sudo mkdir p /www/130
   sudo echo "Welcome to 129!" > /www/129/index.html
   sudo echo "Welcome to 130!" > /www/130/index.html

4、重启Apache服务

   sudo systemctl restart httpd   # 对于CentOS/RHEL系统
   sudo systemctl restart apache2 # 对于Debian/Ubuntu系统

基于端口的虚拟主机配置

假设需要在同一个IP地址上通过不同端口配置两个虚拟主机。

1、编辑Apache配置文件

/etc/httpd/conf.d 目录下创建ports.conf 文件:

     sudo nano /etc/httpd/conf.d/ports.conf

内容如下:

如何在Linux上轻松配置虚拟主机以实现多个网站的共存?
     Listen 81
     Listen 82

2、创建虚拟主机文件

/etc/httpd/conf.d 目录下创建vhost.conf 文件:

     sudo nano /etc/httpd/conf.d/vhost.conf

内容如下:

     <VirtualHost *:81>
         ServerName example.com:81
         DocumentRoot /web1
     </VirtualHost>
     <VirtualHost *:82>
         ServerName example.com:82
         DocumentRoot /web2
     </VirtualHost>

3、创建目录和Demo页面

   sudo mkdir p /web1
   sudo mkdir p /web2
   sudo echo "Welcome to Port 81!" > /web1/index.html
   sudo echo "Welcome to Port 82!" > /web2/index.html

4、重启Apache服务

   sudo systemctl restart httpd   # 对于CentOS/RHEL系统
   sudo systemctl restart apache2 # 对于Debian/Ubuntu系统

以上就是关于“Linux轻松设置虚拟主机:快速实现多个网站共存 (linux设置虚拟主机)”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1223822.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-10-19 07:45
下一篇 2024-10-19 07:49

相关推荐

  • 你知道如何获取免费的虚拟主机吗?

    免费的虚拟主机提供商包括InfinityFree、AwardSpace和FreeHosting。这些服务通常提供有限的资源,适合小型网站和个人项目。使用时需注意可能的限制和广告展示。

    2024-12-23
    08
  • 你了解过这个被推荐的不错虚拟主机吗?

    蓝队云虚拟主机,性能稳定,速度快,价格实惠,适合个人和小型企业网站。

    2024-12-23
    05
  • 如何进行服务器多站点配置?

    在当今数字化时代,服务器多站点配置已成为企业扩展业务、提升用户体验和确保数据安全的重要手段,本文将深入探讨服务器多站点配置的概念、优势、实施步骤以及常见问题解答,帮助企业更好地理解和应用这一技术,服务器多站点配置概述服务器多站点配置指的是在同一台物理服务器或虚拟服务器上部署多个网站或应用程序,每个站点可以拥有独……

    2024-12-21
    00
  • 如何配置服务器以支持多站点运行?

    一、TCP端口法1、原理:通过改变Web站点的TCP端口号,在同一台服务器上新增站点,默认情况下,Web站点的TCP端口为80,但可以修改此端口号来实现“一机多站”,2、操作步骤: – 在“Internet信息服务管理器”中,右键单击主机名,选择“新建”→“Web站点”, – 在“Web站点创建向导”窗口中,依……

    2024-12-21
    06

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入