【问题标题】:VirtualHost configuration doesn't allow second website to runVirtualHost 配置不允许第二个网站运行
【发布时间】:2014-11-11 20:57:50
【问题描述】:

我的/etc/apache2/sites-available/staginnx.com.conf有这个

WSGIScriptAlias / /home/ubuntu/v1/staginnx-info/app/website/website/wsgi.py
WSGIPythonPath /home/ubuntu/v1/staginnx-info/app/website

<VirtualHost *:80>

        # Admin email, Server Name (domain name) and any aliases
        ServerAdmin info@staginnx.com
        ServerName  staginnx.com
        ServerAlias www.staginnx.com

        <Directory /home/ubuntu/v1/staginnx-info/app/website/website>
            <Files wsgi.py>
                Require all granted
            </Files>
        </Directory>

        Alias /static/ /home/ubuntu/v1/staginnx-info/app/website/ui/static/

        <Directory /home/ubuntu/v1/staginnx-info/app/website/ui/static>
            Require all granted
        </Directory>

        Alias /favicon.ico /home/ubuntu/v1/staginnx-info/app/website/ui/static/images/favicon.ico

        ErrorLog /var/log/apache2/error.log

</VirtualHost>

<VirtualHost *:80>

  # Admin email, Server Name (domain name) and any aliases
  ServerAdmin blog.staginnx@staginnx.com
  ServerName  blog.staginnx.com
  ServerAlias blog.staginnx.com


  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.php
  DocumentRoot /var/www/html/blog/

  <Directory /var/www/html/blog>
   Require all granted
  </Directory>

  # Custom log file locations
  LogLevel warn
  ErrorLog  /var/www/html/blog/log/error.log
  CustomLog /var/www/html/blog/log/access.log combined

</VirtualHost>

现在第一个,主网站运行良好。第二个,BLOG 不起作用。

我已经完成了sudo a2ensite staginnx.com.conf,并在sites-enabled 生成了一个符号链接。我也完成了重新加载 apache 并重新启动。

四处冲浪,但没有运气。

想在我的博客文件夹中安装 wordpress 博客。

【问题讨论】:

    标签: django apache apache2 virtualhost wsgi


    【解决方案1】:

    为了在虚拟主机中使用您的 django 应用程序,您需要在虚拟主机设置中设置WSGIScriptAlias,并且您不能使用WSGIPythonPath,您需要使用WSGIDaemonProcess,如下面的设置.

    <VirtualHost *:80>
        WSGIScriptAlias / /home/ubuntu/v1/staginnx-info/app/website/website/wsgi.py
        WSGIDaemonProcess example.com python-path=/home/ubuntu/v1/staginnx-info/app/website
    
        # Admin email, Server Name (domain name) and any aliases
        ServerAdmin info@staginnx.com
        ServerName  staginnx.com
        ServerAlias www.staginnx.com
    
        <Directory /home/ubuntu/v1/staginnx-info/app/website/website>
            <Files wsgi.py>
                Require all granted
            </Files>
        </Directory>
    
        Alias /static/ /home/ubuntu/v1/staginnx-info/app/website/ui/static/
    
        <Directory /home/ubuntu/v1/staginnx-info/app/website/ui/static>
            Require all granted
        </Directory>
    
        Alias /favicon.ico /home/ubuntu/v1/staginnx-info/app/website/ui/static/images/favicon.ico
    
        ErrorLog /var/log/apache2/error.log
    
    </VirtualHost>
    

    此外,如果您想在同一主机上托管多个应用程序,那么您还需要更改 wsgi.py 文件中的一个小设置。

    而不是使用

    os.environ.setdefault(DJANGO_SETTINGS_MODULE, "app.settings")

    你应该使用

    os.environ["DJANGO_SETTINGS_MODULE"] = "app.settings"

    希望对你有帮助。

    For WSGIDaemonProcess setting

    【讨论】:

      猜你喜欢
      • 2017-04-03
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-16
      • 2014-09-21
      • 1970-01-01
      • 2013-06-29
      相关资源
      最近更新 更多