如何在AWS Ubuntu服务器上使用Jenkins启动pm2网站?

3
我在AWS Ubuntu服务器上安装了Jenkins和pm2。我有一个由Jenkins构建的网站A。然后Jenkins将通过配置的shell在pm2中启动该网站。但是,只有我手动登录Ubuntu服务器并运行“pm2 start A”才能使网站运行。
问题似乎是由用户Jenkins启动的pm2不会被外部世界看到。只有通过ssh ubuntu@myubuntuserver由用户Ubuntu启动的才能有效公开。
为什么以及如何使Jenkins自动启动pm2?

有关这个编程问题的任何答案吗?我也遇到了同样的问题... - L.querter
@L.querter,我终于找到了原因,并回答了自己的问题。希望能对你有所帮助。 :) - Jeff Tian
谢谢!您在Jenkins用户上使用NGINX来提供页面吗?还是您如何将pm2在Jenkins中连接到其他用户服务? - L.querter
是的,我使用nginx来进行代理。我在端口8888上运行pm2 start webSiteA,并使用nginx将端口80代理到8888,并监听特定的域名。 - Jeff Tian
我不太明白你在后面那个问题上的观点。你所说的其他用户服务和从pm2连接到它是什么意思? - Jeff Tian
2个回答

4
实际上,Jenkins已经自动启动了PM2。你为什么无法通过pm2 status查看它呢?原因是你用另一个用户登录到服务器了。
通过sudo su jenkins可以切换到jenkins用户,然后你就可以使用pm2 status查看它们了。

2

很晚了,但帮助有需要的人:

问题:pm2已被安装为ubuntu用户或root用户,而Jenkins无法访问。

  • 登录Jenkins:sudo su jenkins(如果需要密码,请使用root用户设置密码:sudo passwd jenkins
  • 安装PM2:npm i -g pm2

现在,Jenkins应该能够运行pm2。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接