【问题标题】:Apache2 Django NameError: name "TypeError" is not definedApache2 Django NameError:未定义名称“TypeError”
【发布时间】:2021-03-09 12:35:26
【问题描述】:

我正在尝试通过 apache2 在 VPS 上运行 django 应用程序,但我在网站错误文件中得到以下内容,也是 400(错误请求):

Exception ignored in: <function Local.__del__ at 0x7f47273f48b0>
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/asgiref/local.py", line 96, in __del__
NameError: name 'TypeError' is not defined

我成功运行了一个使用“django-admin startproject”创建的简单网站并且可以查看,但是上传使用以下框架创建的项目会产生此错误:https://django-project-skeleton.readthedocs.io/en/latest/apache2_vhost.html

我尝试在 WSGIDaemon 中包含 python 站点包,并通过排除它们产生相同的效果。

除此之外,我还补充了:

<Directory /var/www/mysite/mysite>
        <Files wsgi.py>
            Require all granted
        </Files>
</Directory>

但同样,没有变化

【问题讨论】:

    标签: django apache2 vps


    【解决方案1】:

    因为这篇文章被投票了,也许它可以帮助其他人搜索这个问题:这是我的website.conf,只需将示例更改为您的域名。它还会重定向到您的 https 版本的网站:

    <VirtualHost *:80>    
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /var/www/example
        
        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
        
    </VirtualHost>
    
    <VirtualHost *:443>    
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /var/www/example
        # Insert the full path to the wsgi.py-file here
        WSGIScriptAlias /   /var/www/example/example/wsgi.py
       
        Alias /static/ /var/www/example/run/static/
        Alias /media/ /var/www/example/run/media/
     
        WSGIDaemonProcess   example python-path=/var/www/example
    
        # PROCESS_GROUP specifies a distinct name for the process group
        WSGIProcessGroup    example
        
        <Directory /var/www/example/example>
        <Files wsgi.py>
            Require all granted
        </Files>
        </Directory>
      
        <Directory /var/www/example/run/static>
            Require all granted
        </Directory>
    
        <Directory /var/www/example/run/media>
            Require all granted
        </Directory>
    
        LogLevel info
    
        ErrorLog    ${APACHE_LOG_DIR}/example_error.log
        CustomLog   ${APACHE_LOG_DIR}/example_access.log combined
    
        SSLEngine on
        SSLCertificateFile /var/ssl/example.crt
        SSLCertificateKeyFile /var/ssl/example.key
        SSLCertificateChainFile /var/ssl/example.ca-bundle
    
    </VirtualHost>
    
    

    【讨论】:

    • 当我关注你的配置时,一切都很好,我以为我的错误消失了,但不幸的是,在两次重新启动 apache 后,仍然面临同样的错误,尽管你的配置被照原样遵循。您是否尝试在 apache 重启后查看日志
    【解决方案2】:

    打开您的 apache 配置文件,然后在标签内添加“LogLevel info”:VirtualHost 在末尾(在结束标签之前)。这对我有用

    【讨论】:

      猜你喜欢
      • 2020-08-17
      • 2022-10-16
      • 2018-07-14
      • 2017-12-25
      • 2021-07-17
      • 2012-05-13
      • 2017-08-17
      • 2020-02-24
      • 2021-04-14
      相关资源
      最近更新 更多