HTTP/2 server with modular JavaScript plugins


READ WRITE SERVE nextgen technology with Read Write Tools' dynamic modular architecture and JavaScript plugins is the fastest server available with just-in-time BLUEPHRASE rendering.

Use cases

READ WRITE SERVE is an ideal fit as both a general purpose static HTTP/2 Web server, and as a special purpose dynamic server. Here are a few possibilities:

  • General purpose static Web server — Everything needed for a classic Web server is in the box: permissions, caching, content negotiation, compression, charsets, logging, and monitoring. Use it to serve HTML pages, style sheets, scripts, fonts, images, video, audio, PDFs, and any other MIME-type configured static files you have.
  • Web hosting provider — With Server Name Indication (SNI), one server can handle many virtual hosts, and each can have their own SSL certificate. Plus, with the builtin clustering capability, you can offset high-traffic sites with low-traffic sites using the same server — all running on the same port 443.
  • REST API server — Use it for mobile single page apps. Develop your own SQL or NoSQL data stores using the integrated plugin architecture, then expose the API for front-end use via Ajax.
  • Service Oriented Architecture (SOA) — Design your Software as a Service (SaaS) by putting business logic into discrete endpoints on the backend server. Code the logic in JavaScript with safe access to the file system and system processes.
  • Internet of Things embedded server — Access the serial port on your Arduino, Raspberry Pi, and similar WiFi-enabled IoT devices to provide HTTPS command and control over the connected hardware. No need to learn Basic or Pascal, just write your communications logic in JavaScript.
  • Content Management System — Use the built-in resource-based access control (RBAC) module together with the PUT and DELETE methods to mimic a bare-bones CMS. Use it as an alternative to bloated blogging software, when all you have is a low-churn website.
  • Frictionless Blue Server — Learn BLUEPHRASE notation, and say goodbye to HTML and Markdown. Serve static pages written using BLUEPHRASE markup, with just-in-time compilation into HTML. When a bare-bones CMS is not enough, the expressiveness of BLUEPHRASE is the answer.
  • SEO boosters — Search Engine Optimization can easily be boosted with the server's ResourceMask capabilities. It's like a rewrite engine, only a lot easier.


RWSERVE is packed with all the features you need from a fully fledged HTTP/2 server: efficiency, scalability, standardization, configurability, encryption, permissions, URL rewrites, content negotiation, caching, cross origin requests, range requests, BLUEPHRASE files, logging, and JavaScript extensibility.

★ rwserve.readwritetools.com ★


Download READ WRITE SERVE now to put your BLUEPHRASE documents online with just-in-time compilation, caching and HTTP/2 nextgen technology.

Package installation

After downloading the software to your computer, follow these instructions (replacing 1.x.x with the actual version number) to install it.

RPM packages

On Fedora, CentOS, and RedHat use DNF to install the package with this command:

[user@host tmp]# sudo dnf install /tmp/rwserve-1.x.x-1.noarch.rpm    

DEB packages

On Ubuntu and Debian use APT to install the package with this command:

[user@host tmp]# sudo apt install /tmp/rwserve_1.x.x-1_all.deb    

TAR packages

On other operating systems, unzip the tarball into a temporary directory, create a new system user, set permissions, and copy the extracted contents to their correct destinations. Run these commands as superuser. Follow the instructions in file permissions to issue the correct chown and chmod commands.

[user@host tmp]# mkdir /tmp/rws-unpacked    
[user@host tmp]# tar -xzf /tmp/rwserve_1.x.x-1.tar.gz -C /tmp/rws-unpacked

[user@host tmp]# useradd --system rwserve
[user@host tmp]# chown -R rwserve:rwserve /tmp/rws-unpacked
[user@host tmp]# chown root:root /tmp/rws-unpacked/usr/lib/systemd/system/rwserve.service
[user@host tmp]# find /tmp/rws-unpacked -type d -exec chmod 0750 {} \;
[user@host tmp]# find /tmp/rws-unpacked -type f -exec chmod 0640 {} \;

[user@host tmp]# cp -p /tmp/rws-unpacked/etc/rwserve/rwserve.conf /etc/rwserve/rwserve.conf
[user@host tmp]# cp -p /tmp/rws-unpacked/usr/lib/systemd/system/rwserve.service /usr/lib/systemd/system/rwserve.service
[user@host tmp]# cp -rp /tmp/rws-unpacked/usr/lib/node_modules/. /usr/lib/node_modules
[user@host tmp]# cp -rp /tmp/rws-unpacked/srv/rwserve/. /srv/rwserve

Post installation

Follow the important post-installation steps outlined in the RWSERVE Post-installation note.


You must activate the software after installing it. When you are ready to do this, have your customer number (looks like CN-xxx-yyyyy) and access key (looks like AK-xxx-yyyyy) available.

The server section must contain a registration section with two entries: customer-number and access-key.

server {
registration {
customer-number CN-xxx-yyyyy
access-key AK-xxx-yyyyy

Refer to the RWSERVE Registration documentation for an example showing how to do this.


HTTP/2 server with modular JavaScript plugins

🔗 🔎