如何在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

相关推荐

  • 如何利用Nginx构建高效的负载均衡集群?

    Nginx负载均衡集群背景介绍随着互联网技术的迅猛发展,网站的访问量和数据流量快速增长,单一服务器难以承受如此高的并发请求,因此需要通过多台服务器组成的集群来分担压力,Nginx作为一种高性能的HTTP和反向代理服务器,广泛应用于负载均衡解决方案中,本文将详细介绍Nginx负载均衡集群的配置及其策略,什么是Ng……

    2024-11-24
    05
  • 如何将Nginx与CDN结合使用以提升网站性能和安全性?

    nginx 是一个高性能的 web 服务器和反向代理服务器,常用于负载均衡;cdn 是内容分发网络,通过将内容缓存到全球节点提高访问速度。

    2024-11-24
    06
  • 如何利用Nginx实现高效的负载均衡解决方案?

    Nginx负载均衡解决方案一、背景介绍1 什么是负载均衡?负载均衡,简而言之,是一种在多个计算资源(如服务器、处理器等)之间分配工作负载的技术,它的主要目的是优化资源利用、最大化吞吐量、最小化响应时间并避免任何单一资源过载,通过负载均衡,可以显著提高应用的性能和可靠性,确保系统在高并发环境下依然能够稳定运行,2……

    2024-11-22
    012
  • 服务器与虚拟主机,它们之间有何区别?

    服务器是实体或虚拟的计算机,用于存储网站文件和运行程序;虚拟主机是在一台服务器上划分多个独立空间,每个空间可托管一个网站。

    2024-11-21
    013

发表回复

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

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