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

相关推荐

  • 大连哪里可以找到域名注册和虚拟主机服务?

    大连的域名注册和虚拟主机服务可以在多家网络公司找到,例如大连亿创云图科技有限公司、大连祥云科技发展有限公司等。这些公司提供包括域名注册、虚拟主机、服务器托管等在内的一站式互联网基础服务。具体选择哪家公司,可以根据您的需求和预算来决定。

    2024-10-11
    05
  • 云主机contos配置http的方法是什么

    要在云主机上配置HTTP服务,可以按照以下步骤进行:1. 安装HTTP服务器软件(例如Apache或Nginx)。2. 启动HTTP服务器。3. 配置防火墙以允许HTTP流量通过。4. 在浏览器中输入云主机的IP地址或域名,即可访问HTTP服务 。

    2024-02-16
    0146
  • 云服务器可以做多少个网站

    云服务器可以托管多少个网站?云服务器(Cloud Server)是一种可扩展的计算资源,通常由第三方服务提供商通过互联网提供,用户可以根据需求租用服务器资源,用于托管网站、应用程序、数据库等,云服务器与传统的物理服务器相比,提供了更大的灵活性和可伸缩性。因素决定网站数量一个云服务器可以托管的网站数量取决于多个因……

    2024-05-17
    0124
  • nginx是服务器吗(nginx作为前端服务器)(nginx属于什么服务器)

    答:Nginx可以作为静态资源服务器、动态资源服务器、反向代理服务器等,作为静态资源服务器,Nginx负责处理静态文件的请求;作为动态资源服务器,Nginx处理PHP、Python等后端应用的请求;作为反向代理服务器,Nginx可以将客户端的请求分发到后端应用服务器,并将后端应用服务器返回的数据返回给客户端,3. Nginx如何实现负载均衡?

    2023-11-30
    0193

发表回复

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

免费注册
电话联系

400-880-8834

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