【发布时间】:2017-06-16 15:30:45
【问题描述】:
注意:我对 Apache 很陌生,所以我可能只需要一个简单的提示。
我已成功按照https://pypi.python.org/pypi/mod_wsgi 的说明进行设置,因此我使用 mod_wsgi 在 AWS Linux AMI EC2 服务器上的端口 80 上提供了一个空的 Django 项目。我使用这个命令开始为 Django 项目服务:
python manage.py runmodwsgi --setup-only --port=80 --user apache --group apache --server-root=/etc/mod_wsgi-express-80
这似乎使用自己的配置创建了一个单独的 Apache 实例,该实例仅服务于 Django 项目,独立于系统 Apache 安装。
但是,我也希望能够在端口 81 上为 phpMyAdmin 提供服务,但我不确定我应该修改哪个 Apache 实例(并且 mod_wsgi 实例的 httpd.conf 与默认)。我应该如何配置我的虚拟主机(以及我应该修改哪个实例)以便转到 <ip-address>:81/phpmyadmin 让我可以访问 phpMyAdmin?
目前,前往该地址只是超时。转到<ip-address> 会给我“它成功了!”符合预期的页面。
我目前对主要 httpd.conf 的修改:
Listen 81
Include sites-enabled/*.conf
WSGIScriptAlias /process /home/ec2-user/test/test_site/test_site/wsgi.py
WSGIPythonPath /home/ec2-user/test:/home/ec2-user/.virtualenvs/venv/lib/python3.5/site-\packages
<Directory /home/ec2-user/test/test_site/test_site>
<Files wsgi.py>
Order deny,allow
Allow from all
Require all granted
</Files>
</Directory>
ExtendedStatus On
Options -Indexes FollowSymLinks
为 phpMyAdmin 提供服务的 .conf 文件(这里是否缺少某些内容?)
<VirtualHost *:81>
ServerName phpmyadmin
DocumentRoot /var/www-81 #symlinked to '/usr/share/phpMyAdmin'
</VirtualHost>
【问题讨论】:
-
正如您链接到的 mod-wsgi 文档显示的那样,该软件包是一种与 Apache 一起设置模块的简单方法。但正如它也解释的那样,您可以在现有 Apache 安装中安装标准 mod_wsgi 模块并手动配置它,如 Django 和 mod_wsgi 文档中所示。
-
我最初是这样做的,但遇到了问题,所以我转向运行独立实例。原来我使用的是针对错误的 python 版本编译的 mod_wsgi.so。在这里使用了基本的虚拟主机配置modwsgi.readthedocs.io/en/develop/user-guides/…,甚至不用单独的端口就可以正常工作!感谢您鼓励我再试一次。
-
您可以使用 mod_wsgi-express,它不会妨碍您的 PHP 设置
标签: django apache mod-wsgi amazon-ami