nginx+pm2+nodejs部署


(可選)服務器端關閉root用戶的ssh訪問:

為服務器安全起見,關閉root賬戶的遠程訪問。

打開配置文件:

vi /etc/ssh/sshd_config

找到如下設置,並修改yes為no:

PermitRootLogin no

保存文件后,重啟sshd服務:

service sshd restart  

本地安裝pm2

npm install pm2 -g

如果可得到版本號,則說明安裝成功:

pm2 -v 

配置SSH無密碼登錄

1.1、本地環境配置

#用戶家目錄
cd .ssh
#生成私鑰和公鑰
ssh-keygen -t rsa -b 4096 -C "bradball@qq.com"
#開啟SSH代理
eval "$(ssh-agent -s)"
#將id_rsa加入代理中
ssh-add ~/.ssh/id_rsa

 1.2、server環境搭建

前面步驟和本地環境相同。然后:

sudo vim authorized_keys

 將本地id_rsa.pub寫入 authorized_keys。

#授權
sudo chmod 600 authorized_keys
#重啟ssh
sudo service ssh restart

 

設置Github倉庫(略)

本地pm2的ecosystem配置

{
  "app": [{
    "name" :"Ice",
    "script": "service.js",
    "env" :{
      "COMMON_VARIABLE": "true"
    },
    "env_production": {
      "NODE_ENV": "production"
    }
  }],
  "deploy": {
    "production": {
      "user": "brad",
      "host": ["xxx.78.174.xxx"],
      "ref": "origin/master",
      "port": "3006",
      "repo": "git@git.coding.net:dt_xz/ice.git",
      "path": "/home/brad/ice/production",
      "ssh_options": "StrictHostKeyChecking=no",
      "pre-deploy-local": "echo 'Deploy Done'",
      "env": {
        "NODE_ENV": "production"
      }

    }
  }
}
production : {
      user : "登錄遠程服務器的用戶名,此處填寫我們創建的yishi",
      host : "遠程服務器的IP或hostname,此處可以是數組同步部署多個服務器,不過鑒於我們只有一個服務器,因此我們填寫123.57.205.23",
      ref  : "遠端名稱及分支名,此處填寫origin/master",
      repo : "git倉庫地址,此處填寫git@github.com:e10101/pm2app.git",
      path : "遠程服務器部署目錄,需要填寫user具備寫入權限的目錄,此處填寫/home/yishi/www/production",
      "post-deploy" : "部署后需要執行的命令,此處填寫npm install && pm2 startOrRestart ecosystem.json --env production"
    },

提交代碼,在本地運行命令:

pm2 deploy ecosystem.json production setup

 提示錯誤:

Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
    failed to clone
Deploy failed

此時主要是在遠程服務器中,並未將加入known_hosts,在服務器端通過如下命令設置:

ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM