Differences
This shows you the differences between two versions of the page.
| sterretje-cluster:appcluster-hosting_python [2016/10/10 16:29] – aangemaakt matthias | sterretje-cluster:appcluster-hosting_python [2026/05/27 14:01] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| Applicaties kunt u zelf plaatsen door ze op de upload-server in de | Applicaties kunt u zelf plaatsen door ze op de upload-server in de | ||
| juiste web-app directory neer te zetten. Het is ook mogelijk dit door | juiste web-app directory neer te zetten. Het is ook mogelijk dit door | ||
| - | NPO ICT te laten doen. Wij gaan er dan vanuit dat er 1 | + | NPO Hosting en Streaming |
| complete tar file aangeleverd wordt (bv dmv een url waarvan wij de | complete tar file aangeleverd wordt (bv dmv een url waarvan wij de | ||
| tar file kunnen downloaden). Vervolgens zullen wij de tar file | tar file kunnen downloaden). Vervolgens zullen wij de tar file | ||
| Line 10: | Line 10: | ||
| Het configureren van de passenger/ | Het configureren van de passenger/ | ||
| - | NPO ICT gedaan. Idem voor databases. | + | NPO Hosting en Streaming |
| Het configureren van de applicatie zal meestal in samenspraak tussen | Het configureren van de applicatie zal meestal in samenspraak tussen | ||
| - | NPO ICT en de sitebouwer gebeuren. Zaken waar NPO ICT zich | + | NPO Hosting en Streaming |
| mee bemoeit zijn: | mee bemoeit zijn: | ||
| - | * Database parameters '' | + | * Database parameters '' |
| - | de database wordt door NPO ICT aangemaakt. login namen en database | + | * Applicatie logfiles; Een python applicatie wordt geacht te loggen onder ''/ |
| - | passwords zijn daar eventueel op te vragen) | + | * tmpdir; De applicatie tmpdir van een applicatie X wordt geacht te zijn:· ''/ |
| + | * packages (modules); Binaire (gecompileerde) packages willen wij graag compileren om makkelijk software en OS upgrades uit te kunnen voeren. Overige modules worden geacht in de applicatie geïnstalleerd te worden | ||
| + | * current; De applicatie wordt geacht te staan in / | ||
| - | * Applicatie logfiles; | + | Bij initiële oplevering plaatst NPO Hosting en Streaming |
| - | Een python applicatie wordt geacht te loggen onder | + | |
| - | ''/ | + | |
| - | instanties hierin schrijven, maak een apart logfile voor elke instantie, | + | |
| - | neem bijvoorbeeld de uid op in de bestandnaam. | + | |
| - | + | ||
| - | * tmpdir; | + | |
| - | De applicatie tmpdir van een applicatie X wordt geacht te zijn· | + | |
| - | ''/ | + | |
| - | + | ||
| - | * modules; | + | |
| - | Binaire (gecompileerde) modules willen wij graag compileren om makkelijk | + | |
| - | software en OS upgrades uit te kunnen voeren. Overige modules worden geacht | + | |
| - | in de applicatie geïnstalleerd te worden.· | + | |
| - | + | ||
| - | * current | + | |
| - | + | ||
| - | De applicatie wordt geacht te staan in / | + | |
| - | waarbij '' | + | |
| - | + | ||
| - | Bij initiële oplevering plaatst NPO ICT een '' | + | |
| om een werkende set-up te kunnen tonen. | om een werkende set-up te kunnen tonen. | ||
| Deze kunt u uiteraard naar believen overschrijven of verwijderen. | Deze kunt u uiteraard naar believen overschrijven of verwijderen. | ||
| Line 58: | Line 40: | ||
| < | < | ||
| source / | source / | ||
| - | ptyhon | + | python |
| </ | </ | ||
| Indien gewenst kunnen wij hier meer environment variabelen in opnemen zoals | Indien gewenst kunnen wij hier meer environment variabelen in opnemen zoals | ||
| PYTHONPATH of DJANGO_SETTINGS_MODULE. | PYTHONPATH of DJANGO_SETTINGS_MODULE. | ||
| - | LET OP: de python-wereld kent zoiets als een virtualenv welke kan worden opgebouwd met ' | + | ==== pip install ==== |
| - | + | Zo maak je je eigen python | |
| - | Zo maak je je eigen python | + | |
| < | < | ||
| - | source /e/ap/X/rails/bin/env | + | source / |
| - | pip install | + | pip install --prefix=/ |
| </ | </ | ||
| + | Zie | ||
| + | [[https:// | ||
| + | voor meer details. | ||
| + | |||
| + | Vervolgens kan via '' | ||
| + | gevonden kunnen worden: | ||
| + | export PYTHONPATH=/ | ||
| + | of in geval van python3.6 | ||
| + | export PYTHONPATH=/ | ||
| + | |||
| + | LET OP: niet alle packages kunnen via "pip install" | ||
| + | worden, namelijk als er software gecompiled moet worden kan dat vaak | ||
| + | niet. In zo'n geval kan | ||
| + | NPO Hosting en Streaming een module samenstellen waar de gewenste packages in zitten. | ||
| + | Deze wordt dan beschikbaar gesteld via | ||
| + | ''/ | ||
| + | en middels het zetten van '' | ||
| + | |||
| + | ==== virtualenv / pyvenv ==== | ||
| + | De python-wereld kent zoiets als een virtualenv welke kan | ||
| + | worden opgebouwd met ' | ||
| + | Voor python-3 geldt dat dit probleemloos kan. | ||
| + | |||
| + | Voor python-2[.7] is het zo dat virtualenv een kopie van de python | ||
| + | binary maakt. Dat is op zich geen probleem, totdat er een upgrade van | ||
| + | python langskomt. In zo'n geval kan het voorkomen dat de virtualenv na | ||
| + | de upgrade niet meer werkt. Voor python-2 omgevingen adviseren we om | ||
| + | als er vanuit NPO Hosting en Streaming python upgrades aangekondigd worden na de upgrade | ||
| + | de virtualenv opnieuw aan te maken, om er zeker van te zijn dat deze | ||
| + | goed blijft samenwerken met de ge-upgrade python versie. | ||
| + | |||
| + | ==== python versies op het systeem ==== | ||
| + | Zoals hierboven uitgelegd koppelen we meestal een python binary 1-op-1 | ||
| + | aan een website. Deze staat voor website X dan in | ||
| + | / | ||
| + | Als je in beter kijkt zie je dat die niet een echte binary is, maar een | ||
| + | shellscript waar ''/ | ||
| + | echte python binary geëxecuteerd wordt. In ''/ | ||
| + | de locatie van de eigenlijke python binary en eventueel de locatie van | ||
| + | extra packages die nodig zijn voor website X. | ||
| + | |||
| + | De locatie van de eigenlijke python binary is voor python-2 installaties | ||
| + | is meestal | ||
| + | / | ||
| + | of | ||
| + | / | ||
| + | voor python-3. | ||
| + | |||
| + | Waarbij / | ||
| + | zijn naar een zeer kale standaard python installatie, | ||
| + | alleen '' | ||
| + | |||
| + | Op die manier kan men zelf middels '' | ||
| + | installeren **en** kan NPO Hosting en Streaming onderhoud op python uitvoeren door | ||
| + | / | ||
| + | versie te laten wijzen (b.v. van Python-2.7.13 naar Python-2.7.14) | ||
| + | zonder dat de bestaande '' | ||
| + | behoeven. | ||
| + | |||
| + | Naast / | ||
| + | / | ||
| + | meekomt en door componenten in het OS gebruikt wordt. Deze is niet | ||
| + | geschikt om webhosting mee te doen en kan hier dus beter niet voor | ||
| + | gebruikt worden. Om te voorkomen dat deze versie per ongeluk toch | ||
| + | gebruikt wordt is het zaak om altijd | ||
| + | source / | ||
| + | te doen zodat de juiste versie van python op het systeem gebruikt wordt. | ||
| + | ==== Herstarten applicatie ==== | ||
| Het herstarten van de applicatie kunt u zelf veroorzaken door een '' | Het herstarten van de applicatie kunt u zelf veroorzaken door een '' | ||
| ''/ | ''/ | ||