在Ubuntu系统上部署Node.js项目可以通过多种方式进行,以下是详细的步骤指南:
mkdir my-node-app
cd my-node-app
npm init -y
npm install express
app.js文件,并添加以下简单的Node.js代码:const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello, Docker!');
});
app.listen(port, () => {
console.log(`App listening at http://localhost:${port}`);
});
Dockerfile的文件,并添加以下内容:# 使用官方的Node.js运行时作为基础镜像
FROM node:14
# 创建应用目录
WORKDIR /usr/src/app
# 安装应用依赖
COPY package*.json ./
RUN npm install
# 复制应用代码
COPY . .
# 对外暴露端口
EXPOSE 3000
# 启动应用
CMD ["node", "app.js"]
docker build -t my-node-app .
docker run -p 3000:3000 my-node-app
sudo apt update
sudo apt upgrade
sudo apt install nodejs npm
node -v
npm -v
mkdir my-node-app
cd my-node-app
npm init -y
npm install express
server.js):const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
sudo npm install -g pm2
pm2 start server.js
pm2 startup
pm2 status
sudo apt install nginx
sudo nano /etc/nginx/sites-available/default
在配置文件中添加以下内容:server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
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;
}
}
sudo systemctl restart nginx
sudo ufw allow 'Nginx Full'
通过以上步骤,你可以在Ubuntu上成功部署你的Node.js项目。根据你的具体需求,可能还需要进行其他配置和优化。