• 1·拉取项目

    git clone https://github.com/schlagmichdoch/pairdrop
  • 2·安装依赖

    npm install
  • 3·rtc_config.json

    {
    "sdpSemantics": "unified-plan",
    "iceServers": [
      {
        "urls": "stun:<DOMAIN>:3478"
      },
      {
        "urls": "turns:<DOMAIN>:5349",
        "username": "username",
        "credential": "password"
      }
    ]
    }

    注:目的在外网传输文件

  • 4·systemd配置

    cat << EOF > /etc/systemd/system/PairDrop.service
    [Unit]
    Description=PairDrop
    After=network.target
    
    [Service]
    ExecStart=node绝对位置 /www/demo.com/server/index.js
    Restart=always
    
    Environment=PATH=/usr/bin:/usr/local/bin
    Environment=NODE_ENV=production
    Environment=RTC_CONFIG="/www/demo.com/rtc_config.json"
    WorkingDirectory=/www/demo.com/server
    
    [Install]
    WantedBy=multi-user.target
    EOF
    systemctl daemon-reload
    systemctl start PairDrop
    systemctl status PairDrop
    systemctl enable PairDrop
  • 5·nginx配置

      expires epoch;
      location / {
          proxy_connect_timeout 300;
          proxy_pass http://localhost:3000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection 'upgrade';
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_cache_bypass $http_upgrade;
      }