温馨提示×

Node.js如何配置Linux服务器

小樊
91
2025-03-30 15:15:57
栏目: 云计算

在Linux系统上配置Node.js服务器通常涉及以下几个步骤:

安装Node.js

  • 使用NodeSource二进制分发库

    1. 更新系统包:

      sudo apt-get update
      
    2. 安装NodeSource库(以安装Node.js 16.x为例):

      curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
      
    3. 安装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)

    1. 安装nvm:

      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
      
    2. 加载nvm:

      source ~/.bashrc
      
    3. 使用nvm安装Node.js:

      nvm install node
      

配置环境变量

  • 编辑~/.bashrc文件,将Node.js和npm的路径添加到环境变量中:

    export PATH=$PATH:/usr/local/bin
    
  • 使环境变量生效:

    source ~/.bashrc
    

验证安装

  • 确认Node.js和npm是否安装成功:
    node -v
    npm -v
    

配置Node.js应用

  • 创建一个简单的Node.js应用(例如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

安全性配置

  • 使用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’); });


- 限制访问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服务器的整个过程,并包括了一些基本的安全性配置建议。根据您的具体需求,您可能还需要进行其他配置,例如设置防火墙规则、配置日志记录等。

0