在 flask 和 apache2 下部署子域

Deploying subdomain under flask and apache2

您好,我正在我的主域下部署一个子域 "qianshan.co"。当我在浏览器地址栏输入子域名"m.qianshan.co"时,出现我项目的文件目录...(好尴尬)

我遵循了有关 Digital Ocean 的几个教程,但没有用。 __init__.py 和虚拟主机配置一定有问题。非常感谢!

错误:输入子域并显示远程项目目录:

这是我的代码和目录:

  1. init.py

  1. 虚拟主机目录

  1. 主域虚拟主机配置

    <VirtualHost *:80>
            ServerName qianshan.co
            ServerAdmin spark@qianshan.co
            WSGIScriptAlias / /var/www/qianshan/qianshan.wsgi
            <Directory /var/www/qianshan/>
                    Order allow,deny
                    Allow from all
            </Directory>
            Alias /static /var/www/qianshan/static
            <Directory /var/www/qianshan/static/>
                    Order allow,deny
                    Allow from all
            </Directory>
            ErrorLog ${APACHE_LOG_DIR}/error.log
            LogLevel warn
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    
  2. 子域的虚拟主机配置

    <VirtualHost *:80>
            ServerName m.qianshan.co
            ServerAdmin spark@qianshan.co
            DocumentRoot /var/www/qianshan
            ErrorLog ${APACHE_LOG_DIR}/error.log
            LogLevel warn
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    
  3. DNS 配置

这似乎不是 Flask 的问题。

您已经使用所有需要的参数定义了您的基本虚拟主机,但您忘记在其他 VH 配置中复制所有这些参数。

尝试配置m。子域作为主域:

<VirtualHost *:80>
        ServerName m.qianshan.co
        ServerAdmin spark@qianshan.co
        WSGIScriptAlias / /var/www/qianshan/qianshan.wsgi
        <Directory /var/www/qianshan/>
                Order allow,deny
                Allow from all
        </Directory>
        Alias /static /var/www/qianshan/static
        <Directory /var/www/qianshan/static/>
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

A​​pache 中的每个 VH 都是一个单独的实体。它们仅共享 VirtualHost 指令之外定义的全局参数。