mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-20 01:16:57 +01:00
Added Apache Tomcat proxy to new Apache upstart service
svn path=/nixos/trunk/; revision=13786
This commit is contained in:
parent
1603d28819
commit
e50e022fc6
1 changed files with 91 additions and 0 deletions
91
upstart-jobs/apache-httpd/tomcat-connector.nix
Normal file
91
upstart-jobs/apache-httpd/tomcat-connector.nix
Normal file
|
@ -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>
|
||||||
|
'';
|
||||||
|
}
|
Loading…
Reference in a new issue