我运行了一个apache服务器,运行rails下面有mongrels。我的rails应用程序的apache配置文件如下所示:
<VirtualHost *:80>
ServerName trunk.production.charanga
ServerAlias max.trunk.production.charanga
DocumentRoot /home/max/work/e_learning_resource/trunk/public
RewriteEngine On
<Proxy balancer://mongrel1>
BalancerMember http://127.0.0.1:5010
</Proxy>
# Redirect all non-static requests to thin
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://mongrel1%{REQUEST_URI} [P,QSA,L]
ProxyPass / balancer://mongrel1/
ProxyPassReverse / balancer://mongrel1/
ProxyPreserveHost on
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
# Custom log file locations
ErrorLog /home/max/work/e_learning_resource/trunk/log/error.log
CustomLog /home/max/work/e_learning_resource/trunk/log/access.log combined
</VirtualHost>
我认为这可以让我从另一台使用max.trunk.production.charanga的计算机访问它,但是我确定了另一步,我无法弄明白。目前,如果我在另一台计算机上的firefox地址栏中键入我的IP地址,我会看到默认的apache服务器(“工作正常!”等),但我无法访问我的rails apache服务器。如果我在这里使用错误的术语,请纠正我...
感谢 最大
答案 0 :(得分:0)
尝试访问它的计算机需要知道如何将DNS条目max.trunk.production.charanga
解析为正确的IP地址192.168.1.42
(或者服务器的IP地址)。没有被告知,它无法解决这个问题。
您通常可以通过编辑/etc/hosts
并将该地址指向正确的IP地址来告知此信息。只是简单地让Apache识别该名称就不允许其他机器知道如何访问它。
或者,如果您运行本地DNS服务,则可以在那里添加条目。
答案 1 :(得分:0)
编辑主机文件是一种快速简便的解决方案。
添加行
192.168.1.1 trunk.production.charanga max.trunk.production.charanga
它将告诉您的计算机将该ip用于该域。根据您的浏览器(Firefox内部缓存)或您的操作系统(Windows缓存),您可能需要重新启动浏览器或刷新dns缓存。
有关您的hosts文件的更多信息(包括在不同操作系统上找到它的位置),check this wikipedia link.
答案 2 :(得分:0)
我认为这很简单,
我总是喜欢这样。例子。 200.100.10.1:3000 /。我在另一个城市访问我的朋友网络应用程序。
或
<VirtualHost>
DocumentRoot /htdoc/trunk/ <-- this is my app path. I move my rails app into xampp for exp
ServerName 200.100.10.1:3000
ServerAlias 200.100.10.1
</VirtualHost>
所以如果我没错,我只需输入200.100.10.1来访问他们的应用程序。我希望它有效
答案 3 :(得分:0)
我找到了答案:解决方案是使所需的服务器成为我的IP地址的默认服务器。我这样做是通过更改所需站点的配置文件的顶部(在这种情况下为/ etc / apache2 / sites-available / 001-trunk)
来自这个
<VirtualHost *:80>
ServerName trunk.charanga
ServerAlias max.trunk.charanga
DocumentRoot /home/max/work/e_learning_resource/trunk/public
......etc
到
NameVirtualHost 192.168.0.234:80
<VirtualHost 192.168.0.234:80>
ServerName trunk.charanga
ServerAlias max.trunk.charanga
DocumentRoot /home/max/work/e_learning_resource/trunk/public
.....etc
其中192.168.0.234是我的网络IP地址。
现在,当其他人在浏览器中输入该IP时,他们会获得我希望他们获取的网站,而不是apache默认网站。
感谢大家的建议!
答案 4 :(得分:0)
输入ip和port就像这样:
127.0.0.0:80/rails
这只有在权限设置为读/写时才有效。