Jestem kompletnym nowicjuszem, jeśli chodzi o sysadmin/wdrożenie. Oto, co mam nadzieję osiągnąć:Jak wdrożyć witrynę WordPress i witrynę Django w tej samej domenie?
- Domena domena.com to normalna witryna WordPress.
- Mieć domenę domain.com/app lub app.domain.com jako aplikację webową Django.
- Hosting na Linode.
- Szybkie i łatwe aktualizacje kodu webapp Django.
Z tego, co mogę powiedzieć, gunicorn to elegancki sposób na serwowanie aplikacji webowej Django, podczas gdy WordPress pasuje najbardziej naturalnie dzięki Apache. Tymczasem nginx jest zalecany jako proxy przed gunicornem i wydaje się być również wykorzystywany do poprawy wydajności stron WordPress.
Więc myślę, że to: użyj nginx jako serwera proxy, który kieruje wszystkie przychodzące żądania sieciowe do gunicorn (dla wepapp Django) lub Apache (dla strony WordPress). Host Linode będzie mógł jednocześnie uruchamiać nginx, gunicorn i Apache.
W międzyczasie, aby zaktualizować aplikację webową Django, mogę po prostu zaktualizować najnowszą wersję kodu poprzez github.
Czy to wszystko ma sens? Czy rozumiem nawet koncepcyjnie poprawnie? Albo całkowicie szczeka złe drzewo? (Na przykład czy mogę/powinienem użyć pojedynczego serwera Apache do kierowania żądań do WordPressa lub aplikacji Django na podstawie adresu URL?) Jakie problemy i problemy powinienem mieć na uwadze, badając, jak sprawić, aby działało to ładnie i bezproblemowo?
UPDATE: Mam side-podszedł wszystko to przez (1) za pomocą Heroku gospodarzem mojej aplikacji Django, (2) przy użyciu rekordu CNAME do map app.domain.com do Heroku-hosted aplikacji Django i (3) pozostawienie (na razie) strony WordPress na istniejącym hoście na stronie domain.com. Na szczęście, po uzyskaniu nowego szacunku dla administratorów sysadmins i db db, gdy badałem to wszystko, teraz mogę wrócić do kodowania!