public interface NginxController extends AbstractController, HasShortName
The default driver *builds* nginx from source (because binaries are not reliably available, esp not with sticky sessions). This requires gcc and other build tools installed. The code attempts to install them but inevitably this entity may be more finicky about the OS/image where it runs than others.
Paritcularly on OS X we require Xcode and command-line gcc installed and on the path.
See http://library.linode.com/web-servers/nginx/configuration/basic
for useful info/examples
of configuring nginx.
https configuration is supported, with the certificates providable on a per-UrlMapping basis or a global basis.
(not supported to define in both places.)
per-Url is useful if different certificates are used for different server names,
or different ports if that is supported.
see more info on Ssl in ProxySslConfig
.
Modifier and Type | Interface and Description |
---|---|
static interface |
NginxController.NginxControllerInternal |
SoftwareProcess.ChildStartableMode, SoftwareProcess.RestartSoftwareParameters, SoftwareProcess.StopSoftwareParameters
Entity.AdjunctSupport<T extends EntityAdjunct>, Entity.EnricherSupport, Entity.GroupSupport, Entity.PolicySupport, Entity.SensorSupport
BrooklynObject.RelationSupport<T extends BrooklynObject>, BrooklynObject.SubscriptionSupport, BrooklynObject.TagSupport
Configurable.ConfigurationSupport
Startable.RestartEffectorBody, Startable.StartEffectorBody, Startable.StopEffectorBody
Modifier and Type | Field and Description |
---|---|
static AttributeSensorAndConfigKey<java.lang.String,java.lang.String> |
ACCESS_LOG_LOCATION |
static ConfigKey<java.lang.String> |
ARCHIVE_DIRECTORY_NAME_FORMAT |
static MethodEffector<java.lang.Void> |
DEPLOY |
static AttributeSensorAndConfigKey<java.util.Map<java.lang.String,java.lang.String>,java.util.Map<java.lang.String,java.lang.String>> |
DOWNLOAD_ADDON_URLS |
static AttributeSensorAndConfigKey<java.lang.String,java.lang.String> |
DOWNLOAD_URL |
static AttributeSensorAndConfigKey<java.lang.String,java.lang.String> |
ERROR_LOG_LOCATION |
static MethodEffector<java.lang.String> |
GET_CURRENT_CONFIGURATION |
static ConfigKey<java.lang.Long> |
HTTP_POLL_PERIOD |
static AttributeSensor<java.lang.Boolean> |
NGINX_URL_ANSWERS_NICELY |
static ConfigKey<java.lang.String> |
PCRE_VERSION |
static AttributeSensor<java.lang.String> |
PID_FILE |
static ConfigKey<NginxConfigFileGenerator> |
SERVER_CONF_GENERATOR |
static ConfigKey<java.lang.String> |
SERVER_CONF_TEMPLATE_URL |
static ConfigKey<java.lang.String> |
STATIC_CONTENT_ARCHIVE_URL |
static ConfigKey<java.lang.Boolean> |
STICKY |
static ConfigKey<java.lang.String> |
STICKY_VERSION |
static ConfigKey<java.lang.String> |
SUGGESTED_VERSION |
static ConfigKey<java.lang.String> |
WITH_CC_OPT |
static ConfigKey<java.lang.String> |
WITH_LD_OPT |
DOMAIN_NAME, MAIN_URI_MAPPED_PUBLIC, MAIN_URI_MAPPED_SUBNET, SERVICE_UP_URL_PATH, SSL_CONFIG
ADD_OPEN_INBOUND_PORTS_EFFECTOR, ADDRESS, CHILDREN_STARTABLE_MODE, CUSTOMIZE_FILES, CUSTOMIZE_LATCH, CUSTOMIZE_TEMPLATES, DONT_REQUIRE_TTY_FOR_SUDO, ENTITY_STARTED, EXPANDED_INSTALL_DIR, HOSTNAME, INBOUND_PORTS_AUTO_INFER, INBOUND_PORTS_CONFIG_REGEX, INSTALL_DIR, INSTALL_FILES, INSTALL_LATCH, INSTALL_RESOURCES_LATCH, INSTALL_TEMPLATES, INSTALL_UNIQUE_LABEL, LAUNCH_LATCH, LIFECYCLE_EFFECTOR_TASKS, MAXIMUM_REBIND_SENSOR_CONNECT_DELAY, OPEN_IPTABLES, POST_CUSTOMIZE_COMMAND, POST_INSTALL_COMMAND, POST_LAUNCH_COMMAND, PRE_CUSTOMIZE_COMMAND, PRE_INSTALL_COMMAND, PRE_INSTALL_FILES, PRE_INSTALL_TEMPLATES, PRE_LAUNCH_COMMAND, PROVISIONING_LOCATION, PROVISIONING_PROPERTIES, REQUIRED_OPEN_LOGIN_PORTS, RETRIEVE_USAGE_METRICS, RUN_DIR, RUNTIME_FILES, RUNTIME_RESOURCES_LATCH, RUNTIME_TEMPLATES, SERVICE_PROCESS_IS_RUNNING, SERVICE_PROCESS_IS_RUNNING_POLL_PERIOD, SERVICE_STATE_ACTUAL, SERVICE_STATE_EXPECTED, SETUP_LATCH, SHELL_ENVIRONMENT, SKIP_ENTITY_START_IF_RUNNING, SKIP_INSTALLATION, START_LATCH, START_TIMEOUT, STOP_IPTABLES, STOP_LATCH, SUBNET_ADDRESS, SUBNET_HOSTNAME, TEMPLATE_SUBSTITUTIONS
HOST_AND_PORT_SENSOR, HOSTNAME, HOSTNAME_SENSOR, MAIN_URI, PORT_NUMBER_SENSOR, PROTOCOL, PROXY_HTTP_PORT, PROXY_HTTPS_PORT, RELOAD, ROOT_URL, SERVER_POOL, SERVER_POOL_TARGETS, UPDATE, URL_MAPPINGS
RESTART, SERVICE_UP, START, STOP
Modifier and Type | Method and Description |
---|---|
boolean |
appendSslConfig(java.lang.String id,
java.lang.StringBuilder out,
java.lang.String prefix,
ProxySslConfig ssl,
boolean sslBlock,
boolean certificateBlock) |
void |
deploy(java.lang.String archiveUrl) |
java.lang.String |
getConfigFile() |
java.lang.String |
getCurrentConfiguration() |
java.lang.Iterable<UrlMapping> |
getUrlMappings() |
boolean |
isSticky() |
getDomain, getHostAndPortSensor, getHostnameSensor, getPort, getPortNumberSensor, getProtocol, getServerPoolAddresses, getSslConfig, getUrl, isActive, isSsl
populateServiceNotUpDiagnostics
bind, changeServerPool, reload, update
addChild, addChild, addFeed, clearParent, enrichers, getApplication, getApplicationId, getAttribute, getChildren, getConfig, getCreationTime, getDisplayName, getEntityType, getIconUrl, getId, getLocations, getParent, groups, invoke, policies, relations, removeChild, sensors, setDisplayName, setParent
getCatalogItemId, getCatalogItemIdSearchPath, subscriptions, tags
config, getConfig
restart, start, stop
getShortName
static final MethodEffector<java.lang.String> GET_CURRENT_CONFIGURATION
static final MethodEffector<java.lang.Void> DEPLOY
static final ConfigKey<java.lang.String> SUGGESTED_VERSION
static final ConfigKey<java.lang.String> ARCHIVE_DIRECTORY_NAME_FORMAT
static final ConfigKey<java.lang.String> STICKY_VERSION
static final ConfigKey<java.lang.String> PCRE_VERSION
static final AttributeSensorAndConfigKey<java.lang.String,java.lang.String> DOWNLOAD_URL
static final AttributeSensorAndConfigKey<java.util.Map<java.lang.String,java.lang.String>,java.util.Map<java.lang.String,java.lang.String>> DOWNLOAD_ADDON_URLS
static final ConfigKey<java.lang.Boolean> STICKY
static final ConfigKey<java.lang.Long> HTTP_POLL_PERIOD
static final ConfigKey<java.lang.String> WITH_LD_OPT
static final ConfigKey<java.lang.String> WITH_CC_OPT
static final ConfigKey<NginxConfigFileGenerator> SERVER_CONF_GENERATOR
static final ConfigKey<java.lang.String> SERVER_CONF_TEMPLATE_URL
static final ConfigKey<java.lang.String> STATIC_CONTENT_ARCHIVE_URL
static final AttributeSensorAndConfigKey<java.lang.String,java.lang.String> ACCESS_LOG_LOCATION
static final AttributeSensorAndConfigKey<java.lang.String,java.lang.String> ERROR_LOG_LOCATION
static final AttributeSensor<java.lang.Boolean> NGINX_URL_ANSWERS_NICELY
static final AttributeSensor<java.lang.String> PID_FILE
boolean isSticky()
java.lang.String getCurrentConfiguration()
void deploy(java.lang.String archiveUrl)
java.lang.String getConfigFile()
java.lang.Iterable<UrlMapping> getUrlMappings()
boolean appendSslConfig(java.lang.String id, java.lang.StringBuilder out, java.lang.String prefix, ProxySslConfig ssl, boolean sslBlock, boolean certificateBlock)