为 django 项目配置 Apache

为 django 项目配置 Apache

我目前正在尝试将我的 django 项目部署到由 RHEL-8 VM 托管的 Web 服务器。我尝试设置 VM 以使用 HTTPD(apache)。但是,我似乎无法正确获取虚拟主机配置文件。因此,我已授予 apache 对 /var/www 及其内容(错误日志、自定义日志)的所有必要权限和所有权。我还在 /etc/httpd/conf.d/django.conf 中创建了一个虚拟主机 conf 文件,其中包含以下代码。

< 虚拟主机 *:80 >

    ServerAdmin root@localhost
    ServerName InternationalStudentHelp.com
    DocumentRoot /var/www/

    Alias /static /var/www/django_project/src/static_root
    <Directory "/var/www/django_project/src/static_root">
            Options FollowSymLinks
            Order allow,deny
            Allow from all
            Require all granted
    </Directory>

    ErrorLog /etc/httpd/logs/error_log
    CustomLog /etc/httpd/logs/access_log combined

    WSGIPassAuthorization On
    WSGIDaemonProcess django_proj python-path=/var/www/django_project/src python-home=/var/www/django_project/venv
    WSGIProcessGroup django_proj
    WSGIScriptAlias / /var/www/django_project/src/mysite/wsgi.py

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

</虚拟主机>

'''

但是我不确定如何让 HTTPD (apache) 正确接受此配置,因为我只收到下面所述的错误。如能得到任何帮助我将不胜感激。

编辑: ls -al /var/www

  • drwxr-xr-x.5 apache apache 53 4 月 30 日 19:02。
  • drwxr-xr-x.21 root root 4096 4月 28 17:31 ..
  • drwxr-xr-x. 6 apache apache 88 4月 30 17:34 django_project
  • drwxr-xr-x. 2 apache apache 6 十二月 3 01:19 cgi-bin
  • drwxr-xr-x. 2 apache apache 51 4月 30 19:07 html

编辑:ErrorLog 和 CustomLog 错误被注释掉

  • mod_wsgi (pid=36037): 无法执行 Python 脚本文件‘/var/www/django_project/src/mysite/wsgi.py’。

  • mod_wsgi (pid=36037): 处理 WSGI 脚本‘/var/www/django_project/src/mysite/wsgi.py’时发生异常。

  • ModuleNotFoundError:没有名为“mysite”的模块

这些错误重复多次

编辑: ls -al /var/www/django_project/src/mysite/

  • drwxr-xr-x.3 apache apache 89 4 月 30 日 17:33。
  • drwxr-xr-x.8 apache apache 182 4月 30 17:33 ..
  • -rw-r--r--. 1 apache apache 405 4月30日 17:33 asgi.py
  • drwxr-xr-x. 2 apache apache 4096 4月30日 17:33pycache
  • -rw-r--r--. 1 apache apache 3694 4月 30 17:33 settings.py
  • -rw-r--r--. 1 apache apache 1853 4月 30 17:33 urls.py
  • -rw-r--r--. 1 apache apache 405 4月 30 17:33 wsgi.py

编辑:上面的配置文件产生的错误:

  • AH00492:捕获 SIGWINCH,正常关闭

  • 忽略异常:<_UnixSelectorEventLoop running=False closed=False debug=False>> 的 del 回溯(最近一次调用最后一次):文件“/usr/lib64/python3.6/asyncio/base_events.py”,第 526 行,德尔 NameError:名称“ResourceWarning”未定义

  • SELinux 策略已启用;httpd 作为上下文 system_u:system_r:httpd_t:s0 运行

  • AH01232:已启用 suEXEC 机制(包装器:/usr/sbin/suexec)

  • AH02282:mod_heartmonitor 没有 slotmem

  • AH02951:mod_ssl 似乎未启用

  • Apache/2.4.37 (Red Hat Enterprise Linux) mod_wsgi/4.6.4 Python/3.6 已配置--恢复正常操作

  • AH00094:命令行:'/usr/sbin/httpd -D FOREGROUND'

编辑: ls -al /var/www/django_projects

  • drwxr-xr-x.6 apache apache 88 4 月 30 日 17:34。

  • drwxr-xr-x.5 apache apache 53 4月30日 19:02 ..

  • drwxr-xr-x. 7 apache apache 169 4月 30 17:33 .git

  • drw-rw-rw-. 2 apache apache 29 五月 1 00:29 日志

  • -rw-r--r--. 1 apache apache 404 4月 30 17:33 pyvenv.cfg

  • -rw-r--r--. 1 apache apache 26 四月 30 17:33 README.md

  • drwxr-xr-x. 8 apache apache 182 4月 30 17:33 src

  • drwxr-xr-x. 5 apache apache 100 4月 30 17:33 venv

相关内容