django - apache2(mod_wsgi-express):语法错误
问题描述
我不小心从持有我的 Django 网站的 apache 服务器中删除了虚拟环境。我创建了新的虚拟环境并在服务器上重新安装了所有内容,但是当我尝试使用命令重新启动服务器时:
sudo /etc/mod_wsgi-express-80/apachectl restart
我得到错误:
apache2 (mod_wsgi-express): Syntax error on line 155 of /etc/mod_wsgi-express-80/httpd.conf: Cannot load /www/site_name/venv/lib/python3.5/site-packages/mod_wsgi/server/mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so into server: /www/site_name/venv/lib/python3.5/site-packages/mod_wsgi/server/mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so: cannot open shared object file: No such file or directory
我检查了venv/lib/python3.5/site-packages/文件夹,其中没有名为mod_wsgi的文件夹。我应该手动创建文件夹吗?我是服务器处理的新手,不确定这是正确的解决方案。(早些时候我做了一个 git clean -fd 从服务器中删除了虚拟环境,最终导致了这种情况。)
一段/etc/mod_wsgi-express-80/httpd.conf看起来像这样:(第 155 行是以 "LoadModule.." 开头的行)
<IfModule mpm_prefork_module>
<IfDefine MOD_WSGI_WITH_PHP5>
<IfModule !php5_module>
Loadmodule php5_module '${MOD_WSGI_MODULES_DIRECTORY}/libphp5.so'
</IfModule>
AddHandler application/x-httpd-php .php
</IfDefine>
</IfModule>
LoadModule wsgi_module '/www/site_name/venv/lib/python3.5/site-packages/mod_wsgi/server/mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so'
<IfDefine MOD_WSGI_SERVER_METRICS>
<IfModule !status_module>
LoadModule status_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_status.so'
</IfModule>
</IfDefine>
请帮忙!
解决方案
推荐阅读
- python - 如何排除整个表达式,而不仅仅是在块文本中具有负面回顾的第一部分
- spring - 出现错误:创建名称为“*”的 bean 时出错:通过字段“repo”表示不满足的依赖关系;n
- sql - 使用 SQL 在表中进行行级计算
- python - ValueError: int() 以 10 为底的无效文字:'' | 姜戈
- php - nginx 重写请求以删除未知路径
- api - 将存储分离为单独的文件(操作、突变、getter)获取 api 调用现在不起作用
- r - R 直方图:将标签“频率”更改为“频率”
- ld - libbpf 问题:未定义对“xsk_umem__create”等的引用
- json - 在 PowerBI 中解析网站搜索历史 JSON 数据
- scala - 如何将值列表传递给加特林请求