Skip to content

Can't install and run server with systemd, CentOS 7.5 x64 #852

Description

@vkukh

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!

Activity

  1. tshemsedinov commented on Jul 22, 2018

    @tshemsedinov
    Member

    @newGermes do you have something in impress log folder?
    @belochub please investigate this case and give your proposals.

  2. 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
  3. 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
  4. lundibundi commented on Jul 22, 2018

    @lundibundi
    Member

    Based on your logs лип 20 20:20:46 rider sh[25591]: /bin/sh: impress: command not found the systemd unit couldn't find the impress startup binary. Did you perhaps install Impress manually or did you use the deploy script?

  5. vkukh commented on Jul 22, 2018

    @vkukh
    Author

    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 $

  6. vkukh commented on Jul 22, 2018

    @vkukh
    Author

    I installed three times:

    1. npm install impress
    2. uploaded and launched deploy/centos7x64.sh (can't be launched)
    3. npm install impress (i got the same error like in first)
  7. lundibundi commented on Jul 22, 2018

    @lundibundi
    Member

    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.sh and then sudo centos7x64.sh assuming you are in the same directory where you downloaded the script.

  8. vkukh commented on Jul 22, 2018

    @vkukh
    Author

    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

  9. lundibundi commented on Jul 22, 2018

    @lundibundi
    Member

    Well, then just try to run sudo ./centos7x64.sh (or just ./centos7x64.sh if you are root) on a clean system (I'm assuming you are installing Impress globally for this use case Installation 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.

  10. vkukh commented on Jul 22, 2018

    @vkukh
    Author

    Ok. Thank you!

  11. vkukh commented on Jul 22, 2018

    @vkukh
    Author

    I have installed with an approach: "sudo ./centos7x64.sh"

    1. 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)

    1. "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 :-)

  12. lundibundi commented on Jul 22, 2018

    @lundibundi
    Member

    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.unlink callback 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.

  13. vkukh commented on Jul 22, 2018

    @vkukh
    Author

    Thank you for this product ;-) I will be waiting for update.

  14. tshemsedinov commented on Jul 28, 2018

    @tshemsedinov
    Member

    impress and impress-cli are published to npm

  15. belochub commented on Aug 2, 2018

    @belochub
    Member

    @newGermes have you tried installing the new version of impress? Does this problem still occur?

  16. vkukh commented on Aug 2, 2018

    @vkukh
    Author

    @belochub no, not yet. I might as well get this over with... tonight. I'll report you.

  17. vkukh commented on Aug 2, 2018

    @vkukh
    Author

    @belochub result is

    1. sudo impress start
      Impress Application Server 0.6.3

    2. 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

    1. 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

    2. 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:

    1. sudo systemctl start impress

    2. 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?

  18. lundibundi commented on Aug 5, 2018

    @lundibundi
    Member

    @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 .service file.

  19. vkukh commented on Aug 5, 2018

    @vkukh
    Author

    @lundibundi I have three variant how to launch, stop or get status of IAS process (all with 'sudo'):

    1. impress start
      impress status
      impress stop

    2. systemctl start ipmpress
      systemctl status impress
      systemctl stop impress

    3. nohup node server.js &
      ps aux grep | grep node
      kill PID

    Result:

    1. I can start and stop with "impress start" and "impress stop", but "impress status" gave me "stopped", when the server is running.

    2. 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

  20. lundibundi commented on Aug 5, 2018

    @lundibundi
    Member

    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 impress basically runs impress start so that's a given.

  21. lundibundi commented on Aug 5, 2018

    @lundibundi
    Member

    Also, do any of the stop commands not stop the impress from running like you reported here?

  22. vkukh commented on Aug 5, 2018

    @vkukh
    Author

    @lundibundi No, in that case, the problem was only with status.

  23. lundibundi commented on Aug 5, 2018

    @lundibundi
    Member

    Ok then, I'll open a new issue for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions