Remove Paste#http, Paste#urlmap and Paste#static dependencies.

Changes:

* Paste#http -> Gunicorn
* Paste#urlmap and Paste#static -> werkzeug.wsgi.SharedDataMiddleware
This commit is contained in:
Berker Peksag 2014-06-29 04:23:50 +03:00
parent f9d93c0e9a
commit 19baab1b03
3 changed files with 20 additions and 59 deletions

View File

@ -20,7 +20,7 @@ selfname=$(basename "$0")
local_bin="./bin" local_bin="./bin"
case "$selfname" in case "$selfname" in
lazyserver.sh) lazyserver.sh)
starter_cmd=paster starter_cmd=gunicorn
ini_prefix=paste ini_prefix=paste
;; ;;
lazycelery.sh) lazycelery.sh)
@ -36,9 +36,8 @@ esac
if [ "$1" = "-h" ]; then if [ "$1" = "-h" ]; then
echo "$0 [-h] [-c filename.ini] [ARGS_to_${starter_cmd} ...]" echo "$0 [-h] [-c filename.ini] [ARGS_to_${starter_cmd} ...]"
echo "" echo ""
echo " For example:" echo " For Gunicorn settings, see at:"
echo " $0 -c fcgi.ini port_number=23371" echo " http://docs.gunicorn.org/en/19.0/settings.html"
echo " or: $0 --server-name=fcgi --log-file=paste.log"
echo "" echo ""
echo " The configfile defaults to ${ini_prefix}_local.ini," echo " The configfile defaults to ${ini_prefix}_local.ini,"
echo " if that is readable, otherwise ${ini_prefix}.ini." echo " if that is readable, otherwise ${ini_prefix}.ini."
@ -71,7 +70,7 @@ set -x
export CELERY_ALWAYS_EAGER=true export CELERY_ALWAYS_EAGER=true
case "$selfname" in case "$selfname" in
lazyserver.sh) lazyserver.sh)
$starter serve "$ini_file" "$@" --reload $starter --paste "$ini_file" "$@"
;; ;;
lazycelery.sh) lazycelery.sh)
MEDIAGOBLIN_CONFIG="${ini_file}" \ MEDIAGOBLIN_CONFIG="${ini_file}" \

View File

@ -23,6 +23,7 @@ from mediagoblin.tools.routing import endpoint_to_controller
from werkzeug.wrappers import Request from werkzeug.wrappers import Request
from werkzeug.exceptions import HTTPException from werkzeug.exceptions import HTTPException
from werkzeug.routing import RequestRedirect from werkzeug.routing import RequestRedirect
from werkzeug.wsgi import SharedDataMiddleware
from mediagoblin import meddleware, __version__ from mediagoblin import meddleware, __version__
from mediagoblin.db.util import check_db_up_to_date from mediagoblin.db.util import check_db_up_to_date
@ -277,8 +278,11 @@ def paste_app_factory(global_config, **app_config):
if not mediagoblin_config: if not mediagoblin_config:
raise IOError("Usable mediagoblin config not found.") raise IOError("Usable mediagoblin config not found.")
del app_config['config']
mgoblin_app = MediaGoblinApp(mediagoblin_config) mgoblin_app = MediaGoblinApp(mediagoblin_config)
mgoblin_app.call_backend = SharedDataMiddleware(mgoblin_app.call_backend,
exports=app_config)
mgoblin_app = hook_transform('wrap_wsgi', mgoblin_app) mgoblin_app = hook_transform('wrap_wsgi', mgoblin_app)
return mgoblin_app return mgoblin_app

View File

@ -6,19 +6,16 @@
debug = false debug = false
[pipeline:main] [pipeline:main]
pipeline = errors routing pipeline = errors mediagoblin
[composite:routing]
use = egg:Paste#urlmap
/ = mediagoblin
/mgoblin_media/ = publicstore_serve
/mgoblin_static/ = mediagoblin_static
/theme_static/ = theme_static
/plugin_static/ = plugin_static
[app:mediagoblin] [app:mediagoblin]
use = egg:mediagoblin#app use = egg:mediagoblin#app
config = %(here)s/mediagoblin_local.ini %(here)s/mediagoblin.ini config = %(here)s/mediagoblin_local.ini %(here)s/mediagoblin.ini
# static paths
/mgoblin_media = %(here)s/user_dev/media/public
/mgoblin_static = %(here)s/mediagoblin/static
/theme_static = %(here)s/user_dev/theme_static
/plugin_static = %(here)s/user_dev/plugin_static
[loggers] [loggers]
keys = root keys = root
@ -42,26 +39,6 @@ formatter = generic
[formatter_generic] [formatter_generic]
format = %(asctime)s %(levelname)-7.7s [%(name)s] %(message)s format = %(asctime)s %(levelname)-7.7s [%(name)s] %(message)s
[app:publicstore_serve]
use = egg:Paste#static
document_root = %(here)s/user_dev/media/public/
cache_max_age = 604800
[app:mediagoblin_static]
use = egg:Paste#static
document_root = %(here)s/mediagoblin/static/
cache_max_age = 86400
[app:theme_static]
use = egg:Paste#static
document_root = %(here)s/user_dev/theme_static/
cache_max_age = 86400
[app:plugin_static]
use = egg:Paste#static
document_root = %(here)s/user_dev/plugin_static/
cache_max_age = 86400
[filter:errors] [filter:errors]
use = egg:mediagoblin#errors use = egg:mediagoblin#errors
debug = false debug = false
@ -74,30 +51,11 @@ debug = false
# The server that is run by default. # The server that is run by default.
# By default, should only be accessable locally # By default, should only be accessable locally
[server:main] [server:main]
use = egg:Paste#http use = egg:gunicorn
host = 127.0.0.1 host = 127.0.0.1
port = 6543 port = 6543
# Gunicorn settings. See http://docs.gunicorn.org/en/19.0/settings.html
####################### # for more information about configuring Gunicorn
# Helper server configs proc_name = gmg
# --------------------- reload = true
# If you are configuring the paste config manually, you can remove accesslog = -
# these.
# Use this if you want to run on port 6543 and have MediaGoblin be
# viewable externally
[server:broadcast]
use = egg:Paste#http
host = 0.0.0.0
port = 6543
# Use this if you want to connect via fastcgi
[server:fcgi]
use = egg:flup#fcgi_fork
host = %(fcgi_host)s
port = %(fcgi_port)s
[server:http]
use = egg:Paste#http
host = %(http_host)s
port = %(http_port)s