在Linux系统上配置Node.js服务器通常涉及以下几个步骤:
使用NodeSource二进制分发库:
更新系统包:
sudo apt-get update
安装NodeSource库(以安装Node.js 16.x为例):
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
安装Node.js和npm:
sudo apt-get install -y nodejs
使用包管理器(适用于Debian/Ubuntu和CentOS/RHEL):
Debian/Ubuntu:
sudo apt-get update
sudo apt-get install nodejs npm
CentOS/RHEL:
sudo yum install -y nodejs npm
使用nvm(Node Version Manager):
安装nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
加载nvm:
source ~/.bashrc
使用nvm安装Node.js:
nvm install node
编辑~/.bashrc
文件,将Node.js和npm的路径添加到环境变量中:
export PATH=$PATH:/usr/local/bin
使环境变量生效:
source ~/.bashrc
node -v
npm -v
index.js
):const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World
'); });
server.listen(3000, () => { console.log(‘Server running at http://localhost:3000/’); });
- 运行应用:
```bash
node index.js
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’); });
- 限制访问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服务器的整个过程,并包括了一些基本的安全性配置建议。根据您的具体需求,您可能还需要进行其他配置,例如设置防火墙规则、配置日志记录等。