当前位置: 首页 > 知识库问答 >
问题:

使用Django 1.6.5配置Apache服务器

霍浩皛
2023-03-14

我有一个EC2服务器,安装了Apache2、mod_wsgi和Django。服务器同时安装了python 2.7和3.4,这是服务器操作系统Ubuntu 14.04附带的。

我已经正确配置了virtualenvwrapper,可以指向Python 3.4,它是用于Web服务器的目标Python版本。

问题是当尝试访问我的django项目时,浏览器显示500个内部服务器错误。错误日志还表明正在使用Python 2.7而不是3.4

Django项目wsgi。py公司

导入系统
导入操作系统
导入站点

site.addsitedir('home/userid/. viralenvs/myproject/lib/python3.4/site-pack')

sys.path.append('/home/userid/myproject/myproject')
os.environ.setdefault("DJANGO_SETTINGS_MODULE","myproject.settings")

#激活您的虚拟环境
activate_env=os.path.expanduser("~/. viralenvs/myproject/bin/activate_this.py")
执行文件(activate_env,判决(__file__=activate_env))

#打开(activate_env)为f:
#code=compile(f.read(),activate_env,'exec')
#exec(code,判决(__file__=activate_env))

从django.core.wsgi导入get_wsgi_application
应用程序=get_wsgi_application()

/etc/apache2/sites-enabled/000-default.conf:

    WSGIScriptAlias /domain1 /home/userid/myproject/myproject/myproject/wsgi.py
    WSGIDaemonProcess domain1 user=userid
    <Directory /home/userid/myproject/myproject/myproject>
      WSGIProcessGroup domain1
      Options All
      AllowOverride All
      Require all granted
    </Directory>

输出:(env1)$~/myproject/myproject$pip3 freeze

Django==1.6.5
djangorestframework==2.3.13

apache2错误日志:

这是我第一次尝试用这些工具来设置服务器,所以即使在网上搜索了不同的教程后,我也不确定问题出在哪里。

更新:设置WSGIPythonHome后(感谢yuvl)我发现我的mod_wsgi可能配置为python 2.7。

[Wed Jun18 05:08:31.960637 2014][mpm_event:通知][pid 1828: tid140269602740096]AH00491:捕获SIGTERM,关闭
[Wed Jun18 05:08:33.243412 2014][mpm_event:通知][pid 2168: tid140466175211392]AH00489: Apache/2.4.7(Ubuntu)mod_wsgi/3.4 Python/2.7.6配置-恢复正常操作
[Wed Jun18 05:08:33.243753 2014][core:通知][pid 2168: tid140466175211392]AH00094:命令行:'/usr/sbin/apache2'
重要错误:没有命名为site的模块

所以我继续重新安装mod_wsgi

sudo apt-get build-dep libapache2-mod-wsgi 
sudo a2enmod wsgi

但现在有人说apache无法加载wsgi:

$sudo/etc/init。d/apache2重新启动*重新启动web服务器apache2[失败]
*apache2 configtest失败<配置测试的输出是:
apache2:etc/apache2/apache2的第140行出现语法错误。conf:etc/apache2/mods-enabled/wsgi的第1行出现语法错误。加载:无法加载/usr/lib/apache2/modules/modu wsgi。所以进入服务器:/usr/lib/apache2/modules/mod\u wsgi。因此:无法打开共享对象文件:没有此类文件或目录操作“configtest”失败

Apache错误日志:

$tail-f/var/log/apache2/error。日志导入错误:没有模块名站点导入错误:没有模块名站点导入错误:没有模块名站点导入错误:没有模块名站点导入错误:没有模块名站点导入错误:没有模块名站点导入错误:没有模块名站点导入错误:没有模块名站点导入错误:没有模块名站点导入错误:没有模块名站点导入错误:没有模块名站点导入错误:没有模块名站点导入错误[2014年6月18日星期三05:25:14.759140][mpm_事件:通知][pid 2168:tid 140466175211392]AH00491:捕获SIGTERM,正在关闭

有什么建议可以帮我解决这个问题吗?

在发布更新后,我还尝试按照本教程和本教程重新安装mod_wsgi,但仍然失败。Apache不知道mod_wsgi。

提前感谢您的帮助!


共有2个答案

申屠洛华
2023-03-14

在我的情况下,我只是手动停止启动我的apache2,每件事情对我来说都是工作
但对于永久解决方案
跟随Apache服务器不断崩溃,“捕获SIGTERM,关闭”
并通过以下链接编辑deploy.sh文件指南中的一些条目
http://httpd.apache.org/docs/2.2/stopping.html

阙项禹
2023-03-14

如果您没有使用系统python版本,那么也需要告诉apache。只需设置WSGIPythonHome指令,如下所示:

 WSGIPythonHome /path/to/virtualenv

此外,如果这仍然不起作用,请确保您的mod_wsgi是根据python 3.4而不是2.7编译的(此外,出于安全考虑,请确保您使用的是3.5或更高版本)

 类似资料:
  • 主要内容:服务器标识,文件位置,限制资源使用本文将介绍核心服务器提供的一些指令,这些指令用于配置服务器的基本操作。 服务器标识 和指令控制有关服务器的信息将显示在服务器生成的文档中,例如错误消息。指令设置Server HTTP响应头字段的值。 服务器使用,和指令来确定如何构造自引用URL。例如,当客户端请求目录但在目录名称中不包含尾部斜杠时,httpd必须将客户端重定向到包括尾部斜杠的全名,以便客户端正确解析文档中的相对引用。 文件位置 这

  • 本文向大家介绍PHP开发Apache服务器配置,包括了PHP开发Apache服务器配置的使用技巧和注意事项,需要的朋友参考一下 照此配置流程,绝对一路畅通,可保无虞。 昨天弄了个PHP小程序,想在本地跑一下测试,可是工作电脑没有安装环境,于是下载了一个wamp,一路畅通,Apache、Mysql、PHP就全有了。启动wamp服务,在浏览器里输入“http://localhost”,访问正常,跳出w

  • 我们来看看如何配置服务器端的 SSH 访问。 本例中,我们将使用 authorized_keys 方法来对用户进行认证。 同时我们假设你使用的操作系统是标准的 Linux 发行版,比如 Ubuntu。 首先,创建一个操作系统用户 git,并为其建立一个 .ssh 目录。 $ sudo adduser git $ su git $ cd $ mkdir .ssh && chmod 700 .ssh

  • 服务器配置 当你需要一台服务器的时候,首先需要向你的leader 提出申请,你的 leader 会利用公司的阿里云账户购买服务器实例,并且会把服务器的公网IP以及账号密码发送给你。 以下章节就叙述了当拿到一台全新的阿里云服务器实例时,我们需要怎样的工具以及我们需要经历哪些步骤对服务器进行配置。

  • 介绍常用的服务配置。 云联壹云 平台支持基于climc命令修改常用服务配置。 说明 请确保First Node节点已正确初始化climc工具,配置步骤请参考CLIMC工具 通用配置命令如下 目前支持配置的服务有keystone、glance、region2、yunionapi、common等。 命令模式 在命令行下输入climc并带额定的参数获取相应的结果。 # 查看服务的配置信息 $ climc

  • 我们的项目中使用的是Spring Cloud config server,它有多个微服务。配置服务器就绪后,我们现在将所有微服务的所有属性存储在一个中央git存储库中。每个微服务能够根据应用程序名称和配置文件提取自己的属性文件。我们试图将资源包存储在中央存储库中,并让config-server将这些资源包提供给微服务。我们的资源包包括属性文件,如messages_en.properties、mes