手动阀

Good Luck To You!

Apache 配置多端口 多虚拟主机 局域网访问示例

在 Apache HTTP Server 中配置多端口和多虚拟主机,可以通过编辑httpd.conf 文件或创建单独的配置文件来实现,以下是一个示例,展示如何在局域网中配置多个端口和虚拟主机。

Apache 配置多端口 多虚拟主机 局域网访问示例

假设我们有以下需求:

1、使用端口 80 和 8080 提供不同的虚拟主机。

2、在端口 80 上有两个虚拟主机:example1.localexample2.local

3、在端口 8080 上有一个虚拟主机:example3.local

步骤一:编辑主配置文件

打开 Apache 的主配置文件httpd.conf(通常位于/etc/httpd/conf/httpd.conf/etc/apache2/apache2.conf)。

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

确保以下行没有被注释掉:

Listen 80
Listen 8080

步骤二:创建虚拟主机配置文件

为每个虚拟主机创建一个单独的配置文件,在 CentOS/RHEL 系统中,可以在/etc/httpd/conf.d/ 目录下创建这些文件。

虚拟主机 example1.local (端口 80)

创建文件/etc/httpd/conf.d/example1.local.conf

sudo nano /etc/httpd/conf.d/example1.local.conf

添加以下内容:

<VirtualHost *:80>
    ServerName example1.local
    DocumentRoot "/var/www/html/example1"
    <Directory "/var/www/html/example1">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

虚拟主机 example2.local (端口 80)

创建文件/etc/httpd/conf.d/example2.local.conf

Apache 配置多端口 多虚拟主机 局域网访问示例

sudo nano /etc/httpd/conf.d/example2.local.conf

添加以下内容:

<VirtualHost *:80>
    ServerName example2.local
    DocumentRoot "/var/www/html/example2"
    <Directory "/var/www/html/example2">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

虚拟主机 example3.local (端口 8080)

创建文件/etc/httpd/conf.d/example3.local.conf

sudo nano /etc/httpd/conf.d/example3.local.conf

添加以下内容:

<VirtualHost *:8080>
    ServerName example3.local
    DocumentRoot "/var/www/html/example3"
    <Directory "/var/www/html/example3">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

步骤三:设置目录权限

确保每个虚拟主机的文档根目录存在并且具有正确的权限。

sudo mkdir p /var/www/html/example1
sudo mkdir p /var/www/html/example2
sudo mkdir p /var/www/html/example3
sudo chown R $USER:$USER /var/www/html/example1
sudo chown R $USER:$USER /var/www/html/example2
sudo chown R $USER:$USER /var/www/html/example3

步骤四:重启 Apache 服务

保存所有更改并重启 Apache 服务以应用新的配置:

sudo systemctl restart httpd   # For CentOS/RHEL
or
sudo systemctl restart apache2 # For Debian/Ubuntu

步骤五:更新本地 hosts 文件

为了在局域网内访问这些虚拟主机,需要更新每台客户端机器上的hosts 文件,在 Linux 或 MacOS 上,可以编辑/etc/hosts 文件:

sudo nano /etc/hosts

添加以下行:

192、168.1.100 example1.local
192、168.1.100 example2.local
192、168.1.100 example3.local

请将192.168.1.100 替换为运行 Apache 服务器的实际 IP 地址。

完成以上步骤后,你应该能够在局域网内通过浏览器访问http://example1.localhttp://example2.localhttp://example3.local:8080

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.