我有一个使用此方法Deploy a meteor app部署的流媒体应用程序,该工作正常,现在可以在mydomain.com:3000上运行,但我想在mydomain.com/myapp上访问它。为此,我尝试将apache2与mods一起使用,按照我在网上阅读的内容,我的配置是:
<VirtualHost *:80>
ServerName mydomain.com
Alias /myapp /home/me/Documents/myapp/bundle/public
<Location /memo>
PassengerBaseURI /myapp
PassengerAppRoot home/me/Documents/myapp/bundle
PassengerAppType node
PassengerStartupFile main.js
</Location>
<Directory /home/me/Documents/myapp/bundle/public>
Allow from all
Options -MultiViews
</Directory>
ProxyPass /myapp http://localhost:3000/
ProxyPassReverse /myapp http://localhost:3000/
</VirtualHost>
但是当我继续使用mydomain.com/myapp时,我在mydomain.com:3000上有一个空白页面,这个工作正常。
什么不好?
编辑:我想知道这个问题是不是来自流星应用程序,因为我的页面顶部有一个窗口标题(来自我),但页面的其余部分始终是空。所以重定向工作有点......
由于mydomain / myapp sub-uri以及app配置中的错误,我的meteor应用程序难以找到他的资源吗?我已将ROOT_URL环境变量定义为mydomain.com/myapp
答案 0 :(得分:1)
对我来说apache2不是一个很好的选择,你应该使用nginx
配置示例:
server {
listen 80;
server_name example.com www.example.com;
location /myapp {
proxy_pass http://localhost:3000/;
}
}
答案 1 :(得分:0)
这是我用来重定向/博客到Meteor服务器的设置(我不使用Passenger和Apache)
<VirtualHost *:80>
ServerName myserver.com:80
Redirect permanent / /blog/
ProxyRequests Off
ProxyVia Block
ProxyPreserveHost On
<Proxy *>
Require all granted
</Proxy>
# Meteor ghost blog
ProxyPass /meteor/ http://172.31.1.11:3000/
ProxyPassReverse /meteor/ http://172.31.1.11:3000/
</VirtualHost>
这有效,但我必须同意@ kalid-rafik认为nginx是一个更容易的解决方案。也许你可以要求另一个ip地址与nginx一起使用?