在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,并確保其高性能、安全性和可管理性。