Repository navigation
Can't install and run server with systemd, CentOS 7.5 x64 #852
Description
Activity
@newGermes do you have something in impress
logfolder?
@belochub please investigate this case and give your proposals.- changed the title
[-]Installation of Impress. Can't run server with systemd: CentOS 7.5 x64[/-][+]Installation, can't run server with systemd, CentOS 7.5 x64[/+]on Jul 22, 2018 - changed the title
[-]Installation, can't run server with systemd, CentOS 7.5 x64[/-][+]Can't install and run server with systemd, CentOS 7.5 x64[/+]on Jul 22, 2018 Based on your logs
лип 20 20:20:46 rider sh[25591]: /bin/sh: impress: command not foundthe systemd unit couldn't find the impress startup binary. Did you perhaps install Impress manually or did you use the deploy script?2018-07-20T17:37:20.838Z [system] Server started
2018-07-20T17:37:20.843Z [system] JSTP listen on 206.189.56.48:250 by Master(26399/S1N0) Cloud Controller
2018-07-20T17:37:20.933Z [error] Can't bind to host/port 206.189.56.48:250
2018-07-20T17:37:20.933Z [system] Crashed
2018-07-20T17:40:34.945Z [system] Server started
2018-07-20T17:40:34.950Z [system] JSTP listen on 206.189.56.48:250 by Master(26533/S1N0) Cloud Controller
2018-07-20T17:40:36.451Z [info] incomingMessage: {handshake:[0,'impress'],login:['S1N1','19nm58993eJ747845fk78A2z7854W90D']} 206.189.56.48
2018-07-20T17:40:36.453Z [info] outgoingMessage: {handshake:[0],ok:'5feb4b35-4f08-4aa9-8af2-0da58d83e7d9'} S1N1 5feb4b35-4f08-4aa9-8a$
2018-07-20T17:40:36.453Z [info] handshakeRequest: 'impress' 'login' S1N1 5feb4b35-4f08-4aa9-8af2-0da58d83e7d9 206.189.56.48
2018-07-20T17:40:36.499Z [info] incomingMessage: {handshake:[0,'impress'],login:['S1N2','19nm58993eJ747845fk78A2z7854W90D']} 206.189.56.48
2018-07-20T17:40:36.499Z [info] outgoingMessage: {handshake:[0],ok:'0261e607-d69e-42a4-b80a-4941cce3ce01'} S1N2 0261e607-d69e-42a4-b8$
2018-07-20T17:40:36.499Z [info] handshakeRequest: 'impress' 'login' S1N2 0261e607-d69e-42a4-b80a-4941cce3ce01 206.189.56.48
2018-07-20T17:40:36.521Z [info] incomingMessage: {handshake:[0,'impress'],login:['S1N3','19nm58993eJ747845fk78A2z7854W90D']} 206.189.56.48
2018-07-20T17:40:36.521Z [info] outgoingMessage: {handshake:[0],ok:'aef8fbe2-0f15-4a34-b430-4290ee5c0910'} S1N3 aef8fbe2-0f15-4a34-b4$
2018-07-20T17:40:36.521Z [info] handshakeRequest: 'impress' 'login' S1N3 aef8fbe2-0f15-4a34-b430-4290ee5c0910 206.189.56.48
2018-07-20T17:42:09.680Z [system] Server started
2018-07-20T17:42:09.686Z [system] JSTP listen on 206.189.56.48:250 by Master(26769/S1N0) Cloud Controller
2018-07-20T17:42:11.266Z [info] incomingMessage: {handshake:[0,'impress'],login:['S1N2','19nm58993eJ747845fk78A2z7854W90D']} 206.189.56.48
2018-07-20T17:42:11.268Z [info] outgoingMessage: {handshake:[0],ok:'9034e1fc-7cfd-4781-92b9-4ca94ad04a9b'} S1N2 9034e1fc-7cfd-4781-92$
2018-07-20T17:42:11.268Z [info] handshakeRequest: 'impress' 'login' S1N2 9034e1fc-7cfd-4781-92b9-4ca94ad04a9b 206.189.56.48
2018-07-20T17:42:11.280Z [info] incomingMessage: {handshake:[0,'impress'],login:['S1N1','19nm58993eJ747845fk78A2z7854W90D']} 206.189.56.48
2018-07-20T17:42:11.280Z [info] outgoingMessage: {handshake:[0],ok:'bf1c2818-01ac-4ebe-ad9b-764aca5a610d'} S1N1 bf1c2818-01ac-4ebe-ad$
2018-07-20T17:42:11.280Z [info] handshakeRequest: 'impress' 'login' S1N1 bf1c2818-01ac-4ebe-ad9b-764aca5a610d 206.189.56.48
2018-07-20T17:42:11.333Z [info] incomingMessage: {handshake:[0,'impress'],login:['S1N3','19nm58993eJ747845fk78A2z7854W90D']} 206.189.56.48
2018-07-20T17:42:11.333Z [info] outgoingMessage: {handshake:[0],ok:'8348fccb-7c2b-4a8f-8317-55e6982ded94'} S1N3 8348fccb-7c2b-4a8f-83$
2018-07-20T17:42:11.333Z [info] handshakeRequest: 'impress' 'login' S1N3 8348fccb-7c2b-4a8f-8317-55e6982ded94 206.189.56.48
2018-07-20T17:42:26.702Z [system] Server started
2018-07-20T17:42:26.707Z [system] JSTP listen on 206.189.56.48:250 by Master(26893/S1N0) Cloud Controller
2018-07-20T17:42:26.805Z [error] Can't bind to host/port 206.189.56.48:250
2018-07-20T17:42:26.805Z [system] Crashed
2018-07-20T17:43:18.259Z [system] Server started
2018-07-20T17:43:18.264Z [system] JSTP listen on 206.189.56.48:250 by Master(26943/S1N0) Cloud Controller
2018-07-20T17:43:18.352Z [error] Can't bind to host/port 206.189.56.48:250
2018-07-20T17:43:18.352Z [system] Crashed
2018-07-20T17:44:44.962Z [system] Server started
2018-07-20T17:44:44.968Z [system] JSTP listen on 206.189.56.48:250 by Master(27083/S1N0) Cloud Controller
2018-07-20T17:44:45.059Z [error] Can't bind to host/port 206.189.56.48:250
2018-07-20T17:44:45.060Z [system] Crashed
2018-07-20T17:47:09.738Z [system] 42008576 27602944 18167488
2018-07-20T17:47:09.774Z [system] 96152 299462656 3 1 6371100 23100 3213300 948975400 0 0.0029296875 $
2018-07-20T17:52:09.740Z [system] 42037248 27602944 18256208
2018-07-20T17:52:09.774Z [system] 96452 311922688 3 1 6379200 23100 3218500 951951800 0 0.0029296875 $
2018-07-20T17:57:09.742Z [system] 42037248 27602944 18337120
2018-07-20T17:57:09.775Z [system] 96752 291651584 3 1 6414400 23100 3230100 954892700 0 0.02587890625$
2018-07-20T18:02:09.745Z [system] 42037248 27602944 18417704
2018-07-20T18:02:09.775Z [system] 97052 297390080 3 1 6419400 23100 3234000 957873200 0 0.0029296875 $
2018-07-20T18:07:09.746Z [system] 42037248 27602944 18498264
2018-07-20T18:07:09.775Z [system] 97352 295714816 3 1 6422600 23100 3236100 960858000 0 0.0029296875 $I installed three times:
- npm install impress
- uploaded and launched deploy/centos7x64.sh (can't be launched)
- npm install impress (i got the same error like in first)
And what is the error for the script? (deploy/centos7x64.sh)
If it was something like 'not executable' or 'not found' could you try to
sudo chmod +x centos7x64.shand thensudo centos7x64.shassuming you are in the same directory where you downloaded the script.I'm sorry. I don't remember. I can do this from scratch one more time if you give me advice in which way it would be more preferable. Thank you!
P.S. File centos7x64.sh was executable
Well, then just try to run
sudo ./centos7x64.sh(or just./centos7x64.shif you are root) on a clean system (I'm assuming you are installing Impress globally for this use caseInstallation scripts for an empty server (from the scratch)). That should do it, no need for npm install or anything, the script should do it by itself. If it fails then just paste the log here.Ok. Thank you!
I have installed with an approach: "sudo ./centos7x64.sh"
- After I launched "sudo impress start":
Impress Application Server 0.6.2
fs.js:141
throw new ERR_INVALID_CALLBACK();
^TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
at makeCallback (fs.js:141:11)
at Object.unlink (fs.js:912:14)
at finalize (/usr/lib/node_modules/impress-cli/cli.js:182:10)
at cp.exec (/usr/lib/node_modules/impress-cli/cli.js:176:11)
at ChildProcess.exithandler (child_process.js:282:7)
at ChildProcess.emit (events.js:182:13)
at maybeClose (internal/child_process.js:961:16)
at Socket.stream.socket.on (internal/child_process.js:380:11)
at Socket.emit (events.js:182:13)
at Pipe._handle.close (net.js:599:12)- "sudo systemctl start impress"
-- Logs begin at Вск 2018-07-22 21:39:29 EEST, end at Вск 2018-07-22 22:43:41 EEST. --
Июл 22 22:39:41 webgopro systemd[1]: Starting Impress Application Server...
Июл 22 22:39:42 webgopro sh[27154]: Impress Application Server 0.6.2
Июл 22 22:39:44 webgopro sh[27154]: fs.js:141
Июл 22 22:39:44 webgopro sh[27154]: throw new ERR_INVALID_CALLBACK();
Июл 22 22:39:44 webgopro sh[27154]: ^
Июл 22 22:39:44 webgopro sh[27154]: TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
Июл 22 22:39:44 webgopro sh[27154]: at makeCallback (fs.js:141:11)
Июл 22 22:39:44 webgopro sh[27154]: at Object.unlink (fs.js:912:14)
Июл 22 22:39:44 webgopro sh[27154]: at finalize (/usr/lib/node_modules/impress-cli/cli.js:182:10)
Июл 22 22:39:44 webgopro sh[27154]: at cp.exec (/usr/lib/node_modules/impress-cli/cli.js:176:11)
Июл 22 22:39:44 webgopro sh[27154]: at ChildProcess.exithandler (child_process.js:282:7)
Июл 22 22:39:44 webgopro sh[27154]: at ChildProcess.emit (events.js:182:13)
Июл 22 22:39:44 webgopro sh[27154]: at maybeClose (internal/child_process.js:961:16)
Июл 22 22:39:44 webgopro sh[27154]: at Socket.stream.socket.on (internal/child_process.js:380:11)
Июл 22 22:39:44 webgopro sh[27154]: at Socket.emit (events.js:182:13)
Июл 22 22:39:44 webgopro sh[27154]: at Pipe._handle.close (net.js:599:12)
Июл 22 22:39:44 webgopro systemd[1]: impress.service: control process exited, code=exited status=1
Июл 22 22:41:14 webgopro systemd[1]: impress.service stop-final-sigterm timed out. Killing.
Июл 22 22:41:14 webgopro systemd[1]: Failed to start Impress Application Server.
Июл 22 22:41:14 webgopro systemd[1]: Unit impress.service entered failed state.
Июл 22 22:41:14 webgopro systemd[1]: impress.service failed.P.S. When I have installed first time was the same error. Server is working now :-)
Thanks, that's a bug in Impress. We will fix it and get a new version available soon.
For anyone interested: https://github.com/metarhia/impress-cli/blob/master/cli.js#L182 in
fs.unlinkcallback parameter is no longer optional since node 10.
I'll submit a PR later if no one does this before me.
Also we should probably scan impress/impress-cli for such usages as it may not be the only one.Thank you for this product ;-) I will be waiting for update.
- added 2 commits that reference this issue
on Jul 25, 2018 - added a commit that references this issue
on Jul 28, 2018 impress and impress-cli are published to npm
@newGermes have you tried installing the new version of
impress? Does this problem still occur?@belochub no, not yet. I might as well get this over with... tonight. I'll report you.
@belochub result is
-
sudo impress start
Impress Application Server 0.6.3 -
sudo impress status
Impress Application Server 0.6.3
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 29771 7.8 9.0 1144500 92376 pts/0 Sl 14:46 0:02 impress srv
root 29791 7.8 9.8 1210000 99844 pts/0 Sl 14:46 0:02 impress S1N1
root 29792 7.1 9.8 1210012 99792 pts/0 Sl 14:46 0:01 impress S1N2
root 29797 7.0 9.8 1210140 100356 pts/0 Sl 14:46 0:01 impress S1N3
Stopped
-
ps aux | grep impress
root 29771 0.5 9.1 1144500 92572 pts/0 Sl 14:46 0:02 impress srv
root 29791 0.5 9.1 1210512 92904 pts/0 Sl 14:46 0:02 impress S1N1
root 29792 0.4 9.0 1210524 92092 pts/0 Sl 14:46 0:02 impress S1N2
root 29797 0.4 9.0 1210140 92344 pts/0 Sl 14:46 0:02 impress S1N3 -
sudo systemctl status impress
● impress.service - Impress Application Server
Loaded: loaded (/etc/systemd/system/impress.service; enabled; vendor preset: disabled)
Active: inactive (dead)
P.S. The IAS is running.
Then I tried:
-
sudo systemctl start impress
-
sudo systemctl status impress
● impress.service - Impress Application Server
Loaded: loaded (/etc/systemd/system/impress.service; enabled; vendor preset: disabled)
Active: active (running) since чт 2018-08-02 15:11:32 EEST; 6s ago
Process: 31464 ExecStop=/bin/sh -c impress stop (code=exited, status=0/SUCCESS)
Process: 31505 ExecStart=/bin/sh -c impress start (code=exited, status=0/SUCCESS)
Main PID: 31512 (impress srv)
CGroup: /system.slice/impress.service
├─31512 impress srv
├─31530 impress S1N1
├─31541 impress S1N2
└─31551 impress S1N3
сер 02 15:11:24 webgopro systemd[1]: Starting Impress Application Server...
сер 02 15:11:26 webgopro sh[31505]: Impress Application Server 0.6.3
сер 02 15:11:32 webgopro systemd[1]: Started Impress Application Server.P.S. As I understand, I can control the launch and behavior IAS through SystemD commands?
-
@newGermes In the first part how did you stop impress (
systemctl stop impress?)? Do you mean that it's still running after you have stopped the service?P.S. As I understand, I can control the launch and behavior IAS through SystemD commands?
Yes you should be able to as impress adds appropriate
.servicefile.@lundibundi I have three variant how to launch, stop or get status of IAS process (all with 'sudo'):
-
impress start
impress status
impress stop -
systemctl start ipmpress
systemctl status impress
systemctl stop impress -
nohup node server.js &
ps aux grep | grep node
kill PID
Result:
-
I can start and stop with "impress start" and "impress stop", but "impress status" gave me "stopped", when the server is running.
-
With Systemd all clear. "systemctl status impress" gave me, that server is running.
P.S. As I understood if I run "impress.service", "impress start" run too, but if I run "impress start", "impress.service" dosen't run as well
-
I can start and stop with "impress start" and "impress stop", but "impress status" gave me "stopped", when the server is running.
This may be a bug, should be investigated further
P.S. As I understood if I run "impress.service", "impress start" run too, but if I run "impress start", "impress.service" doesn't run as well
That's true, you will only get systemd service if you start it from systemctl, otherwise, systemd doesn't know about it. Also
systemctl start impressbasically runsimpress startso that's a given.Also, do any of the stop commands not stop the impress from running like you reported here?
@lundibundi No, in that case, the problem was only with status.
Ok then, I'll open a new issue for this.


Hello! I installed Impress on CentOS 7.5 x64. I was able to run the server just under the root, "impress start" gave a port error, so I ran it through the "node server &", the error got out too, but the server was working. The server is working now, but how can I track the process (stop) and "systemctl status impress" shows
● impress.service - Impress Application Server
Loaded: loaded (/etc/systemd/system/impress.service; enabled; vendor preset: disabled)
Active: inactive (dead)
лип 20 20:20:46 rider systemd[1]: Starting Impress Application Server...
лип 20 20:20:46 rider systemd[1]: impress.service: control process exited, code=exited status=127
лип 20 20:20:46 rider sh[25591]: /bin/sh: impress: command not found
лип 20 20:20:46 rider systemd[1]: Failed to start Impress Application Server.
лип 20 20:20:46 rider systemd[1]: Unit impress.service entered failed state.
лип 20 20:20:46 rider systemd[1]: impress.service failed.
Thank you for any help!