Table of Contents
Detailed explanation of apache2.2 virtual host configuration, detailed explanation of apache2.2
1. Modify httpd.conf
2. Modify httpd-vhosts.conf
Virtual hosting based on IP address
Mixed use of various virtual hosts
Problems when using mixed virtual hosts
Use "_default_" virtual host
Home Backend Development PHP Tutorial Detailed explanation of apache2.2 virtual host configuration, detailed explanation of apache2.2_PHP tutorial

Detailed explanation of apache2.2 virtual host configuration, detailed explanation of apache2.2_PHP tutorial

Jul 12, 2016 am 09:04 AM
virtual host

Detailed explanation of apache2.2 virtual host configuration, detailed explanation of apache2.2

1. Modify httpd.conf

Open the appserv installation directory, find the httpd.conf file, and remove the # sign in front of the following two lines of text.

#LoadModule vhost_alias_module modules/mod_vhost_alias.so  
Copy after login

Removing # means enabling the virtual host function of apache.

#Include conf/extra/httpd-vhosts.conf
Copy after login

Removing the # in this line means importing the virtual host configuration from the file conf/extra/httpd-vhosts.conf

2. Modify httpd-vhosts.conf

Open the file and see content similar to the following. The configuration of the virtual host is also configured according to the following content. This content is explained below

NameVirtualHost *:80  
  
<VirtualHost *:80>  
    ServerAdmin webmaster@dummy-host.www.phpStudy.net  
    DocumentRoot "C:/Program Files/Apache2/docs/dummy-host.www.phpStudy.net"  
    ServerName dummy-host.www.phpStudy.net  
    ServerAlias www.dummy-host.www.phpStudy.net  
    ErrorLog "logs/dummy-host.www.phpStudy.net-error.log"  
    CustomLog "logs/dummy-host.www.phpStudy.net-access.log" common  
</VirtualHost>  
Copy after login

NameVirtualHost *:80

Note 1: NameVirtualHost specifies the IP address or domain name used by the virtual host, but it is best to use the IP address. NameVirtualHost is a necessary directive when using domain name-based virtual hosts. Multiple NameVirtualHost can be defined. Note 2: All requests that match the NameVirtualHost or tag definition will be processed as a virtual host, and the main server will ignore it. For requests where NameVirtualHost is defined but the tag is not defined, the server will not be able to find the corresponding virtual host and will not be able to process it. Therefore, each parameter defined by NameVirtualHost must match at least one . Note 3: If you set NameVirtualHost or to *:80, all requests for port 80 will be processed by the virtual host, and the requests will be directed to a certain virtual host based on the domain name. If there is a request from port 80 and the requested domain name is not configured as a virtual host, it will point to the first virtual host. This way the main server will not be able to receive any requests from port 80. A virtual host must also be configured for the main server for this purpose.

ServerAdmin Administrator Email

DocumentRoot website directory (Note: If the path in the website directory has spaces, please add double quotes at both ends of the path)

ServerName Domain name to be bound (required)

ServerAlias ​​The alias of the virtual host to be bound. (Optional, if there are multiple domain names, separate them with spaces. If not, remove the line)

Supports two wildcards: * and ?, such as *.abc.com, which means that any second-level domain name of abc.com can be accessed.

CustomLog user log file (optional, remove this line if not needed)

ErrorLog error log (optional, if not needed, remove this line)

Virtual hosting based on IP address

<VirtualHost 172.20.30.40>  
  DocumentRoot /www/example1  
  ServerName www.example.com  
</VirtualHost>  
Copy after login

<VirtualHost 172.20.30.50 192.168.0.10:80>  
  DocumentRoot /www/example2  
  ServerName www.example.org  
</VirtualHost>  
Copy after login

Each virtual host can define multiple IPs, separated by spaces

Mixed use of various virtual hosts

Listen 80  
Listen 81  
  
NameVirtualHost 172.20.30.40  
  
<VirtualHost 172.20.30.40>  
    DocumentRoot /www/example1  
    ServerName www.example.com  
</VirtualHost>  
  
<VirtualHost 172.20.30.40>  
    DocumentRoot /www/example2  
    ServerName www.example.org  
</VirtualHost>  
  
NameVirtualHost 172.20.30.40:81  
  
<VirtualHost 172.20.30.40:81>  
    DocumentRoot /www/example3  
    ServerName www.example3.net  
</VirtualHost>  
  
# IP-based  
<VirtualHost 172.20.30.50>  
    DocumentRoot /www/example4  
    ServerName www.example4.edu  
</VirtualHost>  
  
<VirtualHost 172.20.30.60:81 172.20.30.40:81>  
    DocumentRoot /www/example5  
    ServerName www.example5.gov  
</VirtualHost>  
Copy after login

Problems when using mixed virtual hosts

1. Mixed use of virtual hosts can be understood as follows: all virtual hosts defined by a line of NameVirtualHost directive are a group; this group is at the same level as an IP-based virtual host. That is, the entire group defined by a row of NameVirtualHost is regarded as an IP-based virtual host. 2. The port specified by the virtual host must be defined by Listen. If the virtual host does not specify a port, it is assumed to be port 80. If NameVirtualHost * is defined this way, refers to all defined ports for all addresses. 3. More specific address definitions take precedence. For example, the NameVirtualHost directive defines *:80, and an IP-based virtual host is defined as 192.168.0.1:80. If there is a request for 192.168.0.1:80 at this time, the request will be directed to 192.168.0.1:80 first. Defined virtual host. So to avoid confusion, do not define address ranges that overlap or include each other. 4. A virtual host can be both domain name-based and IP-based. Like the last virtual host in the previous example. In this way, requests that meet both definitions will be directed to the same virtual host. Sometimes this can be done when distinguishing between internal and external network access to a virtual host, because requests from the internal network may be different from requests from the external network, but they need to point to the same virtual host.

Use "_default_" virtual host

This virtual host can be understood as an IP-based virtual host

<VirtualHost _default_:*>  
    DocumentRoot /www/default  
</VirtualHost>  
Copy after login

This virtual host will take over requests that do not match the IP and port of other virtual hosts. However, in this case, the main server will not process any requests. Therefore it is necessary to configure the main server as a virtual host.

The local machine agent is a virtual host running on other machines

<VirtualHost 158.29.33.248>  
    ProxyPreserveHost On  
    ProxyPass /foo/no !  
    ProxyPass /foo http://192.168.111.2  
    ProxyPassReverse /foo http://192.168.111.2  
    ServerName hostname.example.com  
</VirtualHost>
Copy after login

一、首先这是一个基于IP的虚拟主机,它接收并处理对IP地址158.29.33.248的请求。 二、ProxyPass /foo http://192.168.111.2 将把对http://158.29.33.248/foo的请求转换为一个代理请求,该请求指向http://192.168.111.2。 三、ProxyPass /foo/no ! 不代理针对/foo/no的请求。这个必须放在正常代理指令之前。 四、ProxyPreserveHost On 意思是传送原始请求的Host信息给被代理的机器。 五、ProxyPassReverse /foo http://192.168.111.2 可以保证请求URL在其它机器上被重定向后,本机处理时也可以保持一致。具体看手册关于反向代理的部分。 六、基于域名的虚拟主机也是同样的道理。不管是什么类型的虚拟主机,它只是处理归它处理的请求而已。

配置实例

需求1:

这是一个基于IP的虚拟主机使用实例

一个项目数据应用,为了防止由于域名解析问题导致不能正常访问,因此采用IP的方式访问接口。比如:http://61.122.3.6:8080/ 这样的方式。虚拟主机的配置如下:

1、在httpd.conf中Listen 80下面增加一行,内容为:Listen 8080,即监听8080端口

2、配置虚拟主机配置

#NameVirtualHost 61.122.3.6:8080 这一行可以不需要。经测试,基于IP地址的虚拟主机可不用设置NameVirtualHost项。  
<VirtualHost 61.122.3.6:8080>  
    ServerAdmin webmaster@dummy-host.www.phpStudy.net  
    DocumentRoot "d:/web/openj"  
</VirtualHost>  
Copy after login

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1072328.htmlTechArticleapache2.2 虚拟主机配置详解,apache2.2详解 一、修改httpd.conf 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号。 #...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to set the speed limit of the virtual host through the Pagoda panel How to set the speed limit of the virtual host through the Pagoda panel Jun 21, 2023 am 11:17 AM

Pagoda Panel is a very excellent server management panel under Linux system. It has powerful functions and friendly interface, which can help users manage servers easily. In the process of using the Pagoda Panel, it is sometimes necessary to limit the speed of the virtual host to ensure the stability and fluency of the server. This article will introduce how to set the speed limit of the virtual host through the Pagoda panel to achieve a good user experience. 1. Overview of Speed ​​Limit Speed ​​limit refers to limiting the host bandwidth and ensuring the normal operation of the server by controlling the host traffic. exist

Detailed explanation of the virtual host and domain name binding functions of the Gin framework Detailed explanation of the virtual host and domain name binding functions of the Gin framework Jun 22, 2023 am 09:10 AM

The Gin framework is a lightweight web framework that provides the basic functionality needed to quickly build web applications. The Gin framework is flexible, efficient, and scalable, so it is widely used in the Internet field. Among them, the virtual host and domain name binding functions of the Gin framework are important features that other web frameworks do not have. This article will introduce this function in detail. 1. What is a virtual host? A virtual host creates multiple independent and mutually isolated virtual hosts on a physical host. Each virtual host has its own unique

What are the free php virtual hosts abroad? What are the free php virtual hosts abroad? Oct 16, 2023 am 09:57 AM

Foreign free php virtual hosts include DreamHost, Bluehost, Hostinger, 000Webhost, FreeHostia, Zymic, ByetHost and SiteGround.

How to use Pagoda Panel for virtual host security protection How to use Pagoda Panel for virtual host security protection Jun 21, 2023 pm 05:37 PM

In the Internet age, web hosting is a very popular service that allows users to own their own website and manage it easily. However, when using virtual hosts, security issues must also attract our attention. In response to this situation, Pagoda Panel provides a good solution that can help us better protect the security of the virtual host. This article will introduce how to use the Pagoda panel to protect the security of virtual hosts. 1. Set the login password and port. Before using the Pagoda panel, the first step is to set a secure login password. default

How PHP connects to Tencent Cloud Server ECS to implement cloud virtual host deployment How PHP connects to Tencent Cloud Server ECS to implement cloud virtual host deployment Jul 07, 2023 am 10:07 AM

How PHP connects to Tencent Cloud Server ECS to implement cloud virtual host deployment Introduction: With the rapid development of cloud computing, more and more enterprises and developers choose to deploy applications to cloud servers to obtain better elasticity and security. and scalability. This article will introduce how to use PHP to connect with Tencent Cloud Server ECS (Elastic Compute Service) to implement cloud virtual host deployment. Step 1: Create a Tencent Cloud Server ECS instance. First, we need to

How Nginx implements domain name-based virtual host configuration How Nginx implements domain name-based virtual host configuration Nov 08, 2023 pm 08:05 PM

How Nginx implements domain name-based virtual host configuration requires specific code examples. Nginx is a high-performance HTTP and reverse proxy server that provides flexible configuration options to implement domain name-based virtual host configuration. In this article, we will introduce in detail how to configure Nginx to implement domain name-based virtual hosting and provide specific code examples. First, we need to add the virtual host configuration block to the Nginx configuration file. On Ubuntu systems, the default configuration file path is /et

Nginx virtual host optimization configuration to improve website performance and user experience Nginx virtual host optimization configuration to improve website performance and user experience Jul 04, 2023 pm 05:55 PM

Nginx virtual host optimization configuration to improve website performance and user experience Introduction: Nowadays, with the continuous development of the Internet, the number of visits to the website is also increasing. As the entrance to the website, the optimized configuration of Nginx plays a crucial role in improving website performance and user experience. This article will introduce some methods for optimizing the configuration of Nginx virtual hosts, along with code examples so that you can better understand and apply them. 1. Configuration of virtual host Virtual host is an important concept in Nginx. Through the configuration of virtual host, we can

How to use Nginx to implement virtual host configuration based on domain name and path How to use Nginx to implement virtual host configuration based on domain name and path Aug 02, 2023 pm 01:14 PM

How to use Nginx to implement virtual host configuration based on domain name and path Introduction: In network application development, it is often necessary to configure multiple virtual hosts to provide different services. Nginx is a high-performance HTTP and reverse proxy server. By using Nginx, we can easily implement virtual host configuration based on domain name and path. This article will introduce how to use Nginx to implement such a configuration and give corresponding code examples. 1. The virtual host based on the domain name is configured in the Nginx configuration file, using

See all articles