Consider your options
The usual licensing strategy for server software is to lock it to a physical host. This protects against running on multiple unauthorized hosts. However, it may not be the optimal approach to maximize your revenue or enhance customer satisfaction.
First, there’s the notion of scaling. Unless you want to charge the same price for every site, you need a way to charge more when the usage is higher. Perhaps you can sell multiple node-locked servers to larger sites, or even charge relative to the number of computer cores on the machines, the rationale being that there is the potential to get more use from machines with more horsepower.
Float your server licenses
If you want your customers to have the flexibility of installing and using your server on many machines without having to license them separately, consider a floating license manager that ensures that no more than a predetermined number of concurrent server copies can run at the same time. With floating licensing, you would issue a license key with a count, and lock only the license server, not each node where the application is used.
Another approach is to use a scaled metric such as the number of records in a database, or a count of named users. Each of these metrics can be securely specified in a license key, allowing the server software to know what level of service to enforce based on the scaling parameters. A single version of your software could then enforce a variety of appropriate sizes on a site by site basis.
Using a license manager, such as RLM, could also give you even more control of how your software behaves within a virtual machine. RLMCloud, a Reprise service for hosting customer license servers, would give ISVs control over their licenses for monitoring usage as well.
In any case, using a license manager gives you the freedom to change with your license policies.