手动阀

Good Luck To You!

Apache服务器一个IP多个站点的配置方法示例

在Apache服务器上配置一个IP地址来托管多个站点(虚拟主机)是一个常见的需求,以下是一个简单的示例,展示如何在一个IP地址上配置多个站点。

Apache服务器一个IP多个站点的配置方法示例

假设我们有两个域名:example1.comexample2.com,我们希望它们都使用同一个IP地址。

步骤一:安装Apache

确保你已经安装了Apache服务器,如果没有安装,可以使用以下命令进行安装(以Ubuntu为例):

sudo apt update
sudo apt install apache2

步骤二:创建站点目录

为每个站点创建一个目录。

sudo mkdir -p /var/www/example1.com/public_html
sudo mkdir -p /var/www/example2.com/public_html

步骤三:设置目录权限

确保Apache有权限访问这些目录:

sudo chown -R www-data:www-data /var/www/example1.com/public_html
sudo chown -R www-data:www-data /var/www/example2.com/public_html

步骤四:创建示例文件

在每个站点的目录中创建一个示例HTML文件:

echo "<html><body><h1>Welcome to example1.com!</h1></body></html>" | sudo tee /var/www/example1.com/public_html/index.html
echo "<html><body><h1>Welcome to example2.com!</h1></body></html>" | sudo tee /var/www/example2.com/public_html/index.html

步骤五:配置虚拟主机

编辑Apache的主配置文件或创建新的虚拟主机配置文件,你可以在/etc/apache2/sites-available/ 目录下创建新的配置文件。

Apache服务器一个IP多个站点的配置方法示例

配置 example1.com

创建并编辑example1.com.conf 文件:

sudo nano /etc/apache2/sites-available/example1.com.conf

添加以下内容:

<VirtualHost *:80>
    ServerAdmin webmaster@example1.com
    ServerName example1.com
    ServerAlias www.example1.com
    DocumentRoot /var/www/example1.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/example1.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example1.com_access.log combined
</VirtualHost>

配置 example2.com

创建并编辑example2.com.conf 文件:

sudo nano /etc/apache2/sites-available/example2.com.conf

添加以下内容:

Apache服务器一个IP多个站点的配置方法示例

<VirtualHost *:80>
    ServerAdmin webmaster@example2.com
    ServerName example2.com
    ServerAlias www.example2.com
    DocumentRoot /var/www/example2.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/example2.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example2.com_access.log combined
</VirtualHost>

步骤六:启用虚拟主机配置

启用你刚刚创建的虚拟主机配置:

sudo a2ensite example1.com.conf
sudo a2ensite example2.com.conf

步骤七:禁用默认站点(可选)

如果你不想使用默认的站点配置,可以禁用它:

sudo a2dissite 000-default.conf

步骤八:重启Apache服务

重启Apache服务器以应用更改:

sudo systemctl restart apache2

你的Apache服务器应该已经配置好了两个站点,并且它们共享同一个IP地址,你可以访问http://example1.comhttp://example2.com 来查看各自的内容。

发表评论:

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

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.