5.0-Nano: Multi-Servers
5-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers | Perl | UniTray | Security and passwords | Known Issues | Support
|
|
Uniform Server 5-Nano Multi-Servers
One of Uniform Server’s unique features is the capability to run more than one complete server on the same PC. You can use this to great advantage and prevent server collisions.
Moving UniServer increments the tray icon displaying a new digit for each server. In reality it’s not just a port change; the servers are reconfigured. In addition to the number displayed by the tray icon, running server status displays the new server's configuration.
To run multiple server instances on the same PC, several items require changing such as server ports, service names, Apache, MySql and UniTray executable names. Manually changing these can be time consuming and prone to errors. The process has been automated with the following script: move_servers.php
Option 1
You can invoke the script from UniTray:
- Assumes this is the only server currently running. If not, close all other running servers, including their UniTrays.
- Use either the right or left menu and mouse-over "Advanced"
- Click Move Servers multi-server operation
- Repeat as needed to change to the desired configuration set; this is indicated by the UniTray icon number.
Option 2
Alternatively, the batch file Run.bat will invoke the script.
- Close all running servers including UniTrays
- Navigate to folder unicon\move_servers
- Double click Run.bat and enter the appropriate values.
Script Details
Unless you want to use specific ports and names, accept the defaults shown in brackets by pressing enter.
Note: If you manually change service or Apache executable names make sure these have eight or less characters.
The script uses existing names and either adds a digit to the end of this name or increments an exiting one. The ports are incremented and invalid ports are skipped. When run for the first time, the output looks like this:
################################################################################ Current Apache port = 80 Proposed port [81] : Current SSL port = 443 Proposed port [444] : Current MySQL port = 3306 Proposed port [3307] : Current Apache name = Apache.exe Proposed name [Apache1.exe] : Current MySQL name = mysqld-opt.exe Proposed name [mysqld-opt1.exe] : ===== SERVICES Service names ==== Current Apache name = ApacheS1 Proposed name = [ApacheS2] : Current MySQL name = MySQLS1 Proposed name = [MySQLS2] : ===== UniTray Controller ==== Current UniTray name = UniTray1.exe Proposed name [UniTray2.exe] : ===== eAccelerator ==== If running a single server do not disable eAccelerator. For multi-servers enter Y Disable_eAccelerator type Y or N [Y] : Commit type Y or N [Y] : ################################################################################
Cloning servers
If you know in advance the number of additional servers that will be run, create them at the same time. It just makes the task a little easier.
- Extract a new copy of Uniform Server
- Move the server using the above script.
- Clone this server (copy to a new folder, like UniServer2)
- Move the server using the above script.
- Repeat steps 3 to 4 for each new server.
UniTray
Unitray's icon is updated to reflect changes (the digit increments). If you wish to change the icon displayed, edit the images, but do not change their names (tray_image_1.dat-tray_image_9.dat) These are used within UniTray's configuration file and are dynamically updated when servers are moved.
General Notes
If all the servers are to be installed as a service there is no need to disable eAccelerator.
If the servers are to be run as a standard program, eAccelerator must be disabled, otherwise Apache will fail to start.
Remember to append the new port number to localhost to access the server pages. For example, if the server was moved to port 81, type the following into your browser:
- http://localhost:81/
Important note: MySQL port
When installing third party software you may be given a choice of entering a port number> Enter the one corresponding to the moved server (you can find this by running server statusfrom UniTray)
If this option is not provided (generally not), then append it to the server name e.g. localhost:3307
Related links
Running multi servers on the same PC prevents awaking a draconian dragon!
Not sure what a draconian dragon is? Follow the second link.
Design notes for DtDNS updater. | |
Tutorial explaining cURL basics. These techniques are used in Server Status. Also shows how to avoid draconian dragons. |
Summary
Having a capability of running more than one server on the same PC allows you to simulate external servers. For more information, follow the above related links.
I run my personal MediaWiki on icon 2 (servers moved one level) so I can carry it on my USB stick and know it will not collide with an IIS server on another PC.
Next page covers running Perl on Uniform Server 5-Nano.