Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note

This page is outdated and no longer receives updates!

It is possible to run multiple instances of OpenMRS in the same servlet container instance. OpenMRS looks up database connection properties from the runtime properties file and so the different instances can connect to different databases. The runtime properties file lookup is based on the name of the webapp, so creating a second instance is (almost) as easy as renaming the war file and deploying it.

For servlet container deployments (like Tomcat)

  1. Rename the war file to something new (like openmrs2)

  2. Deploy that war file and go to http://localhost:8080/openmrs2

  3. Run through the database setup in the initialization wizard that comes up

Application Data Directory Folder

...

By default the modules folder is stored in a folder named "modules" in the application data directory. If you change the app dir directory for each instance you don't need to change the modules folder. However, if you use the same app dir for each instance (not advised for production, ok for testing), you should change the folder where modules are stored using the global property setting (formerly Global Property from 1.8 downwards)module_repository_folder. You can use either a relative path (relative to the app dir) or an absolute path.

...

You can easily have two or more standalone openmrs installations on server. All data is kept within that unzipped folder. When the standalone starts up, it will keep trying new ports for mysql and tomcat until one is found that is available.

See OpenMRS Standalone

For developers using Jetty

The standard "mvn jetty:run" command in the webapp folder starts "openmrs" on port 8080. You can start a second instance of openmrs on a different port and with a different context path by using two Java properties: webapp.name and jetty.port:

Code Block

mvn jetty:run -Dwebapp.name=openmrs2 -Djetty.port=8081

You might want to change the location of the application data directory using a runtime property. You can also change the folder where modules are stored using a global propertysetting (formerly Global Property from 1.8 downwards): module_repository_folder. You can use either a relative path or an absolute path.