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
BrooklynObject.TagSupport
Configurable.ConfigurationSupport
Startable.RestartEffectorBody, Startable.StartEffectorBody, Startable.StopEffectorBody
DOMAIN_NAME, SERVICE_UP_URL_PATH, SSL_CONFIG
ADDRESS, CHILDREN_STARTABLE_MODE, CUSTOMIZE_LATCH, ENTITY_STARTED, EXPANDED_INSTALL_DIR, HOSTNAME, INSTALL_DIR, INSTALL_FILES, INSTALL_LATCH, INSTALL_RESOURCES_LATCH, INSTALL_TEMPLATES, INSTALL_UNIQUE_LABEL, LAUNCH_LATCH, MAXIMUM_REBIND_SENSOR_CONNECT_DELAY, POST_INSTALL_COMMAND, POST_LAUNCH_COMMAND, PRE_INSTALL_COMMAND, PRE_INSTALL_FILES, PRE_INSTALL_TEMPLATES, PRE_LAUNCH_COMMAND, PROVISIONING_LOCATION, PROVISIONING_PROPERTIES, REQUIRED_OPEN_LOGIN_PORTS, RUN_DIR, RUNTIME_FILES, RUNTIME_RESOURCES_LATCH, RUNTIME_TEMPLATES, SERVICE_PROCESS_IS_RUNNING, SERVICE_STATE_ACTUAL, SERVICE_STATE_EXPECTED, SETUP_LATCH, SHELL_ENVIRONMENT, SKIP_ENTITY_START_IF_RUNNING, SKIP_INSTALLATION, START_LATCH, START_TIMEOUT, SUBNET_ADDRESS, SUBNET_HOSTNAME, SUGGESTED_INSTALL_DIR, SUGGESTED_RUN_DIR
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
bind, reload, update
addChild, addChild, addEnricher, addEnricher, addFeed, addGroup, addPolicy, addPolicy, addTag, clearParent, containsTag, getApplication, getApplicationId, getAttribute, getChildren, getConfig, getConfig, getConfigRaw, getConfigRaw, getCreationTime, getDisplayName, getEnrichers, getEntityType, getGroups, getIconUrl, getId, getLocations, getParent, getPolicies, getTags, invoke, removeChild, removeEnricher, removeGroup, removePolicy, removeTag, setParent
getCatalogItemId, getTagSupport, tags
config, setConfig
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> STICKY_VERSION
static final ConfigKey<java.lang.String> PCRE_VERSION
static final BasicAttributeSensorAndConfigKey<java.lang.String> DOWNLOAD_URL
static final BasicAttributeSensorAndConfigKey<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 BasicAttributeSensorAndConfigKey<java.lang.String> ACCESS_LOG_LOCATION
static final BasicAttributeSensorAndConfigKey<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)