Plesk control panels are extremely popular applications for managing dedicated and shared server environments. Many global Internet Service Providers use Plesk as a management console for their customers and servers. Administrators can handle installation, configuration, and management of their server’s software & developer tools. These applications include PHP applications, WordPress and MySQL implemented through Plesk’s user interface. More importantly, it provides control over bandwidth, quota and domain-based limits on servers for each account. This makes it possible to partition a server across multiple customers.
Managing Node.JS programs with Plesk is not practical, however. Since each Node application creates its own http server, sharing a limited number of IP blocks among different domains is problematic. A single Node application might consume all server resources and deprive other applications running on the same server. Custom proxy usage might solve part of this problem. Separating domains, monitoring apps and keeping the server under control is a big challenge.
To address these problems and give administrators more control over managing Node applications, we implemented several new features into JXcore. An extension for Plesk to bridge these new features with its interface has also been developed. Administrators can now manage their Node applications through Plesk user interface. JXcore Plesk Extension goes beyond application management. It can handle installation and configuration of Node applications. It has support for NPM management, including limiting users to their server’s own NPM repository.
The following is a list of some important features supported by JXcore Plesk Extension:
Automated per Domain Hosting
- Creates a bridge between the application and domain.
- Manages a virtual port pool and smoothly forces each application to listen automatically to the assigned port
- Configures an efficient proxy with NGINX
- HTTP TCP, UDP, Web Socket support
Subscription & Domain Based Configurations
- Limits CPU, memory and other resources per subscription & domain
- Prevents applications from using custom native add-ins
- Limits access to system commands or listening to custom ports
- Installs Node modules from the panel for all hosted solutions
- Updates and manages currently installed modules
- Forces applications to use server’s NPM repository
- Tracks running applications while providing log over panel and HTTP
- Automatically recovers failing applications
- Applies changes to the running solution once application files are updated
JXcore Plesk Extension is currently limited to Linux servers only. We plan on extending it to Windows servers as well.
It is crucial to note that our extension is not only for system administrators. Application developers can also implement it to manage their Node.js applications. It simplifies the whole process of installing, configuring and managing Node applications. Hosting services for Node.JS applications when using JXcore and JXcore Plesk Extension are also possible.
We worked closely with Parallel’s Plesk team during the extension’s development. Many thanks to the Plesk team for their support. We are very excited about JXcore Plesk extension and the new possibilities it will create for the Node community and its developers.
JXcore Plesk Extension is free and can be downloaded from http://ext.plesk.com/packages/28f799af-1ff4-4bb8-9c87-a04f0f23d32e-jxcore-support.