华为云怎么一个服务器怎么部署两个项目?

在华为云服务器上部署两个项目有多种方式,以下是几种常见的解决方案:

1. 使用不同端口(最简单)

# 项目1运行在8080端口
npm start --port 8080

# 项目2运行在8081端口
npm start --port 8081

访问方式:

  • 项目1:http://服务器IP:8080
  • 项目2:http://服务器IP:8081

2. 使用Nginx反向(推荐)

配置Nginx虚拟主机

# /etc/nginx/conf.d/project1.conf
server {
    listen 80;
    server_name project1.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

# /etc/nginx/conf.d/project2.conf
server {
    listen 80;
    server_name project2.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8081;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

3. 使用Docker容器化部署

# docker-compose.yml
version: '3'
services:
  project1:
    image: your-project1-image
    ports:
      - "8080:8080"
    volumes:
      - ./project1:/app

  project2:
    image: your-project2-image
    ports:
      - "8081:8081"
    volumes:
      - ./project2:/app

4. 使用PM2进程管理器

# 安装PM2
npm install -g pm2

# 分别启动两个项目
pm2 start app1.js --name "project1" -- --port 8080
pm2 start app2.js --name "project2" -- --port 8081

# 查看状态
pm2 list

5. 完整部署步骤示例

步骤1:准备项目目录

mkdir -p /var/www/project1 /var/www/project2
cd /var/www/project1
# 部署项目1代码

cd /var/www/project2  
# 部署项目2代码

步骤2:启动两个项目

# 项目1
cd /var/www/project1
npm install
npm start --port 8080 &

# 项目2
cd /var/www/project2
npm install
npm start --port 8081 &

步骤3:配置Nginx(可选但推荐)

# 安装Nginx
yum install nginx -y  # CentOS
# 或
apt-get install nginx  # Ubuntu

# 重启Nginx
systemctl restart nginx

6. 华为云安全组配置

在华为云控制台:

  • 开放80端口(HTTP)
  • 如果直接访问项目端口,开放8080、8081等端口
  • 或只开放80端口,通过Nginx反向

7. 域名绑定建议

  • 购买两个域名或使用子域名
  • DNS解析到服务器IP
  • 通过域名区分不同项目

注意事项:

  1. 端口冲突:确保两个项目使用不同端口
  2. 资源监控:监控CPU、内存使用情况
  3. 日志管理:分别记录两个项目的日志
  4. 防火墙:配置华为云安全组规则
  5. 备份策略:定期备份两个项目的数据

选择哪种方式取决于你的具体需求:

  • 简单测试:用不同端口
  • 生产环境:推荐Nginx + 域名
  • 复杂应用:使用Docker容器化
未经允许不得转载:ECLOUD博客 » 华为云怎么一个服务器怎么部署两个项目?