作者:rz白雪 | 来源:互联网 | 2023-09-14 15:26
环境
VMplayer安装的Centos7(Basic Server)
node:v6.11.1
问题
写了一段简单的server.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
}); |
上传到centos7的目录
centos7开启端口:
firewall-cmd --permanent --zOne=public --add-port=3000/tcp
firewall-cmd --reload
在centos7上用screen开启一个新窗口,运行
启动node服务端,
退出窗口。
然后运行以下命令测试:
1 2 3 4 5 6 7
| [root@coffee nodejs]# curl http://127.0.0.1:3000
Hello World
[root@coffee nodejs]# curl http://localhost:3000
Hello World
[root@coffee nodejs]# curl http://192.168.31.156:3000
curl: (7) Failed connect to 192.168.31.156:3000; Connection refused
[root@coffee nodejs]# |
测试发现,当用具体的ip地址访问时,访问不了。
我又在自己的win10宿主机上打开浏览器访问
,也不能访问,浏览器报错信息:
dial tcp 192.168.31.156:3000: connectex: No connection could be made because the target machine actively refused it.
更奇怪的是,我自己写了个
的SpringBoot应用的HelloWorld,配置开启端口8080,
。
又安装
,配置80端口,配置了简单的静态文件服务,
。
也就是说,
上面
写出来的那段简单的代码
。
求解答
- 我确定我已经在centos7上使用过开启端口的命令了,并且这些命令用于测试Java和Nginx都能起效。
- 我是Node.js小白,所以是不是我写错了那段nodejs代码呢?还是centos7的nodejs环境需要特殊配置?