As in my experience at customers, one of the more confusing things of a WebLogic  Server environments is the NodeManager.
So, what is the NodeManager and what does it do?
The NodeManager is  nothing more than an operating system process running in a JVM. In fact it is a sort of watchdog process. It can be started as  JAVA based, through accessing an MBean with WLST or through a script provided with the WebLogic installation.
The idea is that the NodeManager process is not associated with a specific WebLogic domain but with a machine. You can use the same NodeManager process to control server instances in any WebLogic Server domain, as long as the server instances reside on the same machine as the NodeManager process. Node Manager must run on each server that hosts WebLogic Server instances,  Administration or ManagedServer—that you want to control with Node Manager.
Don’t confuse machine inhere with the physical box of hardware or virtualized environment. Machine inhere is the entity in which the NodeManager operates. This can be  on many different machines, as long as you use the same NodeManager machine name on every server
Things you can do with the NodeManager:
– Start, Shut Down, and Restart AdminServer, ManagedServers, through the WebLogic Admin Console
– System Crash Recovery –>ensure that CrashRecoveryEnabled is set to true
– when start with script based, ensure that StartScriptEnabled and StopScriptEnabled is set to true. Otherwise you will get CLASSPATH errors when starting an application in a ManagedServer
Some important things to know:
– Configurations are stored under the $WL_HOME/common/nodemanager in the nodemanager.properties
– Domains controlled by the nodemanager are in the nodemanager.domains file
– Specific Domain configurations are stored in the Domain directory under servers/<name of server>/ startup.properties
Within Windows, NodeManager can run as a service. Under Linux/UNIX, there’s no out of the box daemon configuration available, so you will have to create that yourselve.