首页主机资讯Debian JS如何部署到服务器

Debian JS如何部署到服务器

时间2025-10-24 00:09:04发布访客分类主机资讯浏览1220
导读:1. 安装Node.js和npm Node.js是JavaScript应用的运行环境,npm是其包管理工具。推荐通过NodeSource仓库安装特定版本(如16.x/18.x),确保兼容性: curl -fsSL https://deb.n...

1. 安装Node.js和npm
Node.js是JavaScript应用的运行环境,npm是其包管理工具。推荐通过NodeSource仓库安装特定版本(如16.x/18.x),确保兼容性:

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - 
sudo apt-get install -y nodejs

安装完成后,通过node -vnpm -v验证版本。

2. 上传应用代码
使用scp(命令行)或FileZilla(图形化工具)将本地项目上传至服务器指定目录(如/var/www/yourapp):

scp -r /local/path/to/yourapp username@server_ip:/var/www/yourapp

或通过Git克隆代码(若项目托管在GitHub/GitLab):

git clone https://github.com/yourusername/yourapp.git /var/www/yourapp

3. 安装项目依赖
进入项目目录,运行npm install自动安装package.json中定义的依赖(如Express、React等):

cd /var/www/yourapp
npm install

若依赖较多,可添加--production标志跳过开发依赖:

npm install --production

4. 配置环境变量
若应用需要敏感信息(如数据库密码、API密钥),建议使用.env文件管理:

  • 在项目根目录创建.env文件,添加变量:
    NODE_ENV=production
    DATABASE_URL=mongodb://user:pass@localhost:27017/yourdb
    API_KEY=your_api_key_here
    
  • 确保.env不被提交至版本控制(在.gitignore中添加.env)。

5. 启动应用(含进程管理)
直接使用node app.js启动应用会因终端关闭而终止,推荐使用PM2(进程管理器)实现后台运行、自动重启和负载均衡:

sudo npm install pm2 -g  # 全局安装PM2
pm2 start app.js --name "your-app"  # 启动应用(app.js为入口文件)
pm2 save  # 保存当前进程列表
pm2 startup  # 设置开机自启

通过pm2 list查看运行状态,pm2 logs查看日志。

6. 配置Nginx反向代理(可选但推荐)
Nginx可作为反向代理,处理HTTP请求转发、SSL加密和静态文件服务,提升应用性能和安全性:

  • 安装Nginx:
    sudo apt-get install nginx
    
  • 创建代理配置:
    编辑/etc/nginx/sites-available/yourapp(若目录不存在则创建),添加以下内容(替换yourdomain.com为域名/IP,3000为Node.js应用端口):
    server {
        
        listen 80;
        
        server_name yourdomain.com www.yourdomain.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 ln -s /etc/nginx/sites-available/yourapp /etc/nginx/sites-enabled/
    sudo nginx -t  # 测试配置语法
    sudo systemctl restart nginx
    

7. 设置防火墙
若服务器启用了ufw防火墙,需开放HTTP(80)和HTTPS(443)端口:

sudo ufw allow 'Nginx Full'  # 允许HTTP和HTTPS
sudo ufw enable  # 启用防火墙(若未启用)

8. 配置SSL证书(可选但强烈推荐)
使用Let’s Encrypt免费获取SSL证书,实现HTTPS加密:

  • 安装Certbot:
    sudo apt-get install certbot python3-certbot-nginx
    
  • 获取证书并自动配置Nginx:
    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
    
  • 按提示完成验证,证书会自动续期。

9. 前端项目特殊处理(若为纯前端项目)
若部署的是React/Vue等前端项目,需先构建生产环境代码,再用Nginx服务静态文件:

  • 构建项目:
    npm run build  # 生成dist/build目录
    
  • 配置Nginx:
    修改/etc/nginx/sites-available/yourapp,将root指向构建目录:
    server {
        
        listen 80;
        
        server_name yourdomain.com;
        
        root /var/www/yourapp/dist;
          # 构建后的静态文件目录
        index index.html;
    
        location / {
        
            try_files $uri $uri/ /index.html;
      # 支持前端路由
        }
    
    }
        
    
  • 重启Nginx:
    sudo systemctl restart nginx
    

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian JS如何部署到服务器
本文地址: https://pptw.com/jishu/734010.html
Debian JS如何安装与配置 Kafka日志分割Linux如何设置

游客 回复需填写必要信息