Tuesday, March 30, 2010

Python web server суулгах

Ubuntu linux хэрэглэгч бол Localhost дээрээ python вэб сервер ажиллуулах талаар бяцхан тайлбар оллоо. Хэрэг болно байх гэж найдаж байна :)

Юун түрүүнд тооцоолуур дээр тань python суусан байх шаардлагатай. Ubuntu дээр бол цаанаасаа суучихсан ирдэг. Шаардлагатай бол

sudo apt-get install python

Дараа нь Apache сервер суулгасан байх шаардлагтай (Apache mod_python).

Суулгахдаа:

sudo apt-get install libapache2-mod-python

Одоо энэ хэсэгт жаахан анхаарал шаардах тохиргоо хийгдэнэ.

cd /etc/apache2/sites-available/

sudo gedit default

default нэртэй файлыг нээгээд

Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all

мөрүүдийг хайж олно(Минийх дээр AllowOverride AuthConfig биш AllowOverride None гэж байсан. Тэр чигээр нь орхих нь зөв болов уу). Харин үүнийг дараах байдалтай болгож өөрчилнө. (Доор нь 3 мөр код нэмж бичнэ)

Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all

AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On

болгож өөрчлөөд хадгална. Одоо серверээ ажиллуулж шалгаж үзье.

test.py файлд дараах кодыг бичээд /var/www хавтсанд хадгал. Ерөнхийдөө энэ хавтсанд манай project-ууд хадгалагдана гэсэн үг.

def index(req):
      return "Test successful";

тэгээд цахим хөтөчийхөө(web browser) хаягийн мөрөнд http://localhost/test.py хаягийг өгөөд ажилуулаад үзэхэд "Test successful" тэмдэгт мөр хэвлэгдэж байх ёстой. Тэгвэл бүх ОК гэсэн үг ;)

Зарим тулгарч болох асуудал, түүний шийдлүүд

/var/www хавтасны хандах эрх (permission) тохироогүйгээс файл хадгалах, ажилуулах явцад бэрхшээл учирч болох юм.


sudo chmod -R 777 /var/www

командаар permission-г өөрчлөхөд хангалттай.

Apache mod_python server-ээ зогсоох эхлүүлэхдээ

sudo /etc/init.d/apache2 start

sudo /etc/init.d/apache2 stop

Хэрэв та хүсвэл дурын хавтсыг localhost-оо болгон зааж өгч, тэндээ project-уудаа хадгалахаар тохируулж өгч болно. Жишээ нь $HOME/MyProjects/Python/Web гэдэг ч юм уу.

Үүний тулд:

sudo gedit /etc/apache2/apache2.conf

командаар apache2.conf файлыг нээгээд

Alias /python/ /home/usr/Documents/Host/lab/python/

AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On

/home/usr/Documents/Host/lab/python/-ын оронд өөрийн хүссэн замаа зааж өгнө. Энэ хавтсандаа test.py файлаа хадгалаад ажилуулаад үзэхэд болох учиртай. Амжилт хүсье :)

4 comments:

Anonymous said...

Баярлалаа их хэрэг боллоо.

idioteque said...

Энэ пайтон дээр youtube google энэ тэрийг хийдэг гээд байгаам даа

Anonymous said...

bayarlalaa ashigaj server tohiruulsan shuu goe bolj working 100%

Beck said...

hi windows server deer yaj suulgakh ve?

:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))

Post a Comment