TDP005 Projekt: Objektorienterat system
Att få portfolion på webben
Att få portfolion på webben..
För att få igång er portfolio så att den ligger igång "permanent" måste ni följa några enkla steg:
OBS: Ersätt liu-id med ert egna LiU-användarnamn i kommandona nedan!
- Kör kommandot
sudo gem install rhc
- Kör kommandot
rhc setup -l liu-id --server openshift.ida.liu.se
Välj 'yes' och använd lösenordet till ditt liu-id, samt använd ditt liu-id som namespace
- Kör kommandot
rhc create-app portfolio python-3.3
- Kör kommandot
cd portfolio
- Konfigurera setup.py. Lägg till
install_requires=['Flask'],
- Commit'a, push'a.
- Kör kommandot
rhc show-app portfolio
Hitta URL'en till er portfolio i utskriften och öppna en webbläsare till den
- I en ny terminal, kör kommandot
rhc tail portfolio
Det här låter er följa fel-loggen på webbservern till er hemsida. Låt den stå igång i en terminal medans ni arbetar vidare!
- Merga eller kopiera nu in er existerande portfolio i samma katalog. Ni kan göra det genom att direkt git pull'a in ert repo från TDP003 till portfolio-katalogen. Huvudsaken är att er server.py ligger i samma katalog som wsgi.py.
- Kontrollera så att innehållet i wsgi.py stämmer (Se nedan). Du kan behöva raderna längst ner så de importerar från rätt fil för just er portfolio.
- Commit'a, push'a, testa om det fungerar i webbläsaren
- Vid fel, kolla loggen via rhc tail. Ni kan behöva uppdatera er kod att använda openshift-variablerna som anger var ni ska lagra er data och var er kod ligger.
- Ett potentiellt problem är att teckenkodningen på openshift-systemet kan skilja sig från det ni har lokalt. Ni kan behöva ange hur filerna är encodade när ni öppnar dom, t.ex. med
open(filename, encoding='utf-8')
. Det brukar behövas i data.py bland annat, när er JSON-data laddas in. - För att uppdatera er portfolio, behöver ni nu bara ändra lokalt, commit'a och push'a. Nice!
wsgi.py
#!/usr/bin/python3 import os virtenv = os.environ['OPENSHIFT_PYTHON_DIR'] + '/virtenv/' virtualenv = os.path.join(virtenv, 'bin/activate_this.py') try: with open(virtualenv) as f: code = compile(f.read(), virtualenv, 'exec') exec(code, global_vars, local_vars) except IOError: pass # # IMPORTANT: Put any additional includes below this line. If placed above this # line, it's possible required libraries won't be in your searchable path # import os os.chdir(os.environ['OPENSHIFT_REPO_DIR']) from flask_server import app as application
Sidansvarig: Jonas Lindgren
Senast uppdaterad: 2015-12-15