Hello,
I have a React application running on port 3000. I want to turn it into a service using pm2 that will run automatically every time the system reboots. I ran the following commands:
$ pm2 start --name "portal" npm -- run dev
$ pm2 save
$ pm2 startup
$ sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u server2 --hp /home/server2
$ sudo chown -R server2:server2 /home/server2/.pm2
$ sudo systemctl daemon-reload
$ sudo systemctl enable pm2-server2
$ sudo systemctl start pm2-server2
But I got the following error:
$ journalctl -u pm2-server2 -b
Hint: You are currently not seeing messages from other users and the system.
Users in groups 'adm', 'systemd-journal' can see all messages.
Pass -q to turn off this notice.
Jun 03 08:03:49 Docker pm2[558]: Error: EACCES: permission denied, mkdir '/root/.pm2/logs'
Jun 03 08:03:49 Docker pm2[558]: at Object.mkdirSync (node:fs:1342:26)
Jun 03 08:03:49 Docker pm2[558]: at mkdirpNativeSync (/usr/lib/node_modules/pm2/node_modules/mkdirp/lib/mkdirp-native.js:29:10)
Jun 03 08:03:49 Docker pm2[558]: at mkdirp.mkdirpSync [as sync] (/usr/lib/node_modules/pm2/node_modules/mkdirp/index.js:21:7)
Jun 03 08:03:49 Docker pm2[558]: at Client.initFileStructure (/usr/lib/node_modules/pm2/lib/Client.js:133:25)
Jun 03 08:03:49 Docker pm2[558]: at new module.exports (/usr/lib/node_modules/pm2/lib/Client.js:38:8)
Jun 03 08:03:49 Docker pm2[558]: at new API (/usr/lib/node_modules/pm2/lib/API.js:107:19)
Jun 03 08:03:49 Docker pm2[558]: at Object.<anonymous> (/usr/lib/node_modules/pm2/lib/binaries/CLI.js:27:11)
Jun 03 08:03:49 Docker pm2[558]: at Module._compile (node:internal/modules/cjs/loader:1734:14)
Jun 03 08:03:49 Docker pm2[558]: at Object..js (node:internal/modules/cjs/loader:1899:10)
Jun 03 08:03:49 Docker pm2[558]: at Module.load (node:internal/modules/cjs/loader:1469:32)
Jun 03 08:03:49 Docker pm2[558]: Error: EACCES: permission denied, mkdir '/root/.pm2/pids'
Jun 03 08:03:49 Docker pm2[558]: at Object.mkdirSync (node:fs:1342:26)
Jun 03 08:03:49 Docker pm2[558]: at mkdirpNativeSync (/usr/lib/node_modules/pm2/node_modules/mkdirp/lib/mkdirp-native.js:29:10)
Jun 03 08:03:49 Docker pm2[558]: at mkdirp.mkdirpSync [as sync] (/usr/lib/node_modules/pm2/node_modules/mkdirp/index.js:21:7)
Jun 03 08:03:49 Docker pm2[558]: at Client.initFileStructure (/usr/lib/node_modules/pm2/lib/Client.js:141:25)
Jun 03 08:03:49 Docker pm2[558]: at new module.exports (/usr/lib/node_modules/pm2/lib/Client.js:38:8)
Jun 03 08:03:49 Docker pm2[558]: at new API (/usr/lib/node_modules/pm2/lib/API.js:107:19)
Jun 03 08:03:49 Docker pm2[558]: at Object.<anonymous> (/usr/lib/node_modules/pm2/lib/binaries/CLI.js:27:11)
Jun 03 08:03:49 Docker pm2[558]: at Module._compile (node:internal/modules/cjs/loader:1734:14)
Jun 03 08:03:49 Docker pm2[558]: at Object..js (node:internal/modules/cjs/loader:1899:10)
Jun 03 08:03:49 Docker pm2[558]: at Module.load (node:internal/modules/cjs/loader:1469:32)
Jun 03 08:03:49 Docker pm2[558]: Error: EACCES: permission denied, open '/root/.pm2/module_conf.json'
What is wrong?
Thank you.