Creating a new public instance
Multiple public instances are useful when you want to:
-
Publish one part of a site to a different public instance.
-
Manage multiple sites in one author instances and publish each site to a dedicated public instance.
-
Add more public instances to cope with a high load.
-
Add more public instances to ensure high-availability.
You must have a DX Core license to be able to configure multiple working public instances.
Copying a public instance
The simplest way is to create a new public instance is to copy an existing one.
Before you do this, back up the webapps folder and the database.
There is always the risk of corrupting the existing instance.
|
-
Stop both your Public and Author instances.
-
Copy a public instance folder such as
magnoliaPublic
. If you use an external database such as MySQL, copy the database folder too. -
Rename the copied folder to
magnoliaPublic2
. -
Delete unnecessary subfolders from the copy. The copy is a clone of the source instance. Some folders are essential to the new instance but others can be deleted.
-
OK to delete:
-
cache
, contains cached entries of the original instance. -
logs
, contains log entries of the original instance. Empty log files will be recreated during server startup. -
index
subfolders in each/repositories/magnolia/workspaces/*
folder. Deleting the subfolders reindexes therepositories
. The rest of therepositories
folders should remain intact. -
tmp
, a temporary folder which Tomcat or Jackrabbit uses for its processes during export/import.
-
-
Do not delete:
-
docroot
, contains the TomcatdocBase
static resources. -
META-INF
-
templates
, contains static resources. -
WEB-INF
-
-
-
If you use an external database such as MySQL, connect the new instance to its database location. Edit the Jackrabbit configuration XML file in
/webapps/magnoliaPublic2/WEB-INF/config/repo-conf
. Each database has a file of its own, edit the file that you have configured inmagnolia.properties
in themagnolia.repositories.jackrabbit.config
parameter. For example, if you use MySQL, then editjackrabbit-bundle-mysql-search.xml
.Add the connection information twice: Once for the workspace
section and once for theversioning
section in the XML file.You can also include a custom XML configuration file for your database. For more information, see Content storage and structure and Configuration.
-
If you use an external database, set the persistence manager also for each workspace. Workspace configuration XML files are in
/<contextPath>/repositories/magnolia/workspaces/<workspace>/workspace.xml
. -
Start Magnolia.
-
Update the existing MicroProfile receiver configuration:
magnolia.publishing.receivers[0].name=magnoliaPublic8080 magnolia.publishing.receivers[0].url=http://localhost:8080/magnoliaPublic magnolia.publishing.receivers[0].enabled=true magnolia.publishing.receivers[1].name=magnoliaPublicTwo8080 magnolia.publishing.receivers[1].url=http://localhost:8080/magnoliaPublic2 magnolia.publishing.receivers[1].enabled=true
Other ways to create a public instance
-
Backup module. Use the Restore function. This creates a new public instance for the restored data automatically.
-
Synchronization module. Create new public instances without shutting down existing ones.
-
Programmatically by writing a
cloneInstanceCommand
. -
Jackrabbit DataStore for blobs in special cases.