我在ubuntu虚拟机上建立了一个开发环境,我有2个应用程序,通常部署在不同端口的应用服务器上。我有2个应用程序,通常部署在不同端口的应用程序服务器上。
在虚拟映像上,我想只部署1个应用服务器和2个战争,以避免2个应用服务器和2个独立端口的内存开销。长期来看,这将真正像10个应用程序,所以需要把它们都放在1个服务器上。
我目前的策略是使用 etchosts 将任何指向 a.myapp.com 的请求引导回 localhost,对于应用 A 而言,它的效果很好。我想对 b.myapp.com:7002 做类似的事情,但端口不同,而且据我所知,我无法设置 hosts 文件来改变端口。
在ubuntu中,有什么最简单的方法可以将b.myapp.com:7002的网络请求转发到运行在127.0.0.1:7001的单一应用服务器上。我是否要使用nginx等网络代理,是否要使用端口转发等?我是个linux菜鸟,所以请温柔点。我的主要驱动力是保持资源的最小化。nginx可能会占用更多的资源,但可能会在其他事情上长期派上用场,所以对各种选择持开放态度。
原来是用nginx和hosts文件组合的简单解决方案。
1). 在etchost文件中添加两个域名
2).安装nginx并在nginx.config的http部分定义一个服务器(反向代理)
server {
listen 7002;
#listen 7003; in future I can add N number ports for nginx to listen on
#listen 7004; in future I can add N number ports for nginx to listen on
location / {
proxy_pass http://127.0.0.1:7001/;
}
}
结果是。