【问题标题】:Deploying Django with apache using wsgi.py使用 wsgi.py 使用 apache 部署 Django
【发布时间】:2013-12-24 00:42:50
【问题描述】:

我正在尝试在具有 apache、其他一些 django 项目和一个 php 项目的 linode 服务器上部署一个 Django 项目。此外,我的项目在 virualenv 中,而其他 django 项目不在。

我的 Django 项目 apache 文件是

WSGIPythonPath /home/nccylli/www/ylli_transactions:/root/Envs/ylli-transactions/lib/python2.6/site-packages
WSGISocketPrefix /var/run/apache2/wsgi
WSGIScriptAlias / /home/nccylli/www/ylli_transactions/ylli_transactions/wsgi.py
DocumentRoot /home/nccylli/www/ylli_transactions/static


<Directory /home/nccylli/www/ylli_transactions>
<Files wsgi.py>
  Order allow,deny
  Allow from all
</Files>
</Directory>

Alias  /static /home/nccylli/www/ylli_transactions/static
Alias  /media /home/nccylli/www/ylli_transactions/media

ErrorLog /home/nccylli/www/ylli_transactions/logs/error.log
CustomLog /home/nccylli/www/ylli_transactions/logs/access.log combined

<VirtualHost *:80>
   ServerName my-domain.com
   ServerAlias www.my-domain.com
   ServerAdmin my-email


</VirtualHost>

PHP 项目 apache 文件

<VirtualHost *:80>
        ServerName php-prject-domain
    ServerAlias www.php-prject-domain
        DocumentRoot /home/nccylli/www/php-prject/

    CustomLog     /var/log/apache2/php-prject-access.log combined
    ErrorLog      /var/log/apache2/php-prject-error.log

        <IfModule mpm_itk_module>
                AssignUserId nccylli nccylli
        </IfModule>
</VirtualHost>

现在我遇到了两个错误
在django项目错误日志中

(13)Permission denied: access to / denied
(13)Permission denied: mod_wsgi (pid=9780, process='', application='my-domain.com|'): Call to fopen() failed for '/home/nccylli/www/ylli_transactions/ylli_transactions/wsgi.py'.

并在php项目错误日志中

mod_wsgi (pid=26782): Target WSGI script '/home/nccylli/www/ylli_transactions/ylli_transactions/wsgi.py' cannot be loaded as Python module.
mod_wsgi (pid=26782): Exception occurred processing WSGI script '/home/nccylli/www/ylli_transactions/ylli_transactions/wsgi.py'.
Traceback (most recent call last):
  File "/home/nccylli/www/ylli_transactions/ylli_transactions/wsgi.py", line 13, in <module>
    from django.core.wsgi import get_wsgi_application
ImportError: No module named wsgi

有什么想法吗?

【问题讨论】:

    标签: php python django apache debian


    【解决方案1】:

    尝试使用以下代码:

    <Directory /home/nccylli/www/ylli_transactions/ylli_transactions>
    <Files wsgi.py>
      Order allow,deny
      Allow from all
    </Files>
    </Directory>
    

    【讨论】:

    • @dado_eyad 你有没有正确添加WSGIPythonPath,WSGISocketPrefixWSGIScriptAlias
    • 你能告诉我这些值:WSGIPythonPathWSGISocketPrefixWSGIScriptAliaswsgi.py 的绝对路径吗?
    • 他们在我帖子的第一个文件中。不过没关系,我们转移到另一台服务器并使用 ngix 和 virtualenvs 配置了所有内容。
    猜你喜欢
    • 2015-06-08
    • 2013-08-03
    • 2012-08-22
    • 2014-10-11
    • 2012-06-17
    • 2014-07-15
    • 1970-01-01
    • 2012-05-02
    • 2014-07-31
    相关资源
    最近更新 更多