本地pm2部署服务器,但始终获取不到最新的代码?没有报错。(腾讯云centos7.2 64位)

来源:10-2 配置 PM2 一键部署线上项目结构

qq_蜡像网复原师_0

2017-04-26

为什么

1、腾讯云centos7.2 64位,本地pm2部署服务器,没有报错,但始终获取不到最新的代码。

2、在服务器端,手动修改代码后,直接通过ip或域名访问页面,也不会自动刷新修改后的内容。

http://szimg.mukewang.com/590086750001b0f614400573.jpg

写回答

5回答

Scott

2017-04-28

你是不是没有 setup 成功啊,我看服务器的目录,是 server-test 下面直接是文件了

setup 成功后,应该是 server-test/production/current|source|shared 的目录才对

0
0

Scott

2017-04-27

ecosystem 文件里的 git 地址 是 git 协议吧,另外 ref 是 origin/master

本地基于主分支 master checkout 一个新分支出来


git checkout master -b xxx


然后 xxx 上做一些改动,push 上去,再把 ecosystem 的 ref 也改成 origin/xxx,再 push


然后重新 deploy 下看看


感觉这个很奇怪,pm2 如果拿不到最新的 master 代码,就不应该 deploy success 啊


0
4
qq_蜡像网复原师_0
回复
Scott
我已贴出代码,在最下面第二楼
2017-04-28
共4条回复

Scott

2017-04-27

pm2 logs 打印出来,没有报错对吧


sudo nginx -s stop

或者 sudo pkill -9 nginx

停掉 nginx 后,还是 pm2 启动这个 nodejs 服务,如果这个是跑在 3001 端口的话,通过


xx.xx.xx.xx:3001 ip 来访问这个端口试试看,如果能访问到,说明是 nginx 的配置没有成功,如果访问不到,说明是 nodejs 本身的问题。


还有一种可能是 iptables 没有配置端口访问的权限,导致 nginx 监听不到 nodejs 的端口服务

0
4
qq_蜡像网复原师_0
回复
Scott
修改/commit/push/pm2 deploy...后,本机successfully deployed origin/master,但是我看到HEAD is now at 2666065 more words,这个是昨天的,并不是最新的。另外,直接git clone repo到任意目录,代码 是 是 是最新版本。
2017-04-27
共4条回复

qq_蜡像网复原师_0

提问者

2017-04-28

哦,那--watch是不需要咯。repo用的就是git@ 这样的,我昨晚也试过https也不行。

{
	"apps":[
		{
			"name": "serverTest",
			"script": "app.js",
			"env": {
				"COMMON_VARIABLE": "true"
			},
			"env_production": {
				"NODE_ENV": "production"
			}
		}
	],
	"deploy":{
		"production":{
			"user": "root",
			"host": ["119.29.178.47"],
			"ref": "origin/xiao",
			"repo": "git@git.oschina.net:yunling2016/server-test.git",
			"path": "/www/server-test/production",
			"ssh_options": "StrictHostKeyChecking=no",
			"env": {
				"NODE_ENV": "production"
			}
		}
	}
}


0
2
Scott
回复
qq_蜡像网复原师_0
你把你服务器登录权限给我,发我邮箱 wolf18387@qq.com,我登录试试看
2017-04-28
共2条回复

林南墙

2017-04-26

pm2 启动时加 --watch

0
0

Node.js项目线上服务器部署与发布

阿里云部署Node.js+MongoDB+Nginx的应用项目,打通全栈

1747 学习 · 448 问题

查看课程