如何使用pm2启动directus?

How to start directus using pm2?

文档说:

Instead of starting the app using pm2 start hello.js, you can start Directus using pm2 start npm -- start

pm2 start npm -- start

我试过了

pm2 start npm /home/user/my-app/node_modules/.bin/directus start

https://docs.directus.io/guides/installation/ubuntu/

您可以将启动脚本添加到您的 package.json 文件

"scripts": {                                                   
  "test": "echo \"Error: no test specified\" && exit 1",       
  "start": "directus start"                                    
},  

然后使用 pm2 start npm -- start

启动它

文档没有错,如果您没有任何其他网站或正在使用带有 apache 或 Nginx 的虚拟主机,它就是这么简单。

就我而言,我两者都在做。我有多个具有多个域的站点,其中一些站点通过使用虚拟主机来使用子域。

如果您遇到类似情况,这里有一些提示:

  1. 在防火墙中打开正确的端口,directus默认使用8055。 sudo ufw allow 8055
  2. 对您的网络服务器使用端口转发。 Link: https://www.ionos.com/digitalguide/websites/web-development/nodejs-for-a-website-with-apache-on-ubuntu/
  3. 将您的(子)域添加到您的 /etc/hosts 文件中。 运行 sudo nano /etc/hosts/ 和下一行 127.0.0.1 ${{domain here}}

我还建议阅读 pm2 文档以更好地理解它。

如果您需要特定配置,pm2 start npm --start 将不够。您将需要一个 pm2 配置文件。

  1. 在您的 directus 根目录中创建一个 ecosystem.config.js 文件
  2. 将此内容添加到文件中:
module.exports = {
  apps : [
    {
      name: "directus-app",
      script: "npx",
      args: "directus start",
      restart_delay: 500
    }
  ]
}
  1. 使用您的首选配置编辑文件