El Havarti es una tienda de quesos pintoresco que juega muy bien en la nube.
Instalación
Havarti es una aplicación Frasco con un descargador de apio. Cualquier cosa que pueda manejar que puede ejecutarlo, pero aquí hay algunas sugerencias sobre cómo ejecutarlo.
Heroku
La forma habitual de alojamiento Havarti es con Heroku, MongoHQ y S3.
& Nbsp; git clone git@github.com: jakebasile / Havarti.git && Havarti cd
& Nbsp; aplicaciones Heroku: crear cedro --stack
& Nbsp; addons Heroku: agregar mongohq: gratis
& Nbsp; config Heroku: añadir ALMACENAMIENTO = s3storage
& Nbsp; AWS_ACCOUNT_KEY_ID =
& Nbsp; AWS_SECRET_KEY_ID =
& Nbsp; MONGO_KEY = MONGOHQ_URL
& Nbsp; git maestro empuje Heroku
& Nbsp; escala Heroku web = 1 downloader = 1
También puede utilizar Rackspace Cloud File para almacenar la caché cambiando la línea config para:
& Nbsp; config Heroku: añadir almacenamiento = rackspacestorage
& Nbsp; RACKSPACE_USERNAME =
& Nbsp; RACKSPACE_KEY =
& Nbsp; MONGO_KEY = MONGOHQ_URL
Local
Tal vez usted no quiere ser un gato fresco y ejecutar Havarti en Heroku. ¿Desea ejecutar localmente. He aquí una manera de hacerlo. En primer lugar, instale Havarti algún lugar:
& Nbsp; virtualenv Havarti a instalar
& Nbsp; cd Havarti a instalar
& Nbsp; bin fuente / activar
& Nbsp; pip install supervisor de gunicorn Havarti
Esto instalará Havarti, Gunicorn y Supervisor para funcionar todo. Ahora, hacer un archivo supervisord.conf en este directorio:
[Unix_http_server]
file = supervisord.sock
chmod = 0777
[Rpcinterface: Supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface: make_main_rpcinterface
[Supervisord]
logfile = logs / supervisor.txt
loglevel = info
archivo pid = supervisord.pid
[Supervisorctl]
serverURL = unix: //supervisord.sock
[Programa: mongodb]
comando = mongod
stdout_logfile = logs / mongodb.txt
stderr_logfile = logs / mongodb-err.txt
priority = 1
[Programa: Havarti]
= comando bin / gunicorn -w 3 --preload -b 0.0.0.0:80 Havarti: app
stdout_logfile = logs / havarti.txt
stderr_logfile = logs / Havarti-err.txt
ambiente = ALMACENAMIENTO = localStorage
priority = 2
[Programa: apio]
= comando bin / --app apio = trabajador Havarti información -l
stdout_logfile = logs / celery.txt
stderr_logfile = logs / apio-err.txt
ambiente = ALMACENAMIENTO = localStorage
priority = 3
Esto supone que tiene MongoDB instalado previamente. Entonces, otra vez a este directorio, basta con crear los directorios necesarios y empezar Supervisor!
& Nbsp; mkdir registros
& Nbsp; sudo mkdir -p / data / db
& Nbsp; bin sudo / supervisord
Ahora puede controlar los procesos a través de supervisorctl. Echa un vistazo a la documentación del Supervisor para obtener más información sobre el mismo.
Uso
Havarti actúa como un proxy para PyPI, interceptando las peticiones de paquetes. Cuando se recieves una petición del paquete, se deduce un árbol de decisión simple:
- Se almacena en caché el paquete / versión?
- Sí: servir paquete en caché.
- No: Marca el paquete para el almacenamiento en caché, sirven paquete PyPI.
Cheques Havarti para nuevas versiones con cada petición, por lo que siempre son capaces de obtener la versión más reciente de lo que sea muy paquete que necesite (y luego la nueva versión se almacenan en caché a partir de entonces).
Descarga de
Sólo hay que sustituir tu URL Havarti índice cuando se utiliza la pipa. Su URL Havarti Index es donde alojaba Havarti + '/ i /', por ejemplo, 'Http://random-phrase-5000.herokuapp.com/i/'.
& Nbsp; pip instalar -i http://random-phrase-5000.herokuapp.com/i/ cosechar
Puede agregar esto a su pip.conf para salvar algunos golpes de teclado.
Carga
También puede cargar paquetes al Havarti directamente. Estos no serán empujados a PyPI, pero están disponibles para cualquier persona con la url Havarti. Para cargar, simplemente use su Havarti Subir URL con setup.py. Su Havarti Subir URL es donde alojaba Havarti + '/ u /', por ejemplo, 'Http://random-phrase-5000.herokuapp.com/u/'.
& Nbsp; python setup.py sdist carga -r http://random-phrase-5000.herokuapp.com/u/
. También puede configurar esto en un archivo .pypirc para ahorrar aún más las pulsaciones de teclado
Requisitos :
- Python
Comentarios que no se encuentran