python web serveryje

S
  • 24 Kov '10

Sveiki,
Turiu VDS'' ą ir bandau ten paleisti svetainę naudojant pitoną ir django.
Ar norint tai padaryti būtinai reikia pasidaryti .py failų apdorojimą naršykle (keičiant Apache konfiguraciją)? Gal galima kažkaip su CGI išsiverst?

Būčiau labai dėkingas, jei kas turėdamas laiko galėtų brūkštelt kelis sakinius apie tai

S
  • 24 Kov '10

Viskas apie tai ko klausi yra surašyta čia:
http://docs.djangoproject.com/en/1.1/howto/deployment/

Rekomenduojamas variantas yra WSGI (Python Web Standartas):
http://docs.djangoproject.com/en/1.1/ho ... t/modwsgi/

Tai siūlau, taip kaip ten parašyta ir daryti.

Jei trumpai, tai tau reikia susikurti .wsgi failą, kurį nurodyti Apache'ui, o failo turinyje nurodysi kaip ir kur paleisti Django.

Statiniams failams paduoti, taip pat gali naudoti Apache, nurodydamas kur tie failai guli ir kur juos paduoti.

Žodžiu skaityk, kas ten parašyta ir daryk kaip liepiama. Jei kažkas bus neaišku, klausk.

S
  • 24 Kov '10

bandant įsirašyt mod_wsgi kilo klaida:

Error: Missing Dependency: httpd-devel is needed by package mod_wsgi-python26
Error: Missing Dependency: rtld(GNU_HASH) is needed by package python26-libs
Error: Missing Dependency: libcrypto.so.6 is needed by package python26
Error: Missing Dependency: libc.so.6(GLIBC_2.4) is needed by package python26-libs
Error: Missing Dependency: libffi.so.5 is needed by package python26
Error: Missing Dependency: libdb-4.3.so is needed by package python26
Error: Missing Dependency: rtld(GNU_HASH) is needed by package python26
Error: Missing Dependency: libc.so.6(GLIBC_2.4) is needed by package python26
Error: Missing Dependency: libssl.so.6 is needed by package python26
Error: Missing Dependency: libreadline.so.5 is needed by package python26

gal įmanoma šituos pašalint kažkaip greit ir neskausmingai? kaip suprantu čia trūksta bibliotekų.

S
  • 24 Kov '10

O kaip bandei įsirašyti mod_wsgi?

S
  • 24 Kov '10

yum localinstall mod_wsgi-python26-2.6-3.ius.el5.src.rpm

Ar ne taip supratau aš kažką?

S
  • 24 Kov '10

Kaip suprantu naudojiesi CentOS? Deja negaliu padėti, nes su RPM paketais teko susidurti mažai.

Gal bandyk įdiegti ne iš RPM paketo, o iš repozitoriumo?

S
  • 24 Kov '10

jo, ten sukasi centos.
dėkuj, bandau susirašyt. Jei kam dar reiktų tai manau puikus tutorial'as:
http://blog.perplexedlabs.com/2008/11/10/setup-python-25-mod_wsgi-and-django-10-on-centos-5-cpanel/

S
  • 24 Kov '10

dar viena problemėlė. Gal galėtum pagelbėt kaip load'int tas bibliotekas. Veiksmas vyksta:
/root/mod_wsgi-2.3
Biblioteka yra:
/opt/python2.6/lib

Klaida kyla kai ./config bandau leist
./configure --with-python=/opt/python2.6/bin/python

Klaidą tokią meta
/opt/python2.6/bin/python: error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory
/opt/python2.6/bin/python: error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory
/opt/python2.6/bin/python: error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory
/opt/python2.6/bin/python: error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory

Sumečiau į usr/lib bibliotekas tas, suveikė

S
  • 24 Kov '10

kažkokia klaida dar. Kas gali būt jei nueini į puslapį o jį krauna, krauna... Ilgai krauna. Ir neranda.

S
  • 24 Kov '10

viskas, buvo vienas path neteisingai nurodytas. Didžiulis AČIŪ už nurodymą naudot mod_wsgi. Ir šiaip ačiū už patarimus

A
  • 24 Kov '10

man tai čia kosmosas

S
  • 30 Kov '10

sveiki dar kartą.

iškilo tokia problemėlė. Į django settings.py suvedus prisijungimus prie duomenų bazės, išmeta Internal Server Error klaidą. Pasižiūrėjus į apache log'ą štai ką rašo: [warn] RSA server certificate CommonName (CN) `localhost' does NOT match server name!?

Kas įdomiausia - python manage.py syncdb veikia kuo puikiausiai.

Ačiū už pagalbą

S
  • 31 Kov '10

Keistas atvejis. Kaip suprantu pas tave Apache sukonfigūruotas veikti su https?

Sprendžiant iš klaidos pranešimo, tai Django čia niekuo dėtas, tuo labiau, jei syncdb veikia.

S
  • 31 Kov '10

Pasirodo buvau šiek tie suvėlęs su python instaliacijom. mysqldb buvau įrašęs į /opt/python2.6/*, o serveris kreipėsi į /usr/local/python2.6/**. Tada prisijungus prie konsolės į jos path matyt buvo įtraukiamas mysqldb, o į serverio kreipinius jau ne.
O su tom ssl klaidom apache tai ten gal kokie kiti puslapiai mėtė, svarbiausia viskas veikia

S
  • 31 Kov '10

Šiaip tai geriausia Python aplikacijas visokias leisti virtualenv aplinkoje, tada užtikrinamas „consistency“.