Question: Node.js/Ruby applications do not work if CageFS is enabled for the subscription user
Applicable to:- Plesk Onyx 17.0 for Linux
- Plesk Onyx 17.5 for Linux
- Plesk Onyx 17.8 for Linux
- Plesk Obsidian for Linux
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
Please consider updating your server:
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 Internal 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:
[/list]
"stdout_and_err" : "Warning: cannot open /tmp/passenger.spawn.XXXXh6sP7q/envdump/user_info for writing\nWarning: cannot open /tmp/passenger.spawn.XXXXh6sP7q/envdump/envvars for writing\nWarning: cannot open /tmp/passenger.spawn.XXXXh6sP7q/envdump/user_info for writing\n
<...>CausePhusion 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.
ResolutionConfigure NodeJS to work with CageFS.