- Deprecated init script and sysconfig file in favor of systemd service and a
default configuration file /etc/uwsgi/uwsgi.ini - Update README to describe important changes - Removed separate packages for plugins that have no uncommon requirements - Update to 1.9.11 * Fixed Python 3 stdout/stderr buffering * Fixed mule messages (@mulefunc is now reliable) * Fixed SCRIPT_NAME handling in dynamic mode * Fixed X-Sendfile with gzip static mode * Fixed cache item maximum size with custom block size * Fixed cache path handling * Added the new high-performance PyPy plugin * You can now avoid overlapping crons using --unique-cron. The uWSGI master will track death of a single task, and until its death the same cron will not be triggered * A key/value variant of the --cron option is now available * When using the cron2 option you are allowed to set a harakiri timeout for a cron task. Just add harakiri=n to the options * Added support for GNU Hurd * A new offload engine named "memory" allows to offload memory transfers. The cache router automatically supports it. To enable it just add --offload-threads <n> * An example websocket chat using Redis has been added to the repository * You can now define a routing table to be executed as soon as you set the HTTP status code in your plugin * Generally the wsgi.file_wrapper callable expects a file-like object. PEP 333/3333 reports a special pattern when the object is not a file (call read() until the object is consumed). uWSGI now supports this pattern (even if in a hacky way) * When using --http-keepalive you can now hold the connection open even if OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=5
This commit is contained in:
parent
726b3bcb7b
commit
e860c3d253
@ -2,17 +2,25 @@
|
||||
openSUSE uWSGI Notes
|
||||
====================
|
||||
|
||||
Upgrading from 1.2.6
|
||||
--------------------
|
||||
|
||||
The init script and the sysconfig file /etc/sysconfig/uwsgi are now deprecated
|
||||
in favor of a systemd service and a default configuration file
|
||||
/etc/uwsgi/uwsgi.ini.
|
||||
|
||||
Emperor Mode
|
||||
------------
|
||||
|
||||
The included init script runs uWSGI in Emperor mode. It will monitor the
|
||||
/etc/uwsgi/vassals directory for configurations and will automatically load
|
||||
and restart uWSGI processes when configuration files are placed there or
|
||||
modified. Some example configurations are provided in the directory. To enable
|
||||
one, rename it without the .example at the end and edit for your application.
|
||||
The included uwsgi service runs uWSGI in Emperor mode by defgault. It will
|
||||
monitor the /etc/uwsgi/vassals directory for configurations and will
|
||||
automatically load and restart uWSGI processes when configuration files are
|
||||
placed there or modified. Some example configurations are provided in the
|
||||
directory. To enable one, rename it without the .example at the end and edit
|
||||
for your application.
|
||||
|
||||
For more information on Emperor mode, see
|
||||
http://projects.unbit.it/uwsgi/wiki/Emperor
|
||||
https://uwsgi-docs.readthedocs.org/en/latest/Emperor.html
|
||||
|
||||
|
||||
Plugins
|
||||
@ -32,4 +40,3 @@ encounters options for those plugins in the configuration. To enable that, use
|
||||
the following in the configuration:
|
||||
|
||||
autoload = 1
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- a/uwsgiconfig.py
|
||||
+++ b/uwsgiconfig.py
|
||||
@@ -902,7 +902,7 @@ def build_plugin(path, uc, cflags, ldfla
|
||||
except:
|
||||
pass
|
||||
|
||||
- plugin_dest = uc.get('plugin_dir') + '/' + name + '_plugin'
|
||||
+ plugin_dest = name + '_plugin'
|
||||
|
||||
shared_flag = '-shared'
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:49d2fbedbd42b3c95a684f7ddf43302f881297f3614c7edd0af4a4c44e2032a5
|
||||
size 515869
|
56
uwsgi-1.9.11-no-LD_RUN_PATH.patch
Normal file
56
uwsgi-1.9.11-no-LD_RUN_PATH.patch
Normal file
@ -0,0 +1,56 @@
|
||||
--- a/plugins/jvm/uwsgiplugin.py
|
||||
+++ b/plugins/jvm/uwsgiplugin.py
|
||||
@@ -59,11 +59,6 @@ if "-framework JavaVM" in JVM_LIBPATH:
|
||||
|
||||
GCC_LIST = ['jvm_plugin']
|
||||
|
||||
-if 'LD_RUN_PATH' in os.environ:
|
||||
- os.environ['LD_RUN_PATH'] += ':' + JVM_LIBPATH[0][2:]
|
||||
-else:
|
||||
- os.environ['LD_RUN_PATH'] = JVM_LIBPATH[0][2:]
|
||||
-
|
||||
def post_build(config):
|
||||
if os.system("javac %s/plugins/jvm/uwsgi.java" % os.getcwd()) != 0:
|
||||
os._exit(1)
|
||||
--- a/plugins/php/uwsgiplugin.py
|
||||
+++ b/plugins/php/uwsgiplugin.py
|
||||
@@ -22,7 +22,6 @@ CFLAGS = [os.popen(PHPPATH + ' --include
|
||||
LDFLAGS = os.popen(PHPPATH + ' --ldflags').read().rstrip().split()
|
||||
if ld_run_path:
|
||||
LDFLAGS.append('-L%s' % ld_run_path)
|
||||
- os.environ['LD_RUN_PATH'] = ld_run_path
|
||||
|
||||
LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp5']
|
||||
|
||||
--- a/plugins/python/uwsgiplugin.py
|
||||
+++ b/plugins/python/uwsgiplugin.py
|
||||
@@ -44,10 +44,8 @@ if not 'UWSGI_PYTHON_NOLIB' in os.enviro
|
||||
else:
|
||||
try:
|
||||
LDFLAGS.append("-L%s" % sysconfig.get_config_var('LIBDIR'))
|
||||
- os.environ['LD_RUN_PATH'] = "%s" % (sysconfig.get_config_var('LIBDIR'))
|
||||
except:
|
||||
LDFLAGS.append("-L%s/lib" % sysconfig.PREFIX)
|
||||
- os.environ['LD_RUN_PATH'] = "%s/lib" % sysconfig.PREFIX
|
||||
|
||||
LIBS.append('-lpython%s' % get_python_version())
|
||||
else:
|
||||
--- a/plugins/rack/uwsgiplugin.py
|
||||
+++ b/plugins/rack/uwsgiplugin.py
|
||||
@@ -44,7 +44,6 @@ LIBS = os.popen(RUBYPATH + " -e \"requir
|
||||
|
||||
if has_shared == 'yes':
|
||||
LDFLAGS.append('-L' + libpath )
|
||||
- os.environ['LD_RUN_PATH'] = libpath
|
||||
LIBS.append(os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip())
|
||||
else:
|
||||
GCC_LIST.append("%s/%s" % (libpath, os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LIBRUBY_A']\"" % rbconfig).read().rstrip()))
|
||||
--- a/plugins/ruby19/uwsgiplugin.py
|
||||
+++ b/plugins/ruby19/uwsgiplugin.py
|
||||
@@ -40,6 +40,5 @@ LDFLAGS = os.popen(RUBYPATH + " -e \"req
|
||||
|
||||
libpath = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['libdir']\"" % rbconfig).read().rstrip()
|
||||
LDFLAGS.append('-L' + libpath )
|
||||
-os.environ['LD_RUN_PATH'] = libpath
|
||||
LIBS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip().split()
|
||||
|
14
uwsgi-1.9.11-plugin_build_path.patch
Normal file
14
uwsgi-1.9.11-plugin_build_path.patch
Normal file
@ -0,0 +1,14 @@
|
||||
--- a/uwsgiconfig.py
|
||||
+++ b/uwsgiconfig.py
|
||||
@@ -1128,10 +1128,7 @@ def build_plugin(path, uc, cflags, ldfla
|
||||
except:
|
||||
pass
|
||||
|
||||
- if uc:
|
||||
- plugin_dest = uc.get('plugin_dir') + '/' + name + '_plugin'
|
||||
- else:
|
||||
- plugin_dest = name + '_plugin'
|
||||
+ plugin_dest = name + '_plugin'
|
||||
|
||||
shared_flag = '-shared'
|
||||
|
3
uwsgi-1.9.11.tar.gz
Normal file
3
uwsgi-1.9.11.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e566163a7ffd18f341a0de8462d22410ee58b1f5f54c468e3019f47b7e5c4aa4
|
||||
size 634255
|
311
uwsgi.changes
311
uwsgi.changes
@ -1,3 +1,314 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed May 29 17:26:24 UTC 2013 - jfunk@funktronics.ca
|
||||
|
||||
- Deprecated init script and sysconfig file in favor of systemd service and a
|
||||
default configuration file /etc/uwsgi/uwsgi.ini
|
||||
- Update README to describe important changes
|
||||
- Removed separate packages for plugins that have no uncommon requirements
|
||||
- Update to 1.9.11
|
||||
* Fixed Python 3 stdout/stderr buffering
|
||||
* Fixed mule messages (@mulefunc is now reliable)
|
||||
* Fixed SCRIPT_NAME handling in dynamic mode
|
||||
* Fixed X-Sendfile with gzip static mode
|
||||
* Fixed cache item maximum size with custom block size
|
||||
* Fixed cache path handling
|
||||
* Added the new high-performance PyPy plugin
|
||||
* You can now avoid overlapping crons using --unique-cron. The uWSGI master
|
||||
will track death of a single task, and until its death the same cron will
|
||||
not be triggered
|
||||
* A key/value variant of the --cron option is now available
|
||||
* When using the cron2 option you are allowed to set a harakiri timeout for a
|
||||
cron task. Just add harakiri=n to the options
|
||||
* Added support for GNU Hurd
|
||||
* A new offload engine named "memory" allows to offload memory transfers. The
|
||||
cache router automatically supports it. To enable it just add
|
||||
--offload-threads <n>
|
||||
* An example websocket chat using Redis has been added to the repository
|
||||
* You can now define a routing table to be executed as soon as you set the
|
||||
HTTP status code in your plugin
|
||||
* Generally the wsgi.file_wrapper callable expects a file-like object. PEP
|
||||
333/3333 reports a special pattern when the object is not a file (call
|
||||
read() until the object is consumed). uWSGI now supports this pattern (even
|
||||
if in a hacky way)
|
||||
* When using --http-keepalive you can now hold the connection open even if
|
||||
the request has a body
|
||||
* You can now set a harakiri timer for each request using internal routing
|
||||
* The RPC plugin has been extended to allows interoperation with other
|
||||
standards. Currently a simple HTTP wrapper and an XML-RPC one are exposed
|
||||
- 1.9.10
|
||||
* fixed alarm threads during reloads
|
||||
* fixed uninitialized memory in --touch-* options
|
||||
* fixed a regression in --attach-daemon
|
||||
* Added gccgo plugin. As Go 1.1 will be no no more compatible with uWSGI,
|
||||
gccgo will became the official way for running go apps
|
||||
* You can now run routing rules after a request. Obviously not all of the
|
||||
exposed actions make sense after the request but you should be able to
|
||||
write even more complex setup
|
||||
- 1.9.9
|
||||
* Special warning: The router_basicauth plugin has changed its default
|
||||
behaviour to return "break" if authorization fails. The "basicauth-next"
|
||||
action, uses the old behaviour (returning "next"). This new approach should
|
||||
reduce security problems caused by wrong configurations
|
||||
* do not increment "tx" statistics counter for "unaccountable" plugins
|
||||
* fixed --backtrace-depth
|
||||
* fixed cache-sync parsing
|
||||
* fixed mule farms initialization
|
||||
* fixed multithreading bug when regexp conditional route is used
|
||||
* fixed default-app usage in the psgi plugin
|
||||
* fixed python dynamic mode + threads
|
||||
* fixed error reporting in corerouter when retry is in place
|
||||
* correctly report harakiri condition for gateways
|
||||
* Added the WebDav plugin
|
||||
* Added support for Go 1.1. Albeit you can successfully embed go 1.1 apps in
|
||||
uWSGI, go 1.1 will be completely fork() unsafe. That means you are not able
|
||||
to use multiprocessing, the master, mules and so on
|
||||
* Stackless, Greenlet and Fiber support have been updated to support new
|
||||
async features
|
||||
* You can now authenticate over radius servers using the router_radius plugin
|
||||
* Added another authentication backend, using SPNEGO (kerberos)
|
||||
* Added the ldap authenticator
|
||||
* Removed the GOON action, as it was messy and basically useless with the new
|
||||
authentication approach
|
||||
* The "setscriptname" action has been added to override the internally
|
||||
computed SCRIPT_NAME (not only the var)
|
||||
* The "donotlog" action forces uWSGI to not log the current request
|
||||
* The "regexp" routing conditions has been improved to allows grouping. Now
|
||||
you can easily manipulate strings and adding them as new request VARS
|
||||
* uwsgi.atexit hook is now honoured by the gevent plugin (Author: André Cruz)
|
||||
* Transformations can be applied on the fly (no buffering involved)
|
||||
* The xattr plugin allows you to reference files extended attributes in the
|
||||
internal routing subsystem
|
||||
* Added airbrake plugin. Currently at early stage of development, it allows
|
||||
sending uWSGI exceptions and alarms to airbrake servers
|
||||
* Added legion daemons, allowing you to run external processes only when an
|
||||
instance is a lord
|
||||
* A new "touch" option (like --touch-reload) is available, triggering the
|
||||
execution of a command
|
||||
* You can now use the caching subsystem to store 64bit signed numbers and
|
||||
apply atomic operations on them
|
||||
- 1.9.8
|
||||
* fixed a crash when reloading the master
|
||||
* fixed a crash in async mode + uGreen
|
||||
* the 'mime' routing var requires a request var (not a raw string)
|
||||
- 1.9.7
|
||||
* fixed teajs engine build
|
||||
* fixed offloading status code (set to 202 when a request is offloaded)
|
||||
* execute cron tasks within 60 second resolution, instead of 61 seconds
|
||||
* fixed websocket proxy
|
||||
* check for python3 unicode encoding (instead of crashing...)
|
||||
* fixed ipcsem removal on reload
|
||||
* fixed kqueue timer on OpenBSD, NetBSD and DragonFlyBSD
|
||||
* fixed/reimplemented perl uwsgi::register_rpc
|
||||
* fixed fd leak on sendfile() error
|
||||
* fixed Content-Length when gzip file variant is used
|
||||
* allows non-request plugins to register rpc functions
|
||||
* more robust error checking for cgroups
|
||||
* honour SCRIPT_NAME the in the PSGI plugin when multiple perl apps are
|
||||
mounted
|
||||
* Added legion cron to force only one instance of an application in legion
|
||||
mode to execute cron tasks
|
||||
* The curl_cron plugin has been added allowing the cron subsystem to call
|
||||
urls (via libcurl) instead of unix commands
|
||||
* The cachestore routing function can now directly store items in gzip format
|
||||
* Added --skip-atexit to avoid calling atexit() hooks to workaround a bug in the
|
||||
mongodb client library
|
||||
* The http and uwsgi routing instructions are now more smart. You can cache
|
||||
their output and get the right status code in the logs
|
||||
* Added a generic api for manipulating the response has been added
|
||||
(cachestore uses it)
|
||||
* You can now trigger alarms when an fd is ready for read with --alarm-fd
|
||||
* The spooler server plugin and the cheaper busyness algorithm are now
|
||||
compiled in by default
|
||||
- 1.9.6
|
||||
* workaround for building the python plugin with gcc 4.8
|
||||
* Sqlite and LDAP configuration moved to plugins
|
||||
* New instructions added to allow for dynamic apps using internal routing
|
||||
* You can now configure how the carbon plugin send the response average when
|
||||
no requests have been managed
|
||||
* Added numeric checks for the internal routing
|
||||
* Added math and time support in the internal routing
|
||||
* Added non-standard seek() and tell() to wsgi.input (post-buffering
|
||||
required)
|
||||
* You can invoke the ipython shell instead of the default one when using
|
||||
--pyshell
|
||||
* Added the 'rpcraw' routing instruction (dangerous)
|
||||
* Added preliminary support for the HTTP Range header
|
||||
* Added the 'lord' routing condition for Legion
|
||||
* Added GridFS authentication
|
||||
* Added the 'uwsgi' routing var for accessing internal uWSGI parameters
|
||||
* Added the 'alarm' routing action for triggering alarms from the routing
|
||||
subsystem
|
||||
* Added --rbshell for accessing a Ruby shell
|
||||
* Added --lua-shell for accessing a Lua shell
|
||||
* Removed the old (and useless) probe subsystem
|
||||
* Two new hooks have been added to the Legion subsystem: --legion-node-joined
|
||||
and --legion-node-left
|
||||
* --socket-sndbuf and --socket-rcvbuf have been added to allow tuning of the
|
||||
send and receive buffers of the uWSGI sockets (use with caution)
|
||||
* V8 plugin improvements
|
||||
- 1.9.5
|
||||
* fixed a memory leak with cachestore routing instruction (Riccardo
|
||||
Magliocchetti)
|
||||
* fixed a memory leak in carbon plugin (Riccardo Magliocchetti)
|
||||
* fixed a memory leak in the cgi plugin (Riccardo Magliocchetti)
|
||||
* fixed old-style python dynamic apps
|
||||
* force the emperor to honour --max-fd for vassals
|
||||
* improved PSGI seek with post-buffering
|
||||
* fixed kvlist escaping
|
||||
* Added the GridFS plugin
|
||||
* Improved V8 plugin
|
||||
* Added the 'cgi' routing instruction to call CGI scripts directly
|
||||
- 1.9.4
|
||||
* fixed cache statistics exported by the stats subsystem (Łukasz Mierzwa)
|
||||
* fixed CoroEV bug in after_request (Tom Molesworth and John Berthels)
|
||||
* update cache items after a restore from persistent storage (Łukasz Mierzwa)
|
||||
* fixed signal handling in non-worker processes
|
||||
* fixed thundering herd in multiple mules setup
|
||||
* ported the cplusplus skeletal plugin to the new api
|
||||
* fixed uWSGI reloading when build as a shared library
|
||||
* From now on, SmartOS is included in the officially supported operating
|
||||
systems
|
||||
* Support for JavaScript routing rules and configurations using V8
|
||||
* Added the rpcnext routing action
|
||||
* Legion improvements
|
||||
- 1.9.3
|
||||
* fixed imports in the JVM build system when virtualenvs are used (Ryan
|
||||
Kaskel)
|
||||
* fixed mod_proxy_uwsgi with apache 2.4
|
||||
* fixed php headers generation when Status is created from the php app itself
|
||||
* Pluggable configuration system (with Lua support)
|
||||
* Immediate setuid and setgid with new options --immediate-uid and
|
||||
--immediate-gid
|
||||
* The option --emperor-tyrant-nofollow has been added forcing the emperor to
|
||||
now follow symlinks when searching for uid/gid in tyrant mode
|
||||
* Added the "rpcret" routing action to usa Lua to write advanced rules
|
||||
- 1.9.2
|
||||
* Fixed python3 response headers managament (wrong refcnt)
|
||||
* Fixed readline() on request body when postbuffering is in place
|
||||
* Fixed ruby fiber plugin
|
||||
* You can now store responses automatically in the uWSGI cache using
|
||||
route-run and the cachestore routing action
|
||||
* routing access to cookie and query string
|
||||
* Added empty internal routing condition
|
||||
* Added the Geoip plugin
|
||||
* Added the SSI plugin (beta)
|
||||
- 1.9.1
|
||||
* Fixed --req-logger after a graceful reload
|
||||
* Fixed a crash with the carbon plugin
|
||||
* Fixed signal handling when multiple workers + copy on write is in place
|
||||
* Fixed exception handling in the Rack plugin
|
||||
* The XSLT plugin has been added. It allows to apply XML transformation via
|
||||
request plugin or uWSGI internal routing
|
||||
* Legion scrolls api
|
||||
* On demand vassals in Emperor mode
|
||||
* The --exec-post-app hook has been added allowing you to run commands after
|
||||
the load of an application
|
||||
* The cache router plugin has been improved
|
||||
* Added a crypto logger allowing for encryption in logging to remote hosts
|
||||
via UDP
|
||||
* The "rpc" routing instruction has been added, allowing you to call rpc
|
||||
functions directly from the routing subsystem and forward they output to
|
||||
the client
|
||||
* Preliminary support for name resolving in the carbon plugin
|
||||
* New routing conditions have been added (equal,startswith,endswith,regexp)
|
||||
* You can reference the uWSGI version string using the %V magic var in your
|
||||
configurations
|
||||
* Added the 'mongodb' generic plugin
|
||||
- 1.9
|
||||
* From now on, all of the request plugins need to be non-blocking
|
||||
* Added Coro::AnyEvent plugin for Perl. Requires Coro::Anyevent package
|
||||
* We have finally a truly working JVM infrastructure
|
||||
* The first Mono plugin attempt (in 2010) was a total failure. Now we have a
|
||||
new shining implementation
|
||||
* Language independent HTTP body manage
|
||||
* Faster uwsgi/HTTP/FastCGI/SCGI native sockets
|
||||
* Can split request/error logging
|
||||
* Chain reloading of workers
|
||||
* Offloading improvements
|
||||
* Better static files management/serving
|
||||
* New Generation Cache subsystem (cache2)
|
||||
* The Legion subsystem is a new whole addition to the uWSGI project. It has
|
||||
superseeded the old Clustering subsystem
|
||||
* Cygwin (windows) support
|
||||
* Advanced Exceptions subsystem
|
||||
* SPDY, SSL and SNI support
|
||||
* HTTP router keepalive, auto-chunking, auto-gzip and transparent websockets
|
||||
* The SSL router (sslrouter) for SSL virtual hosting
|
||||
* New Websockets API
|
||||
* New Programmable Internal Routing (turing complete ?)
|
||||
* A new imperial monitor has been added allowing vassals to be governed over
|
||||
zeromq messages
|
||||
* Total introspection via the stats server
|
||||
* Ping requests sent using nagios plugin will no longer be counted in apps
|
||||
request stats
|
||||
* The --app option has been removed. To load applications on specific
|
||||
mountpoints use the --mount option
|
||||
* The --static-offload-to-thread option has been removed. Use the more
|
||||
versatile --offload-threads
|
||||
* The grunt mode has been removed. To accomplish the same behaviour just use
|
||||
threads or directly call fork() and uwsgi.disconnect()
|
||||
* The send_message/recv_message api has been removed (use language-supplied
|
||||
functions)
|
||||
- 1.5
|
||||
* added --not-alarm-log
|
||||
* support for TCP_FASTOPEN (Linux-only)
|
||||
* improved emperor reloading
|
||||
* added --get
|
||||
* Legion subsystem
|
||||
* emperor_zeromq plugin
|
||||
* SNI support
|
||||
* distributed SSL session cache
|
||||
- 1.4.1
|
||||
* fixed typos in corerouter plugins
|
||||
* fixed offloading when the number of threads is higher than 1
|
||||
* fixed static_maps for non-existent paths
|
||||
* fixed uwsgi_connect() on modern Linux systems to reset the socket to blocking mode
|
||||
- 1.4
|
||||
* gevent improvements
|
||||
* improved http/https router and fastrouter
|
||||
* Go official support
|
||||
* a new set of infos are exported to the stats system
|
||||
* improved systemd support
|
||||
* log filtering and routing
|
||||
* improved tracebacker
|
||||
* offload transfer for static files, and network transfers
|
||||
* matheval support
|
||||
* plugins can be written in Obj-C
|
||||
* smart attach daemon
|
||||
* added support for PEP 405 virtualenvs
|
||||
* rawrouter with xclient support
|
||||
* internal routing plugin for cache
|
||||
- 1.3
|
||||
* python tracebacker
|
||||
* user-governed harakiri
|
||||
* simplified external plugin development
|
||||
* Linux namespace mountpoint improvements
|
||||
* secured subscription system
|
||||
* merged routers codebase (fastrouter, http, rawrouter)
|
||||
* https support in the http router
|
||||
* config report at the end of uWSGI build process
|
||||
* improved subscription system (multicast and unix socket)
|
||||
* custom options
|
||||
* graceful reloads on shared sockets
|
||||
* configurable log-master buffer size
|
||||
* extreme-optimizations for the stats subsystem
|
||||
* redislog and mongodblog plugins
|
||||
* added python logger
|
||||
* mongodb and postgres imperial monitors
|
||||
* implemented psgix.logger and psgix.cleanup
|
||||
* full rack spec compliance
|
||||
* preliminary ipv6 support
|
||||
* gevent graceful reloads
|
||||
* support for multiple loggers and logformat
|
||||
* lazy-apps to load apps after fork() but without changing reloading subsystem
|
||||
* emperor heartbeat subsystem
|
||||
* cheaper busyness plugin
|
||||
* pluggable clock sources
|
||||
* added router_rewrite and router_http plugins
|
||||
* external spoolers
|
||||
* support for section:// and fd:// loaders
|
||||
* alarm subsystem (with curl and xmpp plugins)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 11 22:13:54 UTC 2012 - jfunk@funktronics.ca
|
||||
|
||||
|
3
uwsgi.ini
Normal file
3
uwsgi.ini
Normal file
@ -0,0 +1,3 @@
|
||||
[uwsgi]
|
||||
# Directory containing application configs
|
||||
emperor = /etc/uwsgi/vassals
|
99
uwsgi.init
99
uwsgi.init
@ -1,99 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# Author: James Oakley
|
||||
#
|
||||
# /etc/init.d/uwsgi
|
||||
# and its symbolic link
|
||||
# /(usr/)sbin/rcuwsgi
|
||||
#
|
||||
# LSB compatible service control script; see http://www.linuxbase.org/spec/
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: uwsgi
|
||||
# Required-Start: $syslog $remote_fs
|
||||
# Should-Start: $time ypbind smtp
|
||||
# Required-Stop: $syslog $remote_fs
|
||||
# Should-Stop: ypbind smtp
|
||||
# Default-Start: 3 5
|
||||
# Default-Stop: 0 1 2 6
|
||||
# Short-Description: Application Container Server for Networked/Clustered Web Applications
|
||||
# Description: Application Container Server for Networked/Clustered Web Applications
|
||||
### END INIT INFO
|
||||
|
||||
# Check for missing binaries (stale symlinks should not happen)
|
||||
UWSGI_BIN=/usr/sbin/uwsgi
|
||||
test -x $UWSGI_BIN || { echo "$UWSGI_BIN not installed";
|
||||
if [ "$1" = "stop" ]; then exit 0;
|
||||
else exit 5; fi; }
|
||||
|
||||
UWSGI_CONFIG=/etc/sysconfig/uwsgi
|
||||
test -r $UWSGI_CONFIG || { echo "$UWSGI_CONFIG not existing";
|
||||
if [ "$1" = "stop" ]; then exit 0;
|
||||
else exit 6; fi; }
|
||||
. $UWSGI_CONFIG
|
||||
|
||||
UWSGI_OPTIONS="$UWSGI_OPTIONS --autoload"
|
||||
|
||||
if [ "$UWSGI_EMPEROR_MODE" = "true" ] ; then
|
||||
UWSGI_OPTIONS="$UWSGI_OPTIONS --emperor $UWSGI_VASSALS"
|
||||
fi
|
||||
|
||||
. /etc/rc.status
|
||||
|
||||
rc_reset
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting uWSGI "
|
||||
/sbin/startproc $UWSGI_BIN $UWSGI_OPTIONS
|
||||
rc_status -v
|
||||
;;
|
||||
stop)
|
||||
echo -n "Shutting down uWSGI "
|
||||
/sbin/killproc $UWSGI_BIN
|
||||
rc_status -v
|
||||
;;
|
||||
try-restart|condrestart)
|
||||
if test "$1" = "condrestart"; then
|
||||
echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
|
||||
fi
|
||||
$0 status
|
||||
if test $? = 0; then
|
||||
$0 restart
|
||||
else
|
||||
rc_reset
|
||||
fi
|
||||
rc_status
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
rc_status
|
||||
;;
|
||||
force-reload)
|
||||
echo -n "Reload service uWSGI "
|
||||
/sbin/killproc -HUP $UWSGI_BIN
|
||||
rc_status -v
|
||||
;;
|
||||
reload)
|
||||
echo -n "Reload service uWSGI "
|
||||
/sbin/killproc -HUP $UWSGI_BIN
|
||||
rc_status -v
|
||||
;;
|
||||
status)
|
||||
echo -n "Checking for service uWSGI "
|
||||
/sbin/checkproc $UWSGI_BIN
|
||||
rc_status -v
|
||||
;;
|
||||
probe)
|
||||
echo -n "uWSGI does not support probe "
|
||||
rc_failed 3
|
||||
rc_status -v
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
rc_exit
|
11
uwsgi.service
Normal file
11
uwsgi.service
Normal file
@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Application Container Server for Networked/Clustered Web Applications
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/uwsgi --autoload --ini /etc/uwsgi/uwsgi.ini
|
||||
Restart=always
|
||||
Type=notify
|
||||
NotifyAccess=all
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
646
uwsgi.spec
646
uwsgi.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package uwsgi
|
||||
#
|
||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -17,7 +17,7 @@
|
||||
|
||||
|
||||
Name: uwsgi
|
||||
Version: 1.2.6
|
||||
Version: 1.9.11
|
||||
Release: 0
|
||||
Summary: Application Container Server for Networked/Clustered Web Applications
|
||||
License: GPL-2.0+
|
||||
@ -25,36 +25,79 @@ Group: Productivity/Networking/Web/Servers
|
||||
Url: http://projects.unbit.it/uwsgi/wiki
|
||||
Source: http://projects.unbit.it/downloads/uwsgi-%{version}.tar.gz
|
||||
Source1: opensuse.ini.in
|
||||
Source2: uwsgi.init
|
||||
Source2: uwsgi.service
|
||||
Source3: django.ini.example
|
||||
Source4: rails.yml.example
|
||||
Source5: trac.ini.example
|
||||
Source6: werkzeug.xml.example
|
||||
Source7: README.openSUSE
|
||||
Source8: uwsgi.sysconfig
|
||||
# PATCH-FIX-OPENSUSE uwsgi-1.2.6-plugin_build_path.patch - Don't attempt to install plugins to target dest during build
|
||||
Patch0: uwsgi-1.2.6-plugin_build_path.patch
|
||||
# PATCH-FIX-OPENSUSE uwsgi-1.9.11-plugin_build_path.patch - Don't attempt to install plugins to target dest during build
|
||||
Patch0: uwsgi-1.9.11-plugin_build_path.patch
|
||||
# PATCH-FIX-OPENSUSE uwsgi-1.9.11-no-LD_RUN_PATH.patch - Disable invalid rpath in plugins
|
||||
Patch1: uwsgi-1.9.11-no-LD_RUN_PATH.patch
|
||||
BuildRequires: erlang
|
||||
BuildRequires: gcc-c++
|
||||
#BuildRequires: go
|
||||
BuildRequires: java-devel
|
||||
#BuildRequires: krb5-devel
|
||||
BuildRequires: libGeoIP-devel
|
||||
BuildRequires: libattr-devel
|
||||
BuildRequires: libcap-devel
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: libjansson-devel
|
||||
#BuildRequires: libmono-2_0-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: libxslt-devel
|
||||
BuildRequires: libyaml-devel
|
||||
BuildRequires: lua51-devel
|
||||
#BuildRequires: mono-web
|
||||
BuildRequires: openldap2-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: pam-devel
|
||||
BuildRequires: pcre-devel
|
||||
#BuildRequires: php5-devel
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: postgresql-devel
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: ruby-devel
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1210
|
||||
BuildRequires: erlang
|
||||
BuildRequires: lua51-devel
|
||||
%else
|
||||
BuildRequires: lua-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1140
|
||||
BuildRequires: python-greenlet-devel
|
||||
%endif
|
||||
BuildRequires: ruby-devel
|
||||
BuildRequires: sqlite3-devel
|
||||
BuildRequires: systemd-devel
|
||||
BuildRequires: tcpd-devel
|
||||
BuildRequires: v8-devel
|
||||
BuildRequires: zeromq-devel
|
||||
BuildRequires: zlib-devel
|
||||
%{?systemd_requires}
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
|
||||
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
|
||||
%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
|
||||
%endif
|
||||
Provides: uwsgi-carbon = %{version}
|
||||
Obsoletes: uwsgi-carbon < 1.9.11
|
||||
Provides: uwsgi-cgi = %{version}
|
||||
Obsoletes: uwsgi-cgi < 1.9.11
|
||||
Provides: uwsgi-fastrouter = %{version}
|
||||
Obsoletes: uwsgi-fastrouter < 1.9.11
|
||||
Provides: uwsgi-graylog2 = %{version}
|
||||
Obsoletes: uwsgi-graylog2 < 1.9.11
|
||||
Provides: uwsgi-http = %{version}
|
||||
Obsoletes: uwsgi-http < 1.9.11
|
||||
Provides: uwsgi-logsocket = %{version}
|
||||
Obsoletes: uwsgi-logsocket < 1.9.11
|
||||
Provides: uwsgi-nagios = %{version}
|
||||
Obsoletes: uwsgi-nagios < 1.9.11
|
||||
Provides: uwsgi-probepg = %{version}
|
||||
Obsoletes: uwsgi-probepg < 1.9.11
|
||||
Provides: uwsgi-redislog = %{version}
|
||||
Obsoletes: uwsgi-redislog < 1.9.11
|
||||
Provides: uwsgi-rrdtool = %{version}
|
||||
Obsoletes: uwsgi-rrdtool < 1.9.11
|
||||
Provides: uwsgi-rsyslog = %{version}
|
||||
Obsoletes: uwsgi-rsyslog < 1.9.11
|
||||
Provides: uwsgi-syslog = %{version}
|
||||
Obsoletes: uwsgi-syslog < 1.9.11
|
||||
Provides: uwsgi-ugreen = %{version}
|
||||
Obsoletes: uwsgi-ugreen < 1.9.11
|
||||
Provides: uwsgi-zergpool = %{version}
|
||||
Obsoletes: uwsgi-zergpool < 1.9.11
|
||||
|
||||
%description
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
@ -81,48 +124,56 @@ different plugins can be used in order to add compatibility with tons of
|
||||
different technology on top of the same core.
|
||||
|
||||
|
||||
%package carbon
|
||||
Summary: Carbon Plugin for Graphite Integration for uWSGI
|
||||
%package emperor_pg
|
||||
Summary: PostgreSQL Emperor Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description carbon
|
||||
%description emperor_pg
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains the carbon plugin for integration with the Graphite
|
||||
realtime graphing server.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/Carbon for more info.
|
||||
This package contains an emperor plugin allowing for configuration of
|
||||
applications (vassals) in a PostgreSQL database.
|
||||
|
||||
|
||||
%package cgi
|
||||
Summary: CGI Plugin for uWSGI
|
||||
%package emperor_zeromq
|
||||
Summary: ZeroMQ Emperor Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description cgi
|
||||
%description emperor_zeromq
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains the CGI plugin to support legacy CGI scripts.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/CGI for more info.
|
||||
This package contains an emperor plugin allowing for configuration of
|
||||
applications (vassals) via ZeroMQ.
|
||||
|
||||
|
||||
%package fastrouter
|
||||
Summary: Fastrouter Plugin for uWSGI
|
||||
%package erlang
|
||||
Summary: Erlang Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description fastrouter
|
||||
%description erlang
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains the fastrouter plugin for using uWSGI as a
|
||||
proxy/load-balancer/router speaking the uwsgi protocol.
|
||||
This package contains support for uWSGI to act as an Erlang C-Node and exchange
|
||||
messages and rpc with Erlang nodes.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/FastRouter for more info.
|
||||
|
||||
%package geoip
|
||||
Summary: GeoIP Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
Requires: %{name}-python = %{version}
|
||||
|
||||
%description geoip
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for GeoIP routing.
|
||||
|
||||
|
||||
%package gevent
|
||||
@ -138,39 +189,27 @@ container server coded in pure C.
|
||||
This package contains support for Python Gevent, which is a non-blocking
|
||||
networking framework.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/Gevent for more info.
|
||||
|
||||
|
||||
%package graylog2
|
||||
Summary: Graylog2 Plugin for uWSGI
|
||||
%package greenlet
|
||||
Summary: Greenlet Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
Requires: %{name}-python = %{version}
|
||||
|
||||
%description graylog2
|
||||
%description greenlet
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for logging to Graylog2 log servers.
|
||||
|
||||
|
||||
%package http
|
||||
Summary: HTTP Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description http
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for using uWSGI as a HTTP server.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/HTTPserver for more info.
|
||||
This package contains support for the Python Greenlet non-blocking network
|
||||
framework.
|
||||
|
||||
|
||||
%package jvm
|
||||
Summary: JVM Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
Provides: uwsgi-jwsgi = %{version}
|
||||
Obsoletes: uwsgi-jwsgi < 1.9.11
|
||||
|
||||
%description jvm
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
@ -178,36 +217,17 @@ container server coded in pure C.
|
||||
|
||||
This package contains support for embedding a Java virtual machine in uWSGI.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/JVM for more info.
|
||||
|
||||
|
||||
%package jwsgi
|
||||
Summary: Java WSGI Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
Requires: %{name}-jvm = %{version}
|
||||
|
||||
%description jwsgi
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for WSGI-style Java applications.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/jwsgi for more info.
|
||||
|
||||
|
||||
%package logsocket
|
||||
Summary: Socket Logging Plugin for uWSGI
|
||||
%package ldap
|
||||
Summary: LDAP Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description logsocket
|
||||
%description ldap
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains the logsocket plugin for logging to UNIX and UDP sockets.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/SocketLogging for more info.
|
||||
This package contains support for configuring uWSGI via LDAP.
|
||||
|
||||
|
||||
%package lua
|
||||
@ -221,22 +241,6 @@ container server coded in pure C.
|
||||
|
||||
This package contains support for Lua applications via the wsapi interface.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/Lua for more info.
|
||||
|
||||
|
||||
%package nagios
|
||||
Summary: Nagios Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description nagios
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for Nagios monitoring of the uWSGI server.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/Nagios for more info.
|
||||
|
||||
|
||||
%package pam
|
||||
Summary: PAM Plugin for uWSGI
|
||||
@ -250,18 +254,6 @@ container server coded in pure C.
|
||||
This package contains support for PAM authentication.
|
||||
|
||||
|
||||
%package probepg
|
||||
Summary: PostgreSQL Probe Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description probepg
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for probing PostgreSQL servers.
|
||||
|
||||
|
||||
%package psgi
|
||||
Summary: PSGI Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
@ -274,146 +266,6 @@ container server coded in pure C.
|
||||
This package contains the PSGI plugin for running Perl applications that
|
||||
support the PSGI protocol.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/PSGI for more info.
|
||||
|
||||
|
||||
%package python
|
||||
Summary: Python Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description python
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for Python applications via the WSGI protocol.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/Quickstart for more info.
|
||||
|
||||
|
||||
%package ruby
|
||||
Summary: Ruby Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description ruby
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for Ruby applications.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/Rack for more info.
|
||||
|
||||
|
||||
%package redislog
|
||||
Summary: Redis Logging Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description redislog
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for logging to a Redis server.
|
||||
|
||||
|
||||
%package rrdtool
|
||||
Summary: RRDTool Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description rrdtool
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for saving statistics in RRD bastabase files.
|
||||
|
||||
|
||||
%package rsyslog
|
||||
Summary: Rsyslog Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description rsyslog
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for logging to Rsyslog servers.
|
||||
|
||||
|
||||
%package syslog
|
||||
Summary: Syslog Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description syslog
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for logging to syslog servers.
|
||||
|
||||
|
||||
%package ugreen
|
||||
Summary: Green Threads Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
Requires: %{name}-python = %{version}
|
||||
|
||||
%description ugreen
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for green threads in Python applications.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/uGreen for more info.
|
||||
|
||||
|
||||
%package zergpool
|
||||
Summary: Zerg Mode Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description zergpool
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for Zerg mode, which allows for dynamically added
|
||||
workers under load.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/ZergMode for more info.
|
||||
|
||||
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1210
|
||||
%package fiber
|
||||
Summary: Ruby Fibers Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
Requires: %{name}-ruby = %{version}
|
||||
|
||||
%description fiber
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for Ruby fibers. Fibers are a form of coroutine,
|
||||
useful for implementing cooperative multitasking in your apps.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/FiberLoop for more info.
|
||||
|
||||
|
||||
%package erlang
|
||||
Summary: Erlang Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description erlang
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for uWSGI to act as an Erlang C-Node and exchange
|
||||
messages and rpc with Erlang nodes.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/ErlangIntegration for more info.
|
||||
|
||||
|
||||
%package pyerl
|
||||
Summary: Python-Erlang Plugin for uWSGI
|
||||
@ -429,55 +281,149 @@ container server coded in pure C.
|
||||
This package contains the pyerl module for accessing Erlang functionality to
|
||||
Python applications.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/ErlangIntegration for more info.
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1140
|
||||
%package greenlet
|
||||
Summary: Greenlet Plugin for uWSGI
|
||||
%package pypy
|
||||
Summary: PyPy Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
Requires: %{name}-python = %{version}
|
||||
|
||||
%description greenlet
|
||||
%description pypy
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for the Python Greenlet non-blocking network
|
||||
framework.
|
||||
This package contains support for Python applications using PyPy.
|
||||
|
||||
|
||||
%package python
|
||||
Summary: Python Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description python
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for Python applications via the WSGI protocol.
|
||||
|
||||
|
||||
%package ruby
|
||||
Summary: Ruby Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
Provides: uwsgi-fiber = %{version}
|
||||
Obsoletes: uwsgi-fiber < 1.9.11
|
||||
|
||||
%description ruby
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for Ruby applications.
|
||||
|
||||
|
||||
%package sqlite3
|
||||
Summary: SQLite3 Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description sqlite3
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for storing application configuration in SQLite3
|
||||
databases.
|
||||
|
||||
|
||||
%package v8
|
||||
Summary: V8 JavaScript Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description v8
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for JavaScript using V8.
|
||||
|
||||
|
||||
%package xslt
|
||||
Summary: XSLT Plugin for uWSGI
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description xslt
|
||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||
container server coded in pure C.
|
||||
|
||||
This package contains support for rendering XML content using XSLT.
|
||||
|
||||
See http://projects.unbit.it/uwsgi/wiki/AsyncSupport for more info.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q -n uwsgi-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
# Generate a config that builds all plugins except for examples and stuff we
|
||||
# can't satisfy the requirements for
|
||||
excluded_plugins="cheaper_backlog2 cplusplus dummy example mono pyuwsgi stackless pypy php"
|
||||
# can't satisfy the requirements for or are just broken
|
||||
excluded_plugins=""
|
||||
|
||||
# Still no mongodb in Factory
|
||||
excluded_plugins="$excluded_plugins stats_pusher_mongodb emperor_mongodb mongodb mongodblog gridfs"
|
||||
|
||||
# Mono plugin builds private key during build. It would not be a good idea to
|
||||
# distribute the same key to multiple systems
|
||||
excluded_plugins="$excluded_plugins mono"
|
||||
|
||||
# Only for OSX
|
||||
excluded_plugins="$excluded_plugins alarm_speech"
|
||||
|
||||
# No libphp on openSUSE for some reason
|
||||
excluded_plugins="$excluded_plugins php"
|
||||
|
||||
# No stackless in openSUSE
|
||||
excluded_plugins="$excluded_plugins stackless"
|
||||
|
||||
# No perl-Coro in Factory (there is a broken unmaintained one under d:l:perl:CPAN-C)
|
||||
excluded_plugins="$excluded_plugins coroae"
|
||||
|
||||
# Requires libgloox, which is not in Factory
|
||||
excluded_plugins="$excluded_plugins alarm_xmpp"
|
||||
|
||||
# No build config for gccgo ATM
|
||||
excluded_plugins="$excluded_plugins gccgo"
|
||||
|
||||
# These plugins require a libuwsgi, which appears to conflict with core...
|
||||
excluded_plugins="$excluded_plugins go pyuwsgi"
|
||||
|
||||
# The SPNEGO router is not complete
|
||||
excluded_plugins="$excluded_plugins router_spnego"
|
||||
|
||||
# These are example plugins and shouldn't be distributed
|
||||
excluded_plugins="$excluded_plugins cplusplus dummy example"
|
||||
|
||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1210
|
||||
# Requirements missing on openSUSE <= 12.1
|
||||
excluded_plugins="$excluded_plugins fiber ruby19 erlang pyerl"
|
||||
%endif
|
||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1140
|
||||
excluded_plugins="$excluded_plugins greenlet"
|
||||
%endif
|
||||
|
||||
plugins=$(python -c "import sys, os; print ', '.join([p for p in os.listdir('plugins') if p not in sys.argv[1:]])" $excluded_plugins)
|
||||
sed -e "s#@@LIBDIR@@#%{_libdir}#" -e "s#@@PLUGINS@@#$plugins#" %{SOURCE1} > buildconf/opensuse.ini
|
||||
|
||||
# README.openSUSE
|
||||
cp %{SOURCE7} .
|
||||
|
||||
%build
|
||||
# Find correct location for libjvm
|
||||
jvmlib=$(dirname $(find %{_jvmdir}/java/jre/lib -name "libjvm.so" | grep server))
|
||||
export CFLAGS="%{optflags} -I$(echo %{_libdir}/erlang/lib/erl_interface-*/include) -I%{_jvmdir}/java/include/ -I%{_jvmdir}/java/include/linux -L$jvmlib"
|
||||
export UWSGICONFIG_JVM_LIBPATH=$(dirname $(find %{_jvmdir}/java/jre/lib -name "libjvm.so" | grep server))
|
||||
export UWSGICONFIG_JVM_INCPATH="%{_jvmdir}/java/include"
|
||||
export UWSGICONFIG_LUALIB="lua"
|
||||
export CFLAGS="%{optflags} -I$(echo %{_libdir}/erlang/lib/erl_interface-*/include) -I%{_jvmdir}/java/include/linux -L$UWSGICONFIG_JVM_LIBPATH/jli"
|
||||
%{?jobs:export CPUCOUNT=%jobs}
|
||||
python uwsgiconfig.py --build opensuse
|
||||
|
||||
%install
|
||||
install -D -m 0755 uwsgi %{buildroot}%{_sbindir}/uwsgi
|
||||
install -d -m 0755 %{buildroot}%{_libdir}/uwsgi
|
||||
install -m 0755 *_plugin.so %{buildroot}%{_libdir}/uwsgi
|
||||
install -D -m 0755 %{SOURCE2} %{buildroot}%{_sysconfdir}/init.d/uwsgi
|
||||
ln -sf %{_sysconfdir}/init.d/uwsgi %{buildroot}%{_sbindir}/rcuwsgi
|
||||
install -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/uwsgi.service
|
||||
install -d -m 0755 %{buildroot}%{_sysconfdir}/uwsgi/vassals
|
||||
install -m 0644 %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{buildroot}%{_sysconfdir}/uwsgi/vassals
|
||||
install -m 0644 vassals/broodlord.ini %{buildroot}%{_sysconfdir}/uwsgi/vassals/broodlord.ini.example
|
||||
@ -485,99 +431,142 @@ install -m 0644 vassals/cc.ini %{buildroot}%{_sysconfdir}/uwsgi/vassals/cc.ini.e
|
||||
install -m 0644 vassals/multi.xml %{buildroot}%{_sysconfdir}/uwsgi/vassals/multi.xml.example
|
||||
install -D -m 0644 uwsgidecorators.py %{buildroot}%{python_sitelib}/uwsgidecorators.py
|
||||
%py_compile %{buildroot}%{python_sitelib}
|
||||
install -D -m 0644 %{SOURCE8} %{buildroot}/%{_var}/adm/fillup-templates/sysconfig.uwsgi
|
||||
install -D plugins/jvm/uwsgi.jar %{buildroot}%{_javadir}/uwsgi.jar
|
||||
|
||||
%pre
|
||||
%service_add_pre uwsgi.service
|
||||
|
||||
%post
|
||||
%fillup_and_insserv uwsgi
|
||||
%service_add_post uwsgi.service
|
||||
|
||||
%preun
|
||||
%stop_on_removal uwsgi
|
||||
%service_del_preun uwsgi.service
|
||||
|
||||
%postun
|
||||
%restart_on_update uwsgi
|
||||
%insserv_cleanup
|
||||
%service_del_postun uwsgi.service
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc CONTRIBUTORS ChangeLog LICENSE README uwsgi_API.txt README.openSUSE
|
||||
%doc CONTRIBUTORS LICENSE README uwsgi_API.txt contrib examples README.openSUSE
|
||||
%{_sbindir}/uwsgi
|
||||
%dir %{_sysconfdir}/uwsgi/
|
||||
%dir %{_sysconfdir}/uwsgi/vassals
|
||||
%{_sysconfdir}/uwsgi/vassals/*
|
||||
%dir %{_libdir}/uwsgi
|
||||
%config %{_sysconfdir}/init.d/uwsgi
|
||||
%{_sbindir}/rcuwsgi
|
||||
%{_unitdir}/uwsgi.service
|
||||
%{_libdir}/uwsgi/admin_plugin.so
|
||||
%{_libdir}/uwsgi/airbrake_plugin.so
|
||||
%{_libdir}/uwsgi/alarm_curl_plugin.so
|
||||
%{_libdir}/uwsgi/cache_plugin.so
|
||||
%{_libdir}/uwsgi/carbon_plugin.so
|
||||
%{_libdir}/uwsgi/cgi_plugin.so
|
||||
%{_libdir}/uwsgi/cheaper_backlog2_plugin.so
|
||||
%{_libdir}/uwsgi/cheaper_busyness_plugin.so
|
||||
%{_libdir}/uwsgi/clock_monotonic_plugin.so
|
||||
%{_libdir}/uwsgi/clock_realtime_plugin.so
|
||||
%{_libdir}/uwsgi/corerouter_plugin.so
|
||||
%{_libdir}/uwsgi/curl_cron_plugin.so
|
||||
%{_libdir}/uwsgi/dumbloop_plugin.so
|
||||
%{_libdir}/uwsgi/emperor_amqp_plugin.so
|
||||
%{_libdir}/uwsgi/exception_log_plugin.so
|
||||
%{_libdir}/uwsgi/fastrouter_plugin.so
|
||||
%{_libdir}/uwsgi/echo_plugin.so
|
||||
%{_libdir}/uwsgi/graylog2_plugin.so
|
||||
%{_libdir}/uwsgi/http_plugin.so
|
||||
%{_libdir}/uwsgi/legion_cache_fetch_plugin.so
|
||||
%{_libdir}/uwsgi/logcrypto_plugin.so
|
||||
%{_libdir}/uwsgi/logfile_plugin.so
|
||||
%{_libdir}/uwsgi/logsocket_plugin.so
|
||||
%{_libdir}/uwsgi/nagios_plugin.so
|
||||
%{_libdir}/uwsgi/notfound_plugin.so
|
||||
%{_libdir}/uwsgi/ping_plugin.so
|
||||
%{_libdir}/uwsgi/probeconnect_plugin.so
|
||||
%{_libdir}/uwsgi/rawrouter_plugin.so
|
||||
%{_libdir}/uwsgi/redislog_plugin.so
|
||||
%{_libdir}/uwsgi/router_access_plugin.so
|
||||
%{_libdir}/uwsgi/router_basicauth_plugin.so
|
||||
%{_libdir}/uwsgi/router_cache_plugin.so
|
||||
%{_libdir}/uwsgi/router_http_plugin.so
|
||||
%{_libdir}/uwsgi/router_memcached_plugin.so
|
||||
%{_libdir}/uwsgi/router_radius_plugin.so
|
||||
%{_libdir}/uwsgi/router_redirect_plugin.so
|
||||
%{_libdir}/uwsgi/router_rewrite_plugin.so
|
||||
%{_libdir}/uwsgi/router_static_plugin.so
|
||||
%{_libdir}/uwsgi/router_uwsgi_plugin.so
|
||||
%{_libdir}/uwsgi/rpc_plugin.so
|
||||
%{_libdir}/uwsgi/rrdtool_plugin.so
|
||||
%{_libdir}/uwsgi/rsyslog_plugin.so
|
||||
%{_libdir}/uwsgi/signal_plugin.so
|
||||
%{_libdir}/uwsgi/spooler_plugin.so
|
||||
%{_libdir}/uwsgi/ssi_plugin.so
|
||||
%{_libdir}/uwsgi/sslrouter_plugin.so
|
||||
%{_libdir}/uwsgi/stats_pusher_statsd_plugin.so
|
||||
%{_libdir}/uwsgi/symcall_plugin.so
|
||||
%{_var}/adm/fillup-templates/sysconfig.uwsgi
|
||||
%{_libdir}/uwsgi/syslog_plugin.so
|
||||
%{_libdir}/uwsgi/systemd_logger_plugin.so
|
||||
%{_libdir}/uwsgi/transformation_chunked_plugin.so
|
||||
%{_libdir}/uwsgi/transformation_gzip_plugin.so
|
||||
%{_libdir}/uwsgi/transformation_tofile_plugin.so
|
||||
%{_libdir}/uwsgi/transformation_toupper_plugin.so
|
||||
%{_libdir}/uwsgi/ugreen_plugin.so
|
||||
%{_libdir}/uwsgi/webdav_plugin.so
|
||||
%{_libdir}/uwsgi/xattr_plugin.so
|
||||
%{_libdir}/uwsgi/zergpool_plugin.so
|
||||
|
||||
%files carbon
|
||||
%files emperor_pg
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/carbon_plugin.so
|
||||
%{_libdir}/uwsgi/emperor_pg_plugin.so
|
||||
|
||||
%files cgi
|
||||
%files emperor_zeromq
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/cgi_plugin.so
|
||||
%{_libdir}/uwsgi/emperor_zeromq_plugin.so
|
||||
|
||||
%files fastrouter
|
||||
%files erlang
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/fastrouter_plugin.so
|
||||
%{_libdir}/uwsgi/erlang_plugin.so
|
||||
|
||||
%files geoip
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/geoip_plugin.so
|
||||
|
||||
%files gevent
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/gevent_plugin.so
|
||||
|
||||
%files graylog2
|
||||
%files greenlet
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/graylog2_plugin.so
|
||||
|
||||
%files http
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/http_plugin.so
|
||||
%{_libdir}/uwsgi/greenlet_plugin.so
|
||||
|
||||
%files jvm
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/jvm_plugin.so
|
||||
|
||||
%files jwsgi
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/jwsgi_plugin.so
|
||||
%{_libdir}/uwsgi/ring_plugin.so
|
||||
%{_javadir}/uwsgi.jar
|
||||
|
||||
%files logsocket
|
||||
%files ldap
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/logsocket_plugin.so
|
||||
%{_libdir}/uwsgi/ldap_plugin.so
|
||||
|
||||
%files lua
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/lua_plugin.so
|
||||
|
||||
%files nagios
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/nagios_plugin.so
|
||||
|
||||
%files pam
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/pam_plugin.so
|
||||
|
||||
%files probepg
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/probepg_plugin.so
|
||||
|
||||
%files psgi
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/psgi_plugin.so
|
||||
|
||||
%files pyerl
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/pyerl_plugin.so
|
||||
|
||||
%files pypy
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/pypy_plugin.so
|
||||
|
||||
%files python
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/python_plugin.so
|
||||
@ -585,53 +574,20 @@ install -D -m 0644 %{SOURCE8} %{buildroot}/%{_var}/adm/fillup-templates/sysconfi
|
||||
|
||||
%files ruby
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/rack_plugin.so
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1210
|
||||
%{_libdir}/uwsgi/ruby19_plugin.so
|
||||
%endif
|
||||
|
||||
%files redislog
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/redislog_plugin.so
|
||||
|
||||
%files rrdtool
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/rrdtool_plugin.so
|
||||
|
||||
%files rsyslog
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/rsyslog_plugin.so
|
||||
|
||||
%files syslog
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/syslog_plugin.so
|
||||
|
||||
%files ugreen
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/ugreen_plugin.so
|
||||
|
||||
%files zergpool
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/zergpool_plugin.so
|
||||
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1210
|
||||
%files fiber
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/fiber_plugin.so
|
||||
%{_libdir}/uwsgi/rack_plugin.so
|
||||
%{_libdir}/uwsgi/ruby19_plugin.so
|
||||
|
||||
%files erlang
|
||||
%files sqlite3
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/erlang_plugin.so
|
||||
%{_libdir}/uwsgi/sqlite3_plugin.so
|
||||
|
||||
%files pyerl
|
||||
%files v8
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/pyerl_plugin.so
|
||||
%endif
|
||||
%{_libdir}/uwsgi/v8_plugin.so
|
||||
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1140
|
||||
%files greenlet
|
||||
%files xslt
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/uwsgi/greenlet_plugin.so
|
||||
%endif
|
||||
%{_libdir}/uwsgi/xslt_plugin.so
|
||||
|
||||
%changelog
|
||||
|
@ -1,35 +0,0 @@
|
||||
## Path: Network/WWW/uWSGI
|
||||
## Description: Run uWSGI in Emperor Mode
|
||||
## Type: boolean
|
||||
## Default: true
|
||||
#
|
||||
# uWSGI emperor mode is a method of running many different applications
|
||||
# (vassals) in individual uWSGI processes, managed by a single master (emperor)
|
||||
# process. It is recommended in most cases.
|
||||
#
|
||||
UWSGI_EMPEROR_MODE=true
|
||||
|
||||
## Path: Network/WWW/uWSGI
|
||||
## Description: uWSGI Vassals Directory
|
||||
## Type: string
|
||||
## Default: /etc/uwsgi/vassals
|
||||
#
|
||||
# When uWSGI is running in emperor mode, this is the directory where individual
|
||||
# application configurations (vassals) are found. Configuration files can be in
|
||||
# xml, ini, yaml, and json format. Vassals are started automatically when a
|
||||
# file is placed in this directory and restarted if a file is changed.
|
||||
#
|
||||
UWSGI_VASSALS="/etc/uwsgi/vassals/"
|
||||
|
||||
## Path: Network/WWW/uWSGI
|
||||
## Description: Additional uWSGI Options
|
||||
## Type: string
|
||||
## Default: ""
|
||||
#
|
||||
# Specify additional uWSGI options here. This is normally unnecessary since
|
||||
# options can be specified in per-application configuration files when running
|
||||
# in emperor mode. However, if emperor mode is disabled, this option will be
|
||||
# necessary. If emperor mode is enabled, these options are specified in
|
||||
# addition to the emperor mode settings.
|
||||
#
|
||||
UWSGI_OPTIONS=""
|
Loading…
Reference in New Issue
Block a user