• winstone 简单方便的servlet 容器


    对于war包部署(需要servlet容器)大家一般可能使用的是tomcat,jetty, undertow。。。类似的web容器,可以使用独立的,或者嵌入的(spring boot 的玩法)
    实际上也有其他好多的类似实现,比如jetty-runner,winstone 也是一个不错的选择(jenkins 就是使用此工具,当然扩展了些)

    启动命令

    • 支持的命令
     
    java -jar winstone.jar --help

    命令

    Winstone Servlet Engine, (c) 2003-2006 Rick Knowles
    Usage: java winstone.jar [--option=value] [--option=value] [etc]
    Required options: either --webroot OR --warfile OR --webappsDir OR --hostsDir
       --webroot                = set document root folder.
       --warfile                = set location of warfile to extract from.
       --webappsDir             = set directory for multiple webapps to be deployed from
    Other options:
       --javaHome               = Override the JAVA_HOME variable
       --toolsJar               = The location of tools.jar. Default is JAVA_HOME/lib/tools.jar
       --config                 = load configuration properties from here. Default is ./winstone.properties
       --prefix                 = add this prefix to all URLs (eg http://localhost:8080/prefix/resource). Default is none
       --commonLibFolder        = folder for additional jar files. Default is ./lib
       --extraLibFolder         = folder for additional jar files to add to Jetty classloader
       --logThrowingLineNo      = show the line no that logged the message (slow). Default is false
       --logThrowingThread      = show the thread that logged the message. Default is false
       --debug                  = set the level of debug msgs (1-9). Default is 5 (INFO level)
       --httpPort               = set the http listening port. -1 to disable, Default is 8080
       --httpListenAddress      = set the http listening address. Default is all interfaces
       --httpKeepAliveTimeout   = how long idle HTTP keep-alive connections are kept around (in ms; default 5000)?
       --httpsPort              = set the https listening port. -1 to disable, Default is disabled
       --httpsListenAddress     = set the https listening address. Default is all interfaces
       --httpsKeepAliveTimeout  = how long idle HTTPS keep-alive connections are kept around (in ms; default 5000)?
       --httpsKeyStore          = the location of the SSL KeyStore file. Default is ./winstone.ks
       --httpsKeyStorePassword  = the password for the SSL KeyStore file. Default is null
       --httpsKeyManagerType    = the SSL KeyManagerFactory type (eg SunX509, IbmX509). Default is SunX509
       --httpsPrivateKey        = this switch with --httpsCertificate can be used to run HTTPS with OpenSSL secret key
         / --httpsCertificate     file and the corresponding certificate file
       --http2Port              = set the http2 listening port. -1 to disable, Default is disabled
       --http2ListenAddress     = set the http2 listening address. Default is all interfaces
       --excludeCipherSuites    = set the ciphers to exclude (comma separated, use blank quote " " to exclude none) (default is
                               // Exclude weak / insecure ciphers 
                               "^.*_(MD5|SHA|SHA1)$", 
                               // Exclude ciphers that don't support forward secrecy 
                               "^TLS_RSA_.*$", 
                               // The following exclusions are present to cleanup known bad cipher 
                               // suites that may be accidentally included via include patterns. 
                               // The default enabled cipher list in Java will not include these 
                               // (but they are available in the supported list). 
                               "^SSL_.*$", 
                               "^.*_NULL_.*$", 
                               "^.*_anon_.*$" 
       --controlPort            = set the shutdown/control port. -1 to disable, Default disabled
       --useJasper              = enable jasper JSP handling (true/false). Default is false
       --sessionTimeout         = set the http session timeout value in minutes. Default to what webapp specifies, and then to 60 minutes
       --sessionEviction        = set the session eviction timeout for idle sessions in seconds. Default value is 180. -1 never evict, 0 evict on exit
       --mimeTypes=ARG          = define additional MIME type mappings. ARG would be EXT=MIMETYPE:EXT=MIMETYPE:...
                                  (e.g., xls=application/vnd.ms-excel:wmf=application/x-msmetafile)
       --maxParamCount=N        = set the max number of parameters allowed in a form submission to protect
                                  against hash DoS attack (oCERT #2011-003). Default is 10000.
       --useJmx                 = Enable Jetty Jmx
       --qtpMaxThreadsCount     = max threads number when using Jetty Queued Thread Pool
       --jettyAcceptorsCount    = Jetty Acceptors number
       --jettySelectorsCount    = Jetty Selectors number
       --usage / --help         = show this message
     Security options:
       --realmClassName               = Set the realm class to use for user authentication. Defaults to ArgumentsRealm class
       --argumentsRealm.passwd.<user> = Password for user <user>. Only valid for the ArgumentsRealm realm class
       --argumentsRealm.roles.<user>  = Roles for user <user> (comma separated). Only valid for the ArgumentsRealm realm class
       --fileRealm.configFile         = File containing users/passwds/roles. Only valid for the FileRealm realm class
     Access logging:
       --accessLoggerClassName        = Set the access logger class to use for user authentication. Defaults to disabled
       --simpleAccessLogger.format    = The log format to use. Supports combined/common/resin/custom (SimpleAccessLogger only)
       --simpleAccessLogger.file      = The location pattern for the log file(SimpleAccessLogger only)
       --javaHome               = Override the JAVA_HOME variable
       --toolsJar               = The location of tools.jar. Default is JAVA_HOME/lib/tools.jar
       --config                 = load configuration properties from here. Default is ./winstone.properties
       --prefix                 = add this prefix to all URLs (eg http://localhost:8080/prefix/resource). Default is none
       --commonLibFolder        = folder for additional jar files. Default is ./lib
       --extraLibFolder         = folder for additional jar files to add to Jetty classloader
       --logThrowingLineNo      = show the line no that logged the message (slow). Default is false
       --logThrowingThread      = show the thread that logged the message. Default is false
       --debug                  = set the level of debug msgs (1-9). Default is 5 (INFO level)
       --httpPort               = set the http listening port. -1 to disable, Default is 8080
       --httpListenAddress      = set the http listening address. Default is all interfaces
       --httpKeepAliveTimeout   = how long idle HTTP keep-alive connections are kept around (in ms; default 5000)?
       --httpsPort              = set the https listening port. -1 to disable, Default is disabled
       --httpsListenAddress     = set the https listening address. Default is all interfaces
       --httpsKeepAliveTimeout  = how long idle HTTPS keep-alive connections are kept around (in ms; default 5000)?
       --httpsKeyStore          = the location of the SSL KeyStore file. Default is ./winstone.ks
       --httpsKeyStorePassword  = the password for the SSL KeyStore file. Default is null
       --httpsKeyManagerType    = the SSL KeyManagerFactory type (eg SunX509, IbmX509). Default is SunX509
       --httpsPrivateKey        = this switch with --httpsCertificate can be used to run HTTPS with OpenSSL secret key
         / --httpsCertificate     file and the corresponding certificate file
       --http2Port              = set the http2 listening port. -1 to disable, Default is disabled
       --http2ListenAddress     = set the http2 listening address. Default is all interfaces
       --excludeCipherSuites    = set the ciphers to exclude (comma separated, use blank quote " " to exclude none) (default is
                               // Exclude weak / insecure ciphers 
                               "^.*_(MD5|SHA|SHA1)$", 
                               // Exclude ciphers that don't support forward secrecy 
                               "^TLS_RSA_.*$", 
                               // The following exclusions are present to cleanup known bad cipher 
                               // suites that may be accidentally included via include patterns. 
                               // The default enabled cipher list in Java will not include these 
                               // (but they are available in the supported list). 
                               "^SSL_.*$", 
                               "^.*_NULL_.*$", 
                               "^.*_anon_.*$" 
       --controlPort            = set the shutdown/control port. -1 to disable, Default disabled
       --useJasper              = enable jasper JSP handling (true/false). Default is false
       --sessionTimeout         = set the http session timeout value in minutes. Default to what webapp specifies, and then to 60 minutes
       --sessionEviction        = set the session eviction timeout for idle sessions in seconds. Default value is 180. -1 never evict, 0 evict on exit
       --mimeTypes=ARG          = define additional MIME type mappings. ARG would be EXT=MIMETYPE:EXT=MIMETYPE:...
                                  (e.g., xls=application/vnd.ms-excel:wmf=application/x-msmetafile)
       --maxParamCount=N        = set the max number of parameters allowed in a form submission to protect
                                  against hash DoS attack (oCERT #2011-003). Default is 10000.
       --useJmx                 = Enable Jetty Jmx
       --qtpMaxThreadsCount     = max threads number when using Jetty Queued Thread Pool
       --jettyAcceptorsCount    = Jetty Acceptors number
       --jettySelectorsCount    = Jetty Selectors number
       --usage / --help         = show this message
     Security options:
       --realmClassName               = Set the realm class to use for user authentication. Defaults to ArgumentsRealm class
       --argumentsRealm.passwd.<user> = Password for user <user>. Only valid for the ArgumentsRealm realm class
       --argumentsRealm.roles.<user>  = Roles for user <user> (comma separated). Only valid for the ArgumentsRealm realm class
       --fileRealm.configFile         = File containing users/passwds/roles. Only valid for the FileRealm realm class
     Access logging:
       --accessLoggerClassName        = Set the access logger class to use for user authentication. Defaults to disabled
       --simpleAccessLogger.format    = The log format to use. Supports combined/common/resin/custom (SimpleAccessLogger only)
       --simpleAccessLogger.file      = The location pattern for the log file(SimpleAccessLogger only)
    • war 包启动
    java -jar winstone.jar --warfile=<war package>

    说明

    目前winstone目前由jetty团队管理,使用winstone进行war包的启动也是一个很不错的选择,简单,轻量,可以方便软件的分发,如果需要多war
    的部署jetty-runner.jar 是一个更好的工具

    参考资料

    https://webtide.com/jetty-runner/
    https://github.com/jenkinsci/winstone
    https://github.com/undertow-io/undertow
    http://www.eclipse.org/jetty/documentation/current/runner.html

  • 相关阅读:
    Flask 【第三篇】使用DBUtils实现数据库连接池和蓝图
    Flask 【第二篇】Flask基础
    Flask 【第一篇】Flask简介
    Django 【第二十五篇】Django admin源码解析
    Django 【第二十四篇】Django admin简单使用
    Django 【第二十三篇】优化查询
    Django 【第二十二篇】ModelForm
    Django 【第二十一篇】中介模型以及优化查询以及CBV模式
    Django 【第二十篇】后端CORS解决跨域问题
    查询续与ajax
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/12909019.html
Copyright © 2020-2023  润新知