在 Linux 服务器上设置多个网站

在 Linux 服务器上设置多个网站

我目前有一个 Ubuntu 服务器,在上面我为一个旧项目建立了一个小网站,它是用 HTML/CSS/JS 编写的,现在我正在开发一个用 PHP 和 MySQL 编写的新 Web 应用程序。

我希望两个站点都部署。现在,如果我访问我的 IP 地址,默认情况下它会转到旧站点,其文件目录为 ,/var/www/lifeonearth/html/{all files here}而我的新项目位于/var/www/webDarts/{php files here}

有人能告诉我如何访问新应用程序吗?我是否必须设置虚拟主机或类似的东西,因为我已经有一段时间没有用过这个东西了,而且我有点生疏了……

答案1

首先我们需要在文件夹中创建一个 default.conf/etc/apache2/站点可用

默认配置文件文件:

<VirtualHost *:80>
  ServerAdmin [email protected]
  DocumentRoot /var/www/default

  <Directory /var/www/default>
    Options -Indexes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/default-error.log

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog ${APACHE_LOG_DIR}/default-access.log combined

</VirtualHost>

现在我们的默认配置已经配置好了,我们可以设置多个网站,例如:

foo.com.conf文件:

<VirtualHost *:80>
  ServerName foo.com
  ServerAlias *.foo.com
  ServerAdmin [email protected]
  DocumentRoot /var/www/foo.com

  <Directory /var/www/foo.com>
    Options -Indexes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/foo_com-error.log

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog ${APACHE_LOG_DIR}/foo_com-access.log combined

</VirtualHost>

现在我们需要做的a2ensite foo.comservice apache2 reload

如果您想要更多网站,请执行以下操作:

  1. cd /etc/apache2/站点可用
  2. cp foo.com.conf 新域.com.conf
  3. vim new-domain.com.conf (将所有 foo.com 和 foo_com 替换为 new-domain.com 和 new-domain_com)
  4. mkdir /var/www/new-domain.com
  5. 将内容放在 /var/www/new-domain.com 中
  6. a2ensite 新域.com.conf
  7. 服务 apache2 重新加载

如果它不起作用,请告诉我,我认为您了解用户策略?(www-data,/var/www 上的 chmod 755?)

相关内容