在Linux环境下配置Node.js涉及多个步骤,包括安装、环境变量配置、性能优化、进程管理、日志管理和安全配置。以下是一个详细的进阶指南:
使用NodeSource二进制分发库:
sudo apt-get update
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
使用包管理器(适用于Debian/Ubuntu和CentOS/RHEL):
sudo apt-get update
sudo apt-get install nodejs npm
sudo yum install -y nodejs npm
使用nvm(Node Version Manager):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
source ~/.bashrc
nvm install node
nvm use 16.14.0
~/.bashrc
文件,将Node.js和npm的路径添加到环境变量中:export PATH=$PATH:/usr/local/bin
source ~/.bashrc
代码层面优化:
服务器配置优化:
使用pm2:
npm install pm2 -g
pm2 start app.js --name "my-app"
pm2 monit
pm2 logs my-app
使用systemd:
sudo nano /etc/systemd/system/my-app.service
sudo systemctl daemon-reload
sudo systemctl start my-app
sudo systemctl enable my-app
sudo systemctl status my-app
使用内置的console模块:
const express = require('express');
const app = express();
app.get('/', (req, res) => {
console.log('Request received');
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
使用日志库(如Winston、Bunyan):
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' }),
],
});
账户安全及权限管理:
防火墙配置:
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo systemctl restart firewalld
SSL证书管理:
通过以上步骤,你可以在Linux环境下成功配置Node.js,并确保其高性能、安全性和可管理性。