当我要把已经写好的node应用放到服务器上面时,却发现服务器已经安装了apache2
,为了避免端口的冲突,我将node的监听端口换成了8080
,但这样访问起来又比较麻烦,然后查了一下配置虚拟主机的操作,将对80
端口的访问都转移到了8080
上。接下来是操作的具体情况:
- node测试代码:
let http=require("http");
let server=http.createServer(function (request,response) {
response.end("This is node server");
});
server.listen(8080);
- 配置apache2:
apache的配置文件位置是/etc/apache2/sites-available/000-default.conf
,不同的版本可能有细微的差异,然后在<VirtualHost *:80></VirtualHost>
之间加入两行配置
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
此时再通过80
端口访问服务器就相当于直接访问8080
了。apache2的配置是一个比较复杂的问题,此处的解决方案是我搜索之后得到的解决方案,只能说是解决了问题,但不见得合理。