JVM Upgrade for SmartOS
Tim Hammerquist February 03, 2013 #jvm #unixJoyent's SmartOS is a great virtual hosting platform. I've used it to deploy Ruby on Rails apps and even a Yesod app with excellent performance and minimal fuss. If you haven't already, go check it out. I deployed a full Tomcat Java app server in less than 30 minutes, including download and configuration time.
The Tomcat 7.0 package that SmartOS has is great, but the JDK 6 is showing some wrinkles. Given my fully configured and running system, how simple is it to install an aftermarket JDK 7 and configure Tomcat to use it?
Pretty damn simple.
Fetch
First, you'll need the JDK itself. You can download the packages directly from Oracle. Grab the package labeled "Solaris x86." Don't forget to accept Oracle's license agreement!
Because of the license hassle, I just downloaded the packages to my Linux workstation and scp'd them to the server.
Extract
Extract the tarballs to the system and (optionally) create a symlink for the new folder.
# cd /opt/local/java
# tar zxf $PATH_TO/jdk_7u13-solaris-i586.tar.gz
# ln -s jdk1.7.0_13 sun7
Note: these names may vary with the version of the JDK used.
Point
Now you'll need to tell Tomcat to use the newly extracted JDK. Just
add the following lines to setenv.sh
in
/opt/local/share/tomcat/bin
, creating it if necessary:
JAVA_HOME="/opt/local/java/sun7"
JAVA_JRE=""
Go
Restart Tomcat.
# svcadm restart tomcat
To see the results, visit your server status page. If all is well, you should see the new JDK's version in the Server Information -> JVM Version section.
User-Mode Upgrade
Configuring your user to use the newly installed JDK isn't much
different. If you use the bash shell, just add the following lines to
your .bashrc
:
The settings will take effect on your next login.