在 CentOS 上配置 Node.js 应用程序的端口,通常涉及以下几个步骤:
安装 Node.js: 如果你还没有安装 Node.js,可以使用以下命令通过 NodeSource 仓库安装最新版本的 Node.js:
# 安装必要的开发工具
sudo yum install -y gcc-c++ make
# 添加 NodeSource 仓库
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
# 安装 Node.js
sudo yum install -y nodejs
请注意,上面的命令安装的是 Node.js 14.x 版本。如果你需要其他版本,请将 setup_14.x
替换为相应的版本号,例如 setup_16.x
。
编写 Node.js 应用程序:
创建一个简单的 Node.js 应用程序,监听一个特定的端口。例如,创建一个名为 app.js
的文件,并添加以下内容:
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}/`);
});
在这个例子中,应用程序将监听本地的 3000 端口。
运行 Node.js 应用程序:
在终端中,导航到包含 app.js
文件的目录,并运行以下命令来启动应用程序:
node app.js
你应该会看到输出 Server running at http://127.0.0.1:3000/
,这意味着你的应用程序正在监听 3000 端口。
配置防火墙: 如果你的 CentOS 系统启用了防火墙(firewalld),你需要允许外部流量通过你选择的端口。例如,要允许流量通过 3000 端口,可以使用以下命令:
sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
sudo firewall-cmd --reload
这将永久地添加一个规则到防火墙,允许 TCP 流量通过 3000 端口,并重新加载防火墙配置以应用更改。
配置 SELinux(如果适用): 如果你的系统启用了 SELinux,你可能需要配置它以允许 Node.js 应用程序监听低于 1024 的端口,或者更改应用程序以监听高于 1024 的端口。如果你想允许 Node.js 应用程序监听任何端口,可以设置适当的 SELinux 上下文:
sudo semanage port -a -t http_port_t -p tcp 3000
这将允许 Node.js 应用程序监听 3000 端口。
完成以上步骤后,你的 Node.js 应用程序应该已经在 CentOS 上配置好端口,并且可以从外部网络访问了。记得在生产环境中使用 HTTPS 和其他安全措施来保护你的应用程序。