(可选)服务器端关闭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

此时主要是在远程服务器中,并未将http://github.com(或码云)加入known_hosts,在服务器端通过如下命令设置:

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

转载于:https://www.cnblogs.com/xz1024/p/8025102.html

nginx+pm2+nodejs部署相关推荐

  1. Nuxt.js(Vue SSR)创建项目到服务器(Nginx+PM2)部署详细流程

    一.什么是 SSR ? SSR 就是 服务器渲染,什么是 服务器渲染?由 服务器 组装好 DOM 元素,生成 HTML 字符串给到浏览器,也就是在浏览器里面是可以看到整个页面的 DOM 源码的. SS ...

  2. Nginx + Node + Vue 部署初试(修改)

    趁着爸妈做年夜饭之前,把之前做的笔记贴出来,新的一年到了,祝大家 Nginx + Node + Vue 部署初试 知乎 个人博客 Github 日常学习笔记 Nginx 定义 异步框架的 Web服务器 ...

  3. linux下nginx+python+fastcgi部署总结(web.py版)

    2019独角兽企业重金招聘Python工程师标准>>> 在上一篇文章linux下nginx+python+fastcgi部署总结(django版)中,我们部署了nginx+djang ...

  4. nginx 集群部署_如何备份和还原您的Kubernetes集群资源和持久卷?

    众所周知,Kubernetes可以协调连接在一起,作为一个工作单元,形成高可用性的计算机集群.Kubernetes包含许多抽象概念,这些抽象概念允许将容器化的应用程序部署到集群中,而无需将它们附加到单 ...

  5. SpringBoot + Vue + nginx项目一起部署

    SpringBoot + Vue + nginx项目一起部署 SpringBoot + Vue 一起部署到 nginx 1.后端项目部署: (1)  Java项目打包上传到 服务器,开启服务 java ...

  6. Nginx详细安装部署教程

    一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...

  7. .NET Core+MySql+Nginx 容器化部署

    .NET Core容器化@Docker .NET Core容器化之多容器应用部署@Docker-Compose .NET Core+MySql+Nginx 容器化部署 GitHub-Demo:Dock ...

  8. ideaspringboot项目上传服务器_nuxt+pm2 自动化部署及打包后文件自动上传阿里云 oss

    在读这篇文档时,希望你对 nuxt 及 pm2,有简单的了解 nuxt pm2 前期准备 安装 pm2 及构建 nuxt $ npm i pm2 -g $ npx create-nuxt-app &l ...

  9. Nginx服务器证书部署-亚洲诚信

    Nginx服务器证书部署 发布时间:2018-01-17 16:15:25 依赖建议 l  SSL卸载驱动.建议:openssl版本1.1.0f+. l  nginx版本Stable version: ...

最新文章

  1. Swift游戏实战-跑酷熊猫 00 游戏预览
  2. 创建dynamics CRM client-side (四) - Namespace Notation in JS
  3. php 定时缓存,php如何定时删除缓存??
  4. 深度之眼 | 《如何高效度论文》笔记
  5. oracle一页显示15行,oracle rownum分页与显示记录小测
  6. KlayGE中的延迟渲染(三)
  7. shell echo单行和多行文字定向写入到文件中
  8. 也许,真的有2012
  9. fortigate的RADIUS域用户的组认证为SSL×××用户(上)
  10. scala面试题简要总结
  11. IIS建立两个站点服务,只有一个公网IP
  12. vb datagrid mysql_vb ADO 连接数据库,并绑定datagrid控件
  13. 图像标签制作工具之labelImg-windows的安装与使用
  14. C++学习笔记 —— 回合制小游戏案例
  15. 数字信号处理1——离散时间系统与常见信号(matlab)
  16. 学Dapr Actors 看这篇就够了
  17. 电脑版微信多开显示网络代理服务器,电脑版微信多开的方法_电脑维护
  18. TC397 MCMCAN
  19. Go语言aes加密解密处理
  20. 如何拍出优秀风景摄影作品

热门文章

  1. 讯时网关IP对接PBX
  2. 瞎说一波3种基本背包问题【希望巨巨们指出错误】
  3. c#事件Unity与.Net对比
  4. 同步、异步事件循环(宏任务、微任务「大厂真题解析」)
  5. 让一个元素水平垂直居中的方法
  6. LeetCode(977)——有序数组的平方(JavaScript)
  7. 今天react开发遇到个比较恶心的问题
  8. JavaScript学习(四十)—字面量创建对象图解
  9. synchronized 异常_面试官,别挂电话,Synchronized,我还能说上半小时
  10. 退休后,你是因为什么还要继续工作?做原来的工作还是做新工作?