<document>

The `./configure; make; make install` step is important for all Unix users. It configures and compiles low level JNI code that enables Resin to provide a number of features not normally available to Java programs and also provides significant performance improvements.

The most commonly used options for `./configure` are documented below, the full set of available command line options is available by running `./configure --help`.

<deftable>
--help Help for all ./configure command line options
--enable-64bit Compiles the JNI using 64-bits, requires `<jvm-arg>-d64</jvm-arg>` entry in resin.conf
--enable-ssl Enable OpenSSL, see the OpenSSL documentation for details.
--with-apxs=/path/to/apxs Enable Apache integration and produce mod_caucho
</deftable>

The 64-bit JNI compilation must match the JDK you're using, i.e. you'll need to add a `<jvm-arg>-d64</jvm-arg>` entry in resin.conf to indicate that the jvm should start in 64-bit mode.

As of Resin 3.1, startup options should be declared in the configuration file. However, some startup options are available via the command line.

<deftable>
Argument Meaning Default
-conf xxx Selects the Resin configuration file conf/resin.conf
-server xxx Selects the <server> in the resin.conf ""
-verbose Show the Java environment before starting Resin. off
start Starts Resin as a daemon, starting the watchdog if necessary n/a
status Show the status of Resin as a daemon. n/a
stop Stops Resin as a daemon by contacting the watchdog. n/a
restart Restarts Resin as a daemon by contacting the watchdog. n/a
kill Kill Resin as a daemon by contacting the watchdog, a killed process is destroyed and not allowed to clean up or finish pending connections. n/a
shutdown Shutdown the watchdog and all of the Resin daemons. n/a
-install (Windows) install Resin as a service (but doesn't automatically start.) n/a
-install-as xxx (Windows) install Resin as a named service (but doesn't automatically start.) n/a
-remove (Windows) install Resin as a service (but doesn't automatically start.) n/a
-remove-as xxx (Windows) remove Resin as a named service (but doesn't automatically start.) n/a
-resin-home xxx Deprecated. Sets the Resin home directory. Use environment variable RESIN_HOME or <jvm-arg>-Dresin.home=xxx</jvm-arg> in resin.conf. The parent directory of resin.jar
</deftable>

Resin 3.1 has moved all JDK arguments into the resin.conf file, in the <jvm-arg> tag. Because the Resin 3.1 watchdog starts each Resin server instance, it can pass the arguments defined in the configuration file to the JVM. By moving the Java arguments to the configuration file, server configuration is easier and more maintainable.

<resin xmlns="http://caucho.com/ns/resin"> <cluster id="app-tier"> <server-default> <jvm-arg>-Xms32m</jvm-arg> <jvm-arg>-Xmx512m</jvm-arg> <jvm-arg>-Xss1m</jvm-arg> <jvm-arg>-verbosegc</jvm-arg> <jvm-arg>-Dfoo=bar</jvm-arg> <jvm-arg>-agentlib:resin</jvm-arg> <jvm-arg>-Xdebug</jvm-arg> <http port="8080"/> </server-default> <server id="a" address="192.168.2.1" port="6800"/> ... </cluster> </resin>
</document>