zoukankan      html  css  js  c++  java
  • uwsgi基础——参数

     
    不需要全部看完,一半看不懂。看下去也没有意思。

    uWSGI Documentation (1.0选项列表)

    这里包含很大一部分(是的,不是全部,请帮助提升文档,而不是抱怨。。。)uwsgi选项,没有特定顺序(即使你会发现很多重要的在上面)。每个选项都支持所有的配置方法(命令行参数,环境变量,xml,ini,yaml和LDAP)。很多选项需要和加载插件,在这种情况插件名字会在文档里提到。

    例子使用了多种风格了配置,为了让用户更好的理解uwsgi的工作。

    如果你刚使用uwsgi,你要在真正有用的配置吓到你之前看一下 Quickstart  和 Examples 。

    配置风格的简单介绍

    在迁移一种配置文件的时候,依照下面的规则:

    命令行参数:  --  为前缀

    socket会是:

    --socket <path/address>
    

    环境变量: 选项名大写,前缀UWSGI_。所有的破折号(dashes  -)都替换为下划线(underscore_).

    max-vars 选项变为

    UWSGI_MAX_VARS="<n>"
    

    xml: root 节点必须是 <uwsgi> ,所有的选项都是文本节点。参数工作标识可以没有值。

    socket and master options became

    <uwsgi>
        <socket>127.0.0.1:3031</socket>
        <master/>
    </uwsgi>
    

    ini: 配置选择为 uwsgi, 配置可工作设置成true或1。

    socket and master options became

    [uwsgi]
    socket = 127.0.0.1:3031
    master = true
    
    

    yaml: root 元素必须是 uwsgi, 配置工作可以设置为true或1.

    socket and master options became

    uwsgi:
      socket: 127.0.0.1
      master: 1
    

    ldap: 非常复杂的话题,你可以查查专用的wiki页面。see useLDAP

     

    无穷的选项…

    现在开始,深呼吸。

     

    socket or uwsgi-socket

    指定路径,你可以指定8个socket选项,命令行可以使用 '-s'简写

    --socket /tmp/uwsgi.sock
    

    will bind to the unix socket /tmp/uwsgi.sock

    -s 127.0.0.1:1717
    

    will bind to ipv4 address 127.0.0.1 on port 1717

    [uwsgi]
    socket = 127.0.0.1:1717
    socket = 127.0.0.1:2626
    

    will bind to ipv4 address 127.0.0.1 on port 1717 and ipv4 address 127.0.0.1 on port 2626

    protocol

    设置默认的通讯协议(uwsgi, http, fastcgi)

    --protocol <protocol>
    

    processes or workers

    在preforking模式下worker进程个数。这是一个安全实现并发。添加多个workers,可以管理多个并行请求。每个worker相当于一个系统进程,所以它消耗内存,小心选择正确的数目。这个值太高会很容易让系统down机。

    命令行中简写成 -p

    --processes 8
    

    will spawn 8 workers

    --workers 4
    

    will spawn 4 workers

    -p 8
    

    will spawn 8 workers

    <uwsgi>
        <workers>3</workers>
    </uwsgi>
    

    will spawn 3 workers

    chown-socket

    UNDOCUMENTED

    harakiri

    设置“harakiri ”的超时(看主页可以得到更多帮助)。每个请求在超过指定的“harakiri”超时的s数会被移除,对应的worker会被回收。

    --harakiri 60
    

    会杀死每个超过60s的请求。

    harakiri-verbose

    当一个请求是“harakiri”杀死的,会记录信息到uwsgi日志里。打开这个选项会输出额外的信息(例如列出当前的系统调用)

    --harakiri-verbose
    

    在 aharakiri 的时候打开额外信息。

    spooler-harakiri

    set the harakiri mode for spooler tasks

    --spooler-harakiri <n> option
    

    mule-harakiri

    set the harakiri mode for mule processes

    --mule-harakiri <n>
    

    xmlconfig or xml

    加载xml配置文件,命令行中可简写成 -x 。根据属性得到不同的配置。选择节点,在文件后指定它的id(使用莫冒号(colon )作为分隔符)

    --xml /etc/myapp.xml
    

    will load the /etc/myapp.xml config file

    --xml /etc/myapp.xml:django
    

    will use the uwsgi 节点来标记 as 'django' in the /etc/myapp.xml config file

    This file can be something like this:

    <all_the_apps>
    
      <uwsgi id="turbogears">
        <socket>/tmp/tg.sock</socket>
      </uwsgi>
    
      <uwsgi id="django">
        <socket>/tmp/django.sock>
      </uwsgi>
    
    </all_the_apps>
    

    这个例子里你可以随便添加root节点。

    在文件名以.xml结尾时,隐式加上。

    /usr/bin/uwsgi /etc/myapp.xml
    

    will automatically load the /etc/myapp.xml config file

    set

    set a placeholder

    --set KEY=VALUE
    

    daemonize(守护进程)

    进程后台运行使用的log文件或者udp服务器。

    --daemonize /var/log/uwsgi.log
    

    will damonize uWSGI writing log messages to /var/log/uwsgi.log

    [uwsgi]
    daemonize = 192.168.0.100:4000
    

    will daemonize uWSGI sending logs the the udp server listening on address 192.168.0.100 port 4000 See UdpLogging

    stop

    sends a SIGINT to the pid written in <pidfile>

    --stop <pidfile>
    

    reload

    sends a SIGHUP to the pid written in <pidfile>

    --reload <pidfile>
    

    listen

    socket监听队列(默认100)。

    每个socket有相应队列让请求等待队列变为就绪状态。当队列满了就会拒绝。

    极大值以来系统内核。

    max-vars

    uwsgi的客户端接收数量。这仅是一个安全的确保,你可能永远不需要接触它

    buffer-size

    uwsgi内部解析的数据包大小,默认4k。

    如果准备接收大请求,你可以增长到64k。

    --buffer-size 32768
    

    允许uwsgi接收到32k,更大的会被丢弃。

    memory-report

    内存使用报告。会输出请求日志相关的RSS和地址空间使用。

    <uwsgi>
        <memory-report/>
    </uwsgi>
    

    cgi-mode

    开启cgi模式,响应不是http的有效响应,是cgi的形式(头信息会被添加)

    abstract-socket

    chmod-socket or chmod

    unix套接字是文件系统,必须遵守unix协议。如果你的webserver没有能力访问uwsgi socket,你可以设置sockets权限。

    When used as a flag this option will set permissions to 666, otherwise the spcified scheme will be used

    当设置的权限是666,否则指定的scheme 会被使用。

    <uwsgi>
        <chmod-socket/>
    </uwsgi>
    

    will set socket permissions to 666

    <uwsgi>
        <chmod-socket>644</chmod-socket>
    </uwsgi>
    

    will set socket permissions to 644

    freebind (Linux only)

    允许绑定不存在的网络地址

    map-socket

    你可以一个uwsgi绑定多个sockets,你可以对应不同的请求映射不同的实现。

    [uwsgi]
    socket = /tmp/uwsgi0.sock
    socket = /tmp/uwsgi1.sock
    workers = 5
    map-socket = 0:1,2,3
    map-socket = 1:4,5
    

    1,2,3号worker会转发到第一个socket,4和5转发到第二个来处理。

    如果你部署多个apps在同一个uwsgi实例,你可以很容易的互相调度资源。

    enable-threads

    打开线程是内置语言,允许你在app里启动线程。

    single-interpreter

    很多语言都有多重解释器。它们可以让一个相同进程隔离很多apps。如果不想用这个特性就是用这个属性。

    auto-procname

    自动设置uwsgi进程的名字,让它更有意义。

    e.g. "uWSGI master", "uWSGI worker 1", "uWSGI worker 2"

    procname-prefix

    will prepend <value> to the process name

    --procname-prefix <value>
    

    procname-prefix-spaced

    will append a space to the prefix, before prepending it to the process name

    --procname-prefix-spaced <value>
    

    procname-append

    will append <value> to the process name

    --procname-append <value>
    

    procname

    will set the process name to <value>

    --procname <value>
    

    procname-master

    will set the master process name to <value>

    --procname-master <value>
    

    master

    enable the master process

    emperor

    Start the uWSGI Emperor

    emperor-tyrant

    enable tyrant mode for the emperor. see tyrant

    emperor-stats or emperor-stats-server

    enable the uWSGI stats server for emperor mode. see stats server

    --emperor-stats <addr>
    

    early-emperor

    start the emperor before jailing and privileges drop

    emperor-broodlord

    enable bloodlord mode for the emperor. see broodlord

    emperor-amqp-vhost

    set virtualhost name in AMQP emperor mode

    emperor-amqp-username

    set username name in AMQP emperor mode

    emperor-amqp-password

    set password name in AMQP emperor mode

    emperor-throttle

    set the number of milliseconds (default 1000) to wait before each vassal's fork()

    vassals-start-hook

    <filename> will be executed when the emperor starts the vassals

    --vassals-start-hook <filename>
    

    vassals-stop-hook

    <filename> will be executed when the emperor stop the vassals

    --vassals-stop-hook <filename>
    

    auto-snapshot

    UNKNOWN

    --auto-snapshot 1
    

    reload-mercy

    设置worker在重载中等待的最大秒数。

    --reload-mercy 8
    

    在重载的8s内不终止自己。过了就会被杀。

    exit-on-reload

    强制uwsgi栈终止,即使是reload。在极个别的情况下使用

    help or usage

    print the help on the stdout then exit

    reaper

    打开reaper mode. 每个请求服务器都会调用waitpid(-1),来去掉所有的僵尸程序。

    max-requests

    每个worker的最大请求数。超过会回收。可以使用这个选项来避免内存泄露()

    [uwsgi]

    max-requests = 1000
    

    会回收超过1000的请求。

    socket-timeout

    内部套接字超时时间. (default 4 seconds)

    --socket-timeout 10
    

    关闭内部10s不活动的链接。

    locks

    创建锁来使用. see locks

    --locks <n>
    

    sharedarea

    This enables the SharedArea. This is a low level shared memory. If you want a more usable/user-friendly system look at the CachingFramework

    --sharedarea 10
    

    will create a shared memory area of 10 pages

    cache

    Enable the shared cache. See CachingFramework

    cache-blocksize

    set the cache blocksize, default 65536 bytes. Better use a multiply of 4096.

    cache-store

    enable 持久存储 for the uWSGI cache

    cache-store-sync

    set the msync() frequency for caching persistent store.

    queue

    UNDOCUMENTED

    queue-blocksize

    UNDOCUMENTED

    queue-store

    UNDOCUMENTED

    queue-store-sync

    UNDOCUMENTED

    spooler

    Enable the Spooler on the specified directory

    [uwsgi]
    spooler = /home/foo/spooler
    

    will save spooler file in the /home/foo/spooler directory

    spooler-chdir

    allows you to define a <directory> in wich chdir() before each spooler task

    --spooler-chdir <directory>
    

    mule

    add a mule process. See Mules

    disable-logging

    禁止request的日志,只显示错误和uwsgi内部信息。

    pidfile

    write the pidfile to the specified file before privileges drop

    pidfile2

    write the pidfile to the specified file after privileges drop

    chroot

    chroot() 改变到指定目录。

    gid

    set the gid under the uWSGI server will run

    uid

    set the uid under the uWSGI server will run

    ini

    path of ini config file

    --ini <inifile>
    

    yaml or yml

    path of yaml config file

    --yaml <yamlfile>
    

    json

    path of a json config file

    the format follows the same rules of the other supported configuration system (plus integer, boolean and array support):

    {
    
    "uwsgi":  {
           "http": ":8080",
           "master": true,
           "module": "werkzeug.testapp:test_app",
           "workers": 8,
           "pythonpath":  [ "/foo", "/bar" ]
          }
    
    } 
    

    to use JSON support you need the jansson library by default the library presence will be auto-detected but you can force it editing buildconf/default.ini the Emperor has been extended to support .js files too

    --json <jsonfile>
    

    ldap

    Load configuration fron an ldap server. See useLDAP

    ldap-schema

    dump the LDAP schema (old-style format)

    ldap-schema-ldif

    dump the LDAP schema in LDIF format (new openldap)

    no-server

    初始化uwsgi服务,但是初始化完成就退出了(用于测试)

    no-defer-accept

    by default (where available) uWSGI will defer the accept() of requests until some data is sent by the client (this is a security/performance measure). If you want to disable this feature specify this option.

    limit-as

    limit the 每个进程的地址空间使用,using POSIX/UNIX setrlimit()

    --limit-as 256
    

    will avoid uWSGI processes to grow over 256MB of address space. Address space is the virtual memory a process has access to. It does not correspond to physical memory.

    避免进程内存使用到256MB,地址空间是虚拟内存。和物理内存不一致。

    Read and understand this page before enabling it:  http://en.wikipedia.org/wiki/Virtual_memory

    reload-on-as

    recycle a workers when its address space usage is over the limit specified

    --reload-on-as 128
    

    will reload a worker if it consumes more than 128 megs of address space

    reload-on-rss

    Works as reload-on-as but it control the physical unshared memory. You can enable both

    uwsgi:
      reload-on-as: 128
      reload-on-rss: 96
    

    will recycle a workers when its address space usage is hgher than 128 megs or its rss usage is higher than 96 megs

    evil-reload-on-as

    the master process will reload a worker when its address space usage is higher than <n> megabyte

    --evil-reload-on-as <n>
    

    evil-reload-on-rss

    same as evil-reload-on-as but it control the physical unshared memory

    --evil-reload-on-rss <n>
    

    log-x-forwarded-for

    reports the correct client ip when uWSGI is run under multiple proxies

    touch-reload

    gracefully reload the uWSGI stack when a file/directory changes.

    uwsgi:
      touch-reload: /tmp/reload.txt
    

    if you

    touch /tmp/reload.txt
    

    the uWSGI server will be gracefully reloaded

    limit-post

    http请求的body大小。 It reads the CONTENT_LENGTH uwsgi variable to know the size

    --limit-post 65536
    

    will disallow request body higher than 64k

    no-orphans

    自动关闭没有主进程的workers

    prio

    设置程序的调度优先级

    <uwsgi>
        <prio>20</prio>
    </uwsgi>
    

    will set the process priority to 20 (the value is system dependent)

    cpu-affinity

    Set the CPU affinity (Linux Only) See  http://lists.unbit.it/pipermail/uwsgi/2011-March/001594.html

    post-buffering

    开启body缓冲,uwsgi会将超过body限制大小的部分。

    [uwsgi]
    post-buffering = 8192
    

    will save to disk all the HTTP body bigger than 8K. This option is required for Rack applications as they require a rewindable input stream.

    post-buffering-bufsize

    set the internal buffer size during post buffering (this is the memory allocated to read chunks of the socket stream)

    post-buffering-bufsize 65536
    

    设置64k为socket接收大小。128k的body两次接收。

    高级选项,用不着

    upload-progress

    Enable the embedded upload progress. You pass the name of a directory where uWSGI has write permissions. For every upload a JSON file will be written to this directory reporting the status of the upload. You can use ajax to read these files. So configure your webserver to allow access to that directory.

    --upload-progress /var/www/progress
    

    The user upload a file to the url

    http://uwsgi.it/upload?X-Progress-ID=550e8400-e29b-41d4-a716-446655440000
    

    uWSGI find the X-Progress-ID in the query string and create a file called

    550e8400-e29b-41d4-a716-446655440000.js
    

    in /var/www/progress with this kind of content

    { "state" : "uploading", "received" : 170000, "size" : 300000 }
    

    Supposing you have mapped /progress to /var/www/progress in your webserver, you can get those json data via ajax pointing to

    /progress/550e8400-e29b-41d4-a716-446655440000.js
    

    probably your webserver has a very similar functionality, but if you need to hack it (or simply have more control) delegate this to the uWSGI server

    no-default-app

    By default, when uWSGI does not find a corresponding app for the specified SCRIPT_NAME variable, will use the default app (most of the time the app mounted under /). Enabling this option will return an error in case of unavailable app.

    manage-script-name

    If for some reason your webserver cannot manage SCRIPT_NAME you can force uWSGI to rebuild the PATH_INFO automatically.

    udp

    start a udp server. Mainly useful for snmp or as a shared logger for UdpLogging

    multicast

    internal option, usable by third party plugins.

    cluster

    Join the specified cluster. See Clustering

    cluster-nodes

    You can get the list of nodes in a cluster without joining it

    --cluster-nodes 225.1.1.1:1717
    

    will get the list of nodes of the 225.1.1.1:1717 cluster. This list is used internally by the uwsgi load balancing api.

    cluster-reload

    gracefully reload a whole cluster

    --cluster 225.1.1.1:1717 --cluster-reload
    

    will reload all the nodes in the 225.1.1.1:1717 cluster

    cluster-log

    log a message to all the nodes of a cluster

    --cluster 225.1.1.1:1717 --cluster-log "Hello World"
    

    will print "Hello World" to all the nodes logfiles

    subscribe-to or st or subscribe

    subscribe to a SubscriptionServer, you can subscribe to multiple server using this option multiple times

    [uwsgi]
    subscribe-to = 192.168.0.1:2626:unbit.it
    subscribe-to = 192.168.0.2:2626:uwsgi.it
    

    shared-socket

    Advanced option for plugin writers or special needs. Allow to create a socket during server early startup and use it after privileges drop or jailing.

    snmp

    enable the SNMP server. See UseSnmp

    snmp-community

    set the snmp community string

    check-interval

    The master process make a scan every seconds. You can increase this time if you need. DISCOURAGED.

    binary-path

    If you do not have uWSGI in the system path you can force its path with this option to permit the reloading system and the Emperor to easily find the binary to execute.

    async

    Enable the async mode. See AsyncSupport

    logto

    Log to specific file or udp server

    logfile-chown

    log-syslog

    输出日志到系统日志

    Passing a parameter makes uwsgi use the parameter as program-name in the syslog entry header:

    --log-syslog mywebapp
    

    log-master

    delegate the write of the logs to the master process (this will put all of the logging I/O to a single process). Useful for system with advanced I/O schedulers/elevators

    logdate or log-date

    report the date in every log line. You can pass an option with strftime() syntax

    log-zero

    log requests with zero response size

    log-slow

    log-4xx

    log-5xx

    log-big

    log-sendfile

    log-micros

    use microseconds resolution for response-time logging (milliseconds resolution is the default)

    master-as-root

    run the uWSGI master process as root

    need-app

    exit uwsgi if no app can be loaded

    chdir

    chdir() to specified directory before privileges drop

    chdir2

    chdir() to specified directory after privileges drop

    lazy

    load applications after each worker's fork()

    cheap

    postpone workers startup until the first request

    cheaper

    an advanced cheap mode, this will only spawn <n> workers on startup and will use various (pluggable) algorithms to implement adaptive process spawining.

    --cheaper <n>
    

    idle

    destroy workers (the server will go in cheap mode) after <secs> of inactivity

    --idle <secs>
    

    mount

    Allow mounting of multiple apps in the same process

    --mount /pinax=/var/www/pinax/deploy/pinax.wsgi
    

    grunt

    allows grunt processes

    threads

    enable threaded operational mode. You have to specify the number of threads per worker

    --threads 40 --workers 2
    

    will spawn two workers with 40 threads (total 80 threads)

    vhost

    enable virtual hosting mode. See VirtualHosting

    vhost-host

    By default the virtualhosting mode use the SERVER_NAME variable as the hostname key. If you want to use the HTTP_HOST one (corresponding to the Host: header) add this option

    check-static

    Specify a directory that uWSGI will check before passing control to a specific handler.

    uWSGI will check if the requested PATH_INFO has a file correspondence in this directory and eventually will serve it

    --check-static /var/www/example.com
    

    If the client ask for foo.png and this file exists as /var/www/example.com/foo.png uWSGI will directly serves it using the choosen method (sendfile() by default)

    static-map

    map a resource as a static file area

    [uwsgi]
    static-map = /media=/var/www/django/contrib/admin/media
    static-map = /images=/var/www/example.com/images
    

    Whenever a PATH_INFO starts with one of the configured resources, uWSGI will serve the file using the choosen method (sendfile() by default)

    static-index

    Name of static file to use for directory index.

    static-index = index.html
    

    If the client asks for /doc/ then uWSGI will check for /doc/index.html and if it exists it will be served to the client.

    file-serve-mode

    Set the static serving mode:

    x-sendfile -> will use the X-Sendfile header (apache, Cherokee, lighttpd)

    x-accel-redirect -> will use the X-Accel-Redirect header (nginx)

    default -> sendfile()

    --file-serve-mode x-sendfile
    

    check-cache

    check if an item named as PATH_INFO is available in the uWSGI cache and eventually will serves it

    close-on-exec

    set close-on-exec flag on the uWSGI socket. This will avoid external processes generated in a request to inherit the socket file descriptor.

    mode

    generic option, the apps can read this value with uwsgi.mode

    env

    set an environment variable

    [uwsgi]
    env = DJANGO_SETTINGS_MODULE=mysite.settings
    

    this will set DJANGO_SETTINGS_MODULE to mysite.settings

    vacuum

    automatically remove unix socket and pidfiles on server exit

    cgroup

    run the server in <group> cgroup (Linux only)

    --cgroup <group>
    

    cgroup-opt

    set cgroup option (Linux only)

    --cgroup-opt KEY=VAL
    

    reuse-port (BSD only)

    allows multiple instances binding on the same address

    loop

    set the LoopEngine (advanced option)

    worker-exec

    funny option to map a new executable to a uWSGI worker. You can run a php fastcgi server pool in this way

    /usr/bin/uwsgi --workers 4 --worker-exec /usr/bin/php53-cgi 
    

    attach-daemon

    attach an external process to the uWSGI master process, allowing it to control/monitor/respawn this process.

    The argument specifies a executable or script to be run. If it is not on the PATH an absolute path can be used. The daemon should must put itself into the background. When the daemon exits uwsgi will restart it.

    Daemons are started after apps are initialised, so if initialisation of an app depends on the daemon being up, a deadlock will occur. You can work around this by deferring this initialisation to when the first  request comes in.

    A typical usage is attaching a memcached instance

    [uwsgi]
    master = true
    attach-daemon = memcached
    

    plugins

    load the specified plugins

    --plugins psgi,greenlet
    

    will load the psgi plugin and the greenlet plugin

    allowed-modifiers

    Limit the client access to only a subset of modifiers

    --allowed-modifiers 0,111
    

    will allow access only the WSGI handler and the cache handler

    remap-modifier

    dump-options

    print all the available options then exit

    show-config

    print the current configuration in ini format (use this output when you ask for help in the mailing-list, THANKS)

    print

    commodity option, print a string during config file parsing

    [uwsgi]
    print = foo
    

    will print 'foo' on server startup

    version

    print the uWSGI version and exit

    wsgi-file or file [python plugin required]

    load the specified WSGI file (compatible with Graham's mod_wsgi format)

    eval [python plugin required]

    evaluate a string as a WSGI entry point

    <uwsgi>
      <eval>
    def application(e, sr):
        pass
      </eval>
    </uwsgi>
    

    module [python plugin required]

    load the specified python WSGI module (must be in the PYTHONPATH)

    callable [python plugin required]

    set the callable to use for WSGI modules (default 'application')

    test [python plugin required]

    test if a module can be imported successfully

    home or virtualenv or venv or pyhome [python plugin required]

    set the specified virtualenv for python apps

    --virtualenv /apps/env001
    

    will use the virtualenv in /apps/env001

    pythonpath or python-path or pp [python plugin required]

    add a directory (or an egg) to the PYTHONPATH You can specify this option up to 64 times.

    [uwsgi]
    pp = myapp/lib
    pp = trac.egg
    

    pymodule-alias [python plugin required]

    magic option allowing python modules remapping. See PymoduleAlias

    pyargv [python plugin required]

    set the python sys.argv

    --pyargv "one two three"
    

    will set sys.argv to ('one','two','three')

    optimize

    set the python optimizazion level (dangerous)

    paste

    use paste.deploy to load a WSGI app

    uwsgi --paste config:/foo/development.ini
    

    ini-paste

    shortcut for --ini + --paste, after file parsing it will use the same file as paste.deploy config file

    ini-paste-logged

    load a paste.deploy config file containing uwsgi section (load loggers too)

    catch-exceptions

    print traceback in your browser instead of the logfile (DO NOT USE IT IN PRODUCTION)

    ignore-script-name

    pep3333-input

    reload-os-env

    no-site [python plugin required]

    Disable the import of python site.py module

    ping [ping plugin required]

    utility option for scripts. It pings a uwsgi server. If the ping is successfull the process exit with a 0 code, otherwise with a value > 0

    /usr/bin/uwsgi --ping 192.168.0.100:1717
    

    will ping the uWSGI server on 192.168.0.100:1717

    ping-timeout [ping plugin required]

    set the ping-timeout (default to 3 seconds). It is the maximum number of seconds to wait before considering a uWSGI instance dead.

    /usr/bin/uwsgi --ping 192.168.0.100:1717 --ping-timeout 10
    

    will set the ping timeout to 10 seconds

    nagios

    do a Nagios check

    fastrouter

    Run the fastrouter (it is a uwsgi proxy/load balancer) on specific address

    [uwsgi]
    fastrouter = 127.0.0.1:3017
    

    run the fastrouter on address 127.0.0.1 port 3017

    fastrouter-use-cache

    check the uwsgi cache to get hostname:address mapping

    fastrouter-use-pattern

    use a filesystem pattern to get hostname:address mapping

    fastrouter-use-base

    fastrouter-events

    limit the max number of async events the fastrouter can return in one cycle

    fastrouter-subscription-server

    add a SubscriptionServer to the fastrouter to build the hostname:address map

    fastrouter-timeout

    set the internal fastrouter timeout

    http

    enable the embedded http server/router/gateway/loadbalancer/proxy

    http-var

    http-to

    http-modifier1

    http-use-cache

    http-use-pattern

    http-use-base

    http-use-cluster

    http-events

    http-subscription-server

    enable the SubscriptionServer for clustering and massive hosting/load-balancing

    http-timeout

    设置内部httpsocket超时

    ugreen [ugreen plugin required]

    enable uGreen as suspend/resume engine. See uGreen

    ugreen-stacksize [ugreen plugin required]

    set the stack size for uGreen

  • 相关阅读:
    table首行固定
    JavaScript获取当前日期,昨天,今天日期以及任意天数间隔日期
    Struts2二级菜单联动
    Servlet和Struts2同时使用
    最近的感想
    java.lang.NoClassDefFoundError: javax/el/ELResolver 问题解决
    Event Loop、函数式编程、IO多路复用、事件驱动、响应式、
    Git 的使用(一)
    Linux 硬链接与软链接 目录结构
    并发、并行、同步、异步相关感念
  • 原文地址:https://www.cnblogs.com/wanself/p/2791321.html
Copyright © 2011-2022 走看看