Note: This article has the reference to the issue with the fix available:
- #PPPM-6664 "In Plesk on CloudLinux, Node.js and Ruby applications now work when CageFS is enabled."
Fixed in:- Plesk Obsidian Release Candidate 1.0 04 June 2019
Symptoms
CloudLinux 6 or 7 is used on the server
CageFS is enabled for the subscription's user in Extensions > My Extensions > CageFS > Open
HTTP code 500 is returned by the website with the application deployed on it:
# curl -skIL https://node.example.com/
HTTP/1.1 500 external Server Error
Server: nginx
Date: Tue, 23 Apr 2019 04:30:29 GMT
Status: 500 Internal Server ErrorThe following error can be found on the page on attempt to open it:
We're sorry, but something went wrong.
The issue has been logged for investigation. Please try again later.Web application could not be started by the Phusion Passenger application server.
The following error messages can be found in the Apache Web Server log file
/var/log/httpd/error_log, or in nginx log file/var/log/nginx/error.log:[ E 2019-07-04 05:05:57.4448 42423/Tb age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /var/www/vhosts/example.com/httpdocs: The application process exited prematurely.
Error ID: 2daff851
Error details saved to: /tmp/passenger-error-jmYMVA.html[ E 2019-07-04 05:05:57.4534 42423/T5 age/Cor/Con/CheckoutSession.cpp:276 ]: [Client 1-1] Cannot checkout session because a spawning error occurred. The identifier of the error is 2daff851. Please see earlier logs for details about the error.
Following can be found in
/tmp/systemd-private-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-httpd.service-XXXXXX/tmp/passenger-error-XXXXXX.html, or/tmp/passenger-error-XXXXXX.html:"stdout_and_err" : "Warning: cannot open /tmp/passenger.spawn.XXXXh6sP7q/envdump/user_info for writingnWarning: cannot open /tmp/passenger.spawn.XXXXh6sP7q/envdump/envvars for writingnWarning: cannot open /tmp/passenger.spawn.XXXXh6sP7q/envdump/user_info for writingn
<...>
Cause
Phusion Passenger creates a socket to communicate with Node.js and Ruby applications in /tmp/ directory. This directory is overridden by the private per-user /tmp/ created by CageFS.
Resolution
Configure NodeJS to work with CageFS.