无法在 Google Compute Engine 上的 LAMP VM 实例上添加子域

Can't add subdomain on LAMP VM Instance on Google Compute Engine

我正在尝试在 Google 云 LAMP VM 实例上的 Apache 中添加 blog.mydomain.com 子域。

/etc/apache2/sites-available 文件夹中有三个文件:defaultdefault-ssllamp-server。我假设 lamp-server 是正在使用的文件,所以我将此文件复制到 blog.mydomain.com 并将内容编辑为:

<VirtualHost *:80>
  ServerName blog.mydomain.com
  ServerAlias blog.mydomain.com
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/blog.mydomain.com/
  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>
  <Directory /var/www/blog.mydomain.com/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>
  ErrorLog ${APACHE_LOG_DIR}/error.log
  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

保存这个新文件后,我做了 sudo a2ensite blog.mydomain.com,然后 service apache2 reload。这样做之后,我的主要网站 (www.mydomain.com) 出现故障,只会显示一个显示 "Error establishing a database connection" 的页面。此消息不是来自我的应用程序。

我做错了什么?

这没有任何意义。如果您通过发出 a2ensite 添加 blog.mydomain.com,它会在可用站点和已启用站点中创建虚拟主机记录,除非您更改某些内容,否则不会影响您的原始网站。

如果虚拟主机中有 www.mydomain.com 的条目并且它转到正确的文件夹,您不应该得到 "Error establishing a database connection" 我猜这是一个 wordpress 实例。

确保您的 blog.mydomain.com 指向服务器 ip 地址。在将其添加到服务器 Web 服务器配置之前对其执行 Ping 操作。

同时从 blog.mydomain.com 配置中删除这些行:

  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>

并重新启动网络服务器并加载 blog.mydomain.com 和 www.mydomain.com。

消息 "Error establishing a database connection" 可能来自 /var/www/blog.mydomain.com/ 目录。