Ubuntu虚拟机Docker容器中mod_wsgi无法正常运行求助
问题描述
Windows 10系统安装Docker v4.20.1后,容器可正常运行Web应用,但将镜像拉取到Ubuntu 22.04虚拟机的Docker中运行时出现异常,且Apache2配置与文件结构和Windows环境完全一致。
现象对比
- 执行Django测试服务器命令:
可成功运行并正常访问8000端口页面(页面显示正常截图)。python /usr/src/app/caravan/manage.py runserver 0.0.0.0:8000 - 通过Apache的80端口访问时,出现**Internal Server Error(500)**错误(500错误页面截图)。
已完成的排查操作
- 确认mod_wsgi包已安装并启用:
(mod_wsgi启用成功截图)sudo a2enmod wsgi - 确认mod_wsgi.so文件存在且已加载(文件存在截图、模块加载状态正常截图)
Apache2配置内容
<VirtualHost *:80> ServerName localhost ServerAdmin xxx@gmail.com <Directory /usr/src/app/caravan/static> Require all granted </Directory> <Directory /usr/src/app/caravan> AddHandler wsgi-script .py Options +ExecCGI <Files wsgi.py> Require all granted </Files> </Directory> # Static path Alias /caravan/static/ /usr/src/app/caravan/static/ # wsgi settings WSGIDaemonProcess site_caravan python-path=/usr/src/app/caravan:/home/ubuntu/my_env/lib/python3.10/site-packages WSGIScriptAlias /caravan /usr/src/app/caravan/caravan/wsgi.py process-group=site_caravan application-group=%{GLOBAL} </VirtualHost>
Docker容器状态信息
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f7e9e00d653a phpmyadmin "/docker-entrypoint.…" 3 hours ago Up 2 hours 8080/tcp, 0.0.0.0:8080->80/tcp, :::8080->80/tcp phpmyadmin 14c291e12362 web "./entrypoint.sh" 3 hours ago Up 2 hours 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp web d71ffa8be50a db "docker-entrypoint.s…" 3 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp db
目前完全找不到错误原因,Windows与Ubuntu虚拟机的Docker容器环境完全一致,恳请帮忙解答。
内容的提问来源于stack exchange,提问作者firestoke
相关产品推荐
相关产品推荐

