【发布时间】:2015-09-20 21:01:48
【问题描述】:
在将我的域名映射到在 8000 端口上运行的托管 django 应用程序时遇到问题。我看过很多关于这个问题的帖子,但我认为我错过了一些东西。我尝试了很多方法,但都失败了。我的域名是coachingfunda.com,它与我在Godaddy 中的ec2 公共IP 地址映射。我的 000-default.conf 文件是
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so
<VirtualHost *:80>
WSGIScriptAlias /wsgi/ /home/ubuntu/public_wsgi/
#ProxyPreserveHost On
#ProxyPass / http://nrollin.com:8080/nrollin
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
#ProxyPassMatch ^(.*)$ http://localhost:8000/$1
#ProxyPass / http://coachingfunda.com/
# ProxyPassReverse / http://127.0.0.1:8000/
ServerAlias www.coachingfunda.com
ServerName coachingfunda.com
#AliasMatch ^/(.*) http://www.coachingfunda.com:8000/$1
Redirect permanent http://coachingfunda.com http://www.coachingfunda.com:8000/
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
您可以看到此 url 正在运行 http://coachingfunda.com:8000/,这意味着我的应用程序已正确托管,但 http://coachingfunda.com 正在重定向到 localhost:8000。
这个问题看起来很愚蠢,但我被困了大约 2 天。请在这里帮助我。我的 coachingfunda.conf 是
<VirtualHost *:8000>
ServerAdmin webmaster@mydomain.com
ServerName coachingfunda.com
ServerAlias www.coachingfunda.com
WSGIScriptAlias / /var/www/coachingfunda/index.wsgi
Alias /static/ /home/ubuntu/coachingfunda/static/
<Location "/static/">
Options -Indexes
</Location>
<Directory "/home/ubuntu/coachingfunda/static/">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
请帮助我。任何建议都可以。
【问题讨论】:
-
你的 conf 中有这一行
Redirect permanent http://coachingfunda.com http://www.coachingfunda.com:8000/ -
对 'coachingfunda.com' 使用 'curl' 看起来不错。您使用重定向“永久”可能会导致浏览器缓存该事实。尝试其他浏览器或清除浏览器缓存。顺便提一句。为什么不直接在 80 端口上运行 Django?
-
另外建议你阅读blog.dscpl.com.au/2012/10/…不要使用嵌入模式。最好使用守护模式。
标签: django ubuntu amazon-ec2 apache2 hosting