在Linux服务器上配置Node.js通常涉及以下几个步骤:
对于基于Debian的系统(如Ubuntu),可以使用以下命令:
sudo apt update
sudo apt install nodejs npm
对于基于Red Hat的系统(如CentOS或Fedora),可以使用以下命令:
sudo yum install nodejs npm
或者对于较新的版本,使用 dnf
:
sudo dnf install nodejs npm
如果你需要特定版本的Node.js,可以使用NodeSource的二进制分发库。例如,安装Node.js 16.x版本:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
安装nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
加载nvm到当前shell会话:
source ~/.bashrc
使用nvm安装Node.js:
nvm install node
或者安装特定版本:
nvm install 16.14.0
编辑用户的shell配置文件(例如 ~/.bashrc
或 ~/.zshrc
),将Node.js和npm的路径添加到环境变量中:
export PATH=$PATH:/usr/local/bin
使环境变量生效:
source ~/.bashrc
在终端里分别尝试以下命令查看对应版本号:
node -v
npm -v
如果有返回具体的数值说明一切正常。
创建一个简单的Node.js应用(例如 index.js
):
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World
');
});
server.listen(port, hostname, () => {
console.log(Server running at http://${hostname}:${port}/
);
});
2. 运行应用:
```bash
node index.js
在本地浏览器中访问 http://127.0.0.1:3000/
,查看项目是否正常运行。
使用HTTPS协议:
const https = require('https');
const fs = require('fs');
const privateKey = fs.readFileSync('path/to/private-key.pem', 'utf8');
const certificate = fs.readFileSync('path/to/certificate.pem', 'utf8');
const ca = fs.readFileSync('path/to/ca.pem', 'utf8');
const credentials = { key: privateKey, cert: certificate, ca: ca };
const app = express();
app.get('/', (req, res) => { res.send('Hello World!
'); }); const httpsServer = https.createServer(credentials, app); httpsServer.listen(443, () => { console.log(‘HTTPS server listening on port 443’); });
2. 限制访问IP地址:
```javascript
const allowedIps = ['192.168.1.100', '192.168.1.101'];
app.use((req, res, next) => {
const clientIp = req.connection.remoteAddress;
if (allowedIps.includes(clientIp)) {
next();
} else {
res.status(403).send('Access denied
');
}
});
以上步骤涵盖了在Linux系统上安装、配置Node.js服务器的整个过程,并包括了一些基本的安全性配置建议。根据您的具体需求,您可能还需要进行其他配置,例如设置防火墙规则、配置日志记录等。