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 Error -
The 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.