我正在Ubuntu服务器上运行Meteor服务器。 但是当我尝试让Apache在同一台服务器上提供一个子域时,会出现问题。
main.domain.com – >meteor
sub.domain.com – > Apache
meteor运行在80端口。我以前曾试图让meteor运行在3000端口,并与Nginx的反向代理服务,但meteor开始performance不好(tcp / websockets的问题),我花了太多的夜晚和晚上坚持我的看在自己的份上。
所以我恢复了我的设置,让meteor是主要的服务器(应用程序工作正常),然后安装Apache服务我的子域。 问题是我不能让Apache服务于80端口,因为它似乎超出了我的Meteor服务器。
从经验来看,我尽量避免使用反向代理meteor,但是我不够聪明,不能让Apache把自己专注于我的子域,也不会在我的服务器上压倒“端口80”。
在这种设置中,我怎样才能让两个服务相互配合?
更新:
按照EasyEchobuild议,我转向使用2个不同的IP地址。
让我们知道,我在Rackspace上使用“下一代”云服务器(运行最新的Ubuntu 12.04 LTS与最新的grub2 /更新的内核。
Rackspace不允许在其云服务器上使用其他IP( 源 )…
由OpenStack提供支持的下一代云服务器平台还不支持额外的IP地址。
…但创build服务器时获得1个IPv4和1个IPv6。 那么为什么不跳入IPv6的潮stream呢? 说起来容易做起来难。
所以这里是我的“新问题”:将我的子域映射到IPv6地址(DNS中的AAAA)并configurationApache来侦听IPv6地址后,我得到以下行为:
从我的服务器远程桌面(使用freeNX),在Firefox
从我的工作站(Win7 x64),也在Firefox
这是我的Apacheconfiguration:
/etc/apache2/ports.conf
NameVirtualHost [my:ip:v6:address]:80 Listen [my:ip:v6:address]:80 <IfModule mod_ssl.c> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule>
在/ etc / apache2的/启用的站点- /默认
<VirtualHost [my:ip:v6:address]:80> ServerAdmin webmaster@localhost ServerName sub.domain.com DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
这可以修复为“广告”工作?
如果可能的话,将多个IP分配给机器,并将Meteor设置为在其中一个ips和Apache上绑定到80,而在另一个上绑定到端口80。 请参阅Apache文档和meteor演示 ,这似乎涵盖了你在找什么。
更新:
那么很多新的信息…
您可能无法从工作站连接到IPv6 IP /主机,因为您使用的是IPv4。
嗯,你不应该需要多个IP地址来做到这一点。
在0.0.0.0:80上使用类似NginX或HAProxy的轻量级(缩放不会成为问题)进行监听,然后将stream量反向代理到下面的相关层,并在单独的端口上运行(在本地主机上监听,而不是0.0。 0.0)。
因此,请求来自apache.your_domain.com ,HAProxy内部将stream量路由到运行在另一个端口上的Apache。
请求进入meteor.your_domain.com ,和HAProxy内部路由stream量通过Node.js …