Web virtual host refers to running multiple web sites in the same server, each of which does not actually occupy the entire server. Therefore, it is called a “virtual” web host, and the virtual web hosting service can make full use of the server. Hardware resources.
Using httpd makes it easy to set up a virtual host server. It only needs to run an httpd service to support a large number of web sites at the same time. There are three types of virtual hosts supported by httpd (like the Windows IIS service):
- A virtual host with the same IP, port number, and different domain name;
- Virtual host with the same IP and different port numbers;
- Virtual hosts with different IP addresses and the same port number;
Most O&M personnel should adopt the first solution when setting up a virtual host. The virtual host is based on different domain names, which is also the most user-friendly solution.
First, start building a domain-based virtual host:
- Provide domain name resolution for virtual hosts
[root@localhost /]
# vim /etc/named.conf
zone “mohan1.com” in {
type master;
file “mohan1.com.zone”;
};
zone “mohan2.com” in {
type master;
file “mohan2.com.zone”;
};
root@localhost /]# vim /var/named/mohan1.com.zone
in ns www.mohan1.com.
www in a 192.168.1.1
[root@localhost /]
# vim /var/named/mohan2.com.zone
in ns www.mohan2.com.
www in a 192.168.1.1
2, prepare web documents for the virtual host
Prepare website directories and web documents for each virtual web host. For the convenience of mohaning, each virtual web host is provided with a different home page file:
[root@localhost named]
# mkdir -p /var/www/mohan1com
[root@localhost named]
# mkdir -p /var/www/mohan2com
[root@localhost named]
# echo “
www.mohan1.com
” > /var/www/mohan1com/index.html
[root@localhost named]
# echo “
www.mohan2.com
” > /var/www/mohan2com/index.html
3, add virtual host configuration
[root@localhost named]
# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
ServerAdmin admin@mohan.com DocumentRoot “/var/www/mohan1com” ServerName www.mohan1.com ErrorLog “logs/mohan1-error_log” CustomLog “logs/mohan1-access_log” common require all granted
mohan2
ServerAdmin admin@mohan.com
DocumentRoot “/var/www/mohan2com”
ServerName www.mohan2.com
ErrorLog “logs/mohan2-error_log”
CustomLog “logs/mohan2-access_log” common
require all granted
[root@localhost named]
# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf
[root@localhost named]
# systemctl restart httpd
- Access the virtual web host in the client
Verify it, the result is as follows:
Second, the virtual host based on IP address:
(100,000 don’t want to write down, because the next content can be understood, it won’t be used, but….. Just in case, just write it)
Note that there is no connection between each method. Don’t confuse IP-based virtual hosts with domain-based ones.
[root@localhost named]
# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
…………..
ServerAdmin admin@mohan.com
DocumentRoot “/var/www/mohan1com”
ErrorLog “mohan1-error_log”
CustomLog “mohan1-access_log” common
require all granted
ServerAdmin admin@mohan.com DocumentRoot “/var/www/mohan2com” ErrorLog “mohan2-error_log” CustomLog “mohan2-access_log” common require all granted
[root@localhost named]
# vim /usr/local/httpd/conf/httpd.conf
………………….
Include conf/extra/httpd-vhosts.conf
[root@localhost named]
# systemctl restart httpd
Second, the port-based virtual host:
[root@localhost named]
# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
ServerAdmin admin@mohan.com DocumentRoot “/var/www/mohan1com” ErrorLog “mohan1-error_log” CustomLog “mohan1-access_log” common require all granted
ServerAdmin admin@mohan.com DocumentRoot “/var/www/mohan2com” ErrorLog “mohan2-error_log” CustomLog “mohan2-access_log” common require all granted
listen 8000
[root@localhost named]
# vim /usr/local/httpd/conf/httpd.conf
………………….
Include conf/extra/httpd-vhosts.conf
[root@localhost named]
# systemctl restart httpd
Recent Comments