温馨提示×

Ubuntu上Node.js服务器如何配置

小樊
46
2025-11-08 13:34:23
栏目: 云计算

Ubuntu上Node.js服务器配置指南

1. 准备工作:更新系统包

在开始安装前,确保系统包是最新的,避免依赖冲突:

sudo apt update && sudo apt upgrade -y

2. 安装Node.js与npm

Node.js需要通过包管理器或脚本安装,推荐使用NodeSource仓库获取最新稳定版(以Node.js 18.x为例):

# 添加NodeSource安装脚本
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

# 安装Node.js(包含npm)
sudo apt install -y nodejs

安装完成后,验证版本:

node -v  # 查看Node.js版本(如v18.x.x)
npm -v   # 查看npm版本(如10.x.x)

3. 创建并初始化Node.js项目

选择一个工作目录,创建项目文件夹并初始化:

mkdir my-node-server && cd my-node-server

# 初始化项目(生成package.json)
npm init -y

package.json文件记录了项目元数据和依赖,后续安装的模块会自动添加至此。

4. 添加Web框架(可选但推荐)

原生http模块功能有限,推荐使用Express简化开发:

npm install express --save

创建server.js文件,编写基础服务器代码:

const express = require('express');
const app = express();
const port = 3000;

// 定义路由
app.get('/', (req, res) => {
  res.send('Hello World from Node.js with Express!');
});

// 启动服务器
app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}`);
});

5. 启动与进程管理

直接运行(开发环境)

node server.js

服务器启动后,终端会显示监听地址,访问http://localhost:3000即可看到响应。

使用PM2(生产环境必备)

PM2是Node.js进程管理器,可实现后台运行、自动重启、日志管理等功能:

# 全局安装PM2
sudo npm install -g pm2

# 启动应用(--name指定应用名称)
pm2 start server.js --name "my-node-app"

# 查看运行状态
pm2 list

# 其他常用命令
pm2 stop my-node-app     # 停止应用
pm2 restart my-node-app  # 重启应用
pm2 logs                 # 查看实时日志

6. 配置防火墙(可选但重要)

若服务器启用了ufw防火墙,需开放应用端口(如3000):

sudo ufw allow 3000/tcp
sudo ufw enable          # 启用防火墙(若未启用)

7. 可选:配置Nginx反向代理

反向代理可将Node.js应用绑定到域名,并提供HTTPS支持。以下是基础配置步骤:

安装Nginx

sudo apt install nginx

修改Nginx配置

编辑默认站点配置(或创建新配置):

sudo nano /etc/nginx/sites-available/default

server块中添加反向代理规则(替换your_domain.com为你的域名/IP):

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://localhost:3000;  # 转发到Node.js端口
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

保存后,测试配置并重启Nginx:

sudo nginx -t   # 检查配置语法
sudo systemctl restart nginx

配置SSL(推荐)

使用Let’s Encrypt免费获取SSL证书,实现HTTPS:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com  # 按提示操作

证书会自动配置到Nginx,无需手动修改配置文件。

总结

以上步骤覆盖了Ubuntu上Node.js服务器的基础配置,包括安装、项目创建、进程管理及反向代理。生产环境中,建议结合PM2、Nginx和SSL证书,确保应用的稳定性、性能和安全性。

0