温馨提示×

ubuntu apache2可以有多个站点吗

小樊
81
2024-12-31 11:52:21
栏目: 智能运维

是的,Ubuntu Apache2 可以托管多个站点

  1. 首先,确保您已在 Ubuntu 上安装了 Apache2。如果尚未安装,请使用以下命令安装:
sudo apt update
sudo apt install apache2
  1. 为每个站点创建一个单独的目录,用于存放站点的文件。例如,为第一个站点创建一个名为 site1 的目录:
sudo mkdir /var/www/site1

为第二个站点创建一个名为 site2 的目录:

sudo mkdir /var/www/site2
  1. 更改这些目录的所有权,以便 Apache2 可以访问它们:
sudo chown -R www-data:www-data /var/www/site1
sudo chown -R www-data:www-data /var/www/site2
  1. 为每个站点创建一个虚拟主机配置文件。在 /etc/apache2/sites-available 目录下创建两个文件,例如 site1.confsite2.conf。使用文本编辑器打开这些文件,并添加以下内容(根据您的站点需求进行修改):

site1.conf:

<VirtualHost *:80>
    ServerAdmin admin@site1.com
    ServerName site1.example.com
    ServerAlias www.site1.example.com
    DocumentRoot /var/www/site1

    <Directory /var/www/site1>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/site1_error.log
    CustomLog ${APACHE_LOG_DIR}/site1_access.log combined
</VirtualHost>

site2.conf:

<VirtualHost *:80>
    ServerAdmin admin@site2.com
    ServerName site2.example.com
    ServerAlias www.site2.example.com
    DocumentRoot /var/www/site2

    <Directory /var/www/site2>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/site2_error.log
    CustomLog ${APACHE_LOG_DIR}/site2_access.log combined
</VirtualHost>
  1. /etc/apache2/sites-enabled 目录下创建指向这些配置文件的符号链接:
sudo ln -s /etc/apache2/sites-available/site1.conf /etc/apache2/sites-enabled/
sudo ln -s /etc/apache2/sites-available/site2.conf /etc/apache2/sites-enabled/
  1. 禁用默认站点(可选):
sudo a2dissite 000-default.conf
  1. 重新启动 Apache2 以应用更改:
sudo systemctl restart apache2

现在,您应该能够通过 site1.example.comsite2.example.com 访问这两个站点。请确保将示例域名替换为您自己的域名,并将它们解析到服务器的 IP 地址。

0