在 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 和其他安全措施來保護你的應用程序。