summary refs log tree commit diff
path: root/upstart-jobs/apache-httpd/tomcat-connector.nix
diff options
context:
space:
mode:
authorSander van der Burg <s.vanderburg@tudelft.nl>2009-01-16 14:07:54 +0000
committerSander van der Burg <s.vanderburg@tudelft.nl>2009-01-16 14:07:54 +0000
commite50e022fc6a3eb5717413dc9395284ee29f5c35d (patch)
tree40ab0dc4c5cbf11b456fe7c7cb615d9cf881a98c /upstart-jobs/apache-httpd/tomcat-connector.nix
parent1603d28819dbc354b12d8259aa47ba2d7a01dab3 (diff)
downloadnixpkgs-e50e022fc6a3eb5717413dc9395284ee29f5c35d.tar
nixpkgs-e50e022fc6a3eb5717413dc9395284ee29f5c35d.tar.gz
nixpkgs-e50e022fc6a3eb5717413dc9395284ee29f5c35d.tar.bz2
nixpkgs-e50e022fc6a3eb5717413dc9395284ee29f5c35d.tar.lz
nixpkgs-e50e022fc6a3eb5717413dc9395284ee29f5c35d.tar.xz
nixpkgs-e50e022fc6a3eb5717413dc9395284ee29f5c35d.tar.zst
nixpkgs-e50e022fc6a3eb5717413dc9395284ee29f5c35d.zip
Added Apache Tomcat proxy to new Apache upstart service
svn path=/nixos/trunk/; revision=13786
Diffstat (limited to 'upstart-jobs/apache-httpd/tomcat-connector.nix')
-rw-r--r--upstart-jobs/apache-httpd/tomcat-connector.nix91
1 files changed, 91 insertions, 0 deletions
diff --git a/upstart-jobs/apache-httpd/tomcat-connector.nix b/upstart-jobs/apache-httpd/tomcat-connector.nix
new file mode 100644
index 00000000000..d1186da43fb
--- /dev/null
+++ b/upstart-jobs/apache-httpd/tomcat-connector.nix
@@ -0,0 +1,91 @@
+{config, pkgs, serverInfo}:
+
+let
+  workersProperties = pkgs.writeText "workers.properties" ''
+# Define list of workers that will be used
+# for mapping requests
+# The configuration directives are valid
+# for the mod_jk version 1.2.18 and later
+#
+worker.list=loadbalancer,status
+
+# Define Node1
+# modify the host as your host IP or DNS name.
+worker.node1.port=8009
+worker.node1.host=localhost
+worker.node1.type=ajp13
+worker.node1.lbfactor=1
+
+# Load-balancing behaviour
+worker.loadbalancer.type=lb
+worker.loadbalancer.balance_workers=node1
+
+# Status worker for managing load balancer
+worker.status.type=status
+  '';
+in
+{
+  extraModules = [
+    { name = "jk"; path = "${pkgs.tomcat_connectors}/modules/mod_jk.so"; }
+  ];
+
+  extraConfig = ''
+# Where to find workers.properties
+JkWorkersFile ${workersProperties}
+
+# Where to put jk logs
+JkLogFile ${config.logDir}/mod_jk.log
+
+# Set the jk log level [debug/error/info]
+JkLogLevel info
+
+# Select the log format
+JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
+
+# JkOptions indicates to send SSK KEY SIZE
+# Note: Changed from +ForwardURICompat. 
+# See http://tomcat.apache.org/security-jk.html  
+JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
+
+# JkRequestLogFormat
+JkRequestLogFormat "%w %V %T"
+
+# Mount your applications
+JkMount /__application__/* loadbalancer
+
+# You can use external file for mount points.
+# It will be checked for updates each 60 seconds.
+# The format of the file is: /url=worker
+# /examples/*=loadbalancer
+#JkMountFile uriworkermap.properties
+
+# Add shared memory.
+# This directive is present with 1.2.10 and
+# later versions of mod_jk, and is needed for
+# for load balancing to work properly
+# Note: Replaced JkShmFile logs/jk.shm due to SELinux issues. Refer to 
+# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=225452
+JkShmFile ${config.stateDir}/jk.shm
+
+# Static files in all Tomcat webapp context directories are served by apache
+JkAutoAlias /var/tomcat/webapps
+    
+# All requests go to worker by default
+JkMount /* loadbalancer
+# Serve some static files using httpd
+JkUnMount /*.html loadbalancer
+JkUnMount /*.jpg  loadbalancer
+JkUnMount /*.gif  loadbalancer
+JkUnMount /*.css  loadbalancer
+JkUnMount /*.png  loadbalancer
+JkUnMount /*.js  loadbalancer
+
+# Add jkstatus for managing runtime data
+<Location /jkstatus/>
+JkMount status
+Order deny,allow
+Deny from all
+Allow from 127.0.0.1
+</Location>
+  '';
+}