Python on web

近日在研究Python base 的FrameWork Turbogears 。

它跟Django是差不多同個類型的Python base 框架,但TG(TurboGears)能做到的事也比Django強了不少,雖然我還沒完全去了解它,但跟它談感情己經是生米煮成熟飯的關係了,必需要完整個了解它才能駕輕就熟。

目前已經了解一半的架構,可以舉一反三的方式來層疊它的程式碼。

另外TG有內建自己的web server 「paster」,它是一個WSGI的啥米死人骨頭的強大玩意兒,可以在本機進行port 8080開發web 。

但是,未來要上線時若只用paster會嫌不太夠或是不太正式,因此希望能用apache的方式來跑TG的正式服務,而要能讓apache能執行python跟TG就是要用mod_wsgi這個外掛。

不過看到這滿是英文的文件讓我看沒幾分鐘眼睛就花了,所以就先放個書籤,再一步步的慢慢看了。

 

Apache 的 mod_rewrite

最近正想要重寫一套屬於自己實用的 PHP 框架,第一步重要的就是將 PHP 的 Reuqets 寫成一個有用的網址,讓這個新框架在未來變的比較實用。

如果你現在寫的PHP程式還在這網址寫成這樣:
[cc lang=”bash”]
http://www.aaa.cvom/news.php?id=12345
[/cc]
或是在寫購物車時是這樣寫:
[cc lang=”bash”]
http://www.aaa.com/product.php?id=123123
[/cc]
下單的購物車是這樣寫:
[cc lang=”bash”]
http://www.aaa.com/shoppingcart.php
http://www.aaa.com/pay.php
http://www.aaa.com/payok.php
[/cc]
告訴你,這樣寫實在是爛透了!!
Continue reading Apache 的 mod_rewrite

apr_sockaddr_info_get() failed for HOSTNAME

剛開始在FreeBSD安裝完Apache之後啟動沒成功訊息為 apr_sockaddr_info_get() 的錯誤,相關修正的方法就是去 /etc/hosts 裡變更您的 hostname ,起碼要改的一樣才會正常。

查詢機器自已的hostname
[cc lang=”bash”]
$ hostname
brabra.domain.com
[/cc]
然後編輯hots檔
[cc lang=”bash”]
$ vi /etc/hosts
[/cc]
然後變更相關的字樣要跟查詢到的hostname一樣
[cc lang=”bash”]
::1 localhost brabra.domain.com
127.0.0.1 localhost brabra.domain.com
[/cc]
然後重啟apache
[cc lang=”bash”]
$ apachectl start
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.
$_
[/cc]

然後去Browser測試..

It works!

apache的相關指令

在ubuntu上apache的一些停止與啟動的指令跟freebsd不太一樣

啟動指令:
[cc lang=”bash”]/etc/init.d/apache2 start[/cc]

停止指令:
[cc lang=”bash”]/etc/init.d/apache2 stop[/cc]

套用已修改的指令:
[cc lang=”bash”]/usr/sbin/apache2ctl graceful[/cc]

另外要啟用Rails的開發環境

啟用webrick(必需要進入目前正在開發的rails目錄下)
[cc lang=”bash”]script/server[/cc]

停止webrick
Ctrl + C

下指令停止webrick(該terminal視窗已經不見,或是背景執行)
[cc lang=”bash”]pgrep ruby
kill -KILL id[/cc]

apache 設定手札

今天送來的server 是 freebsd 但是apache仍有些地方尚未設定,應該是當初安裝時沒設定到,另外加上的參數有

AddType application/x-httpd-php .php
AddType application/x-httpd-php .cgi
AddType application/x-httpd-php-source .phps

DirectoryIndex 加上 index.php

NameVirtualHost 給註解掉,因為在<VirtualHost >的標籤中設定成為<VirtualHost _default_> 所以apache就不會再靠北了!

而且用virtualhost也能正常顯示另一個網站。

另外php5中預設定安裝的php extension沒有安裝mbstring所以打下指令安裝:

# cd /usr/ports/lang/php5-extensions

進入ports的目錄中

# make config

freebsd將顯示這多選項以供選裝

# make WITHOUT_X11=yes install

則重新啟動apache即把mbstring給成功載入

安裝ImageMagick

# cd /usr/ports/graphics/ImageMagick
# make config

還未完成,還需要能讓php支援imagemagick

# cd /usr/ports/graphics/php-magickwand
# make install

安裝完成之後重新啟apache即可戴入完成。

apache2.0 + php4.4.4的安裝手札

今天沒去台北拍攝101煙火。
原因是要忙這些主機設定的事。
過去安裝主機的作業系統以及程式編譯器都是靠下一步、下一步、下一步來完成的。
這次安裝新主機踢到鐵板,所以特別寫了手札讓自己知道一下。

可運作的環境
主機作業系統: win server 2003 r2 sp2
webserver : apache2.0
php : php 4.4.4 Continue reading apache2.0 + php4.4.4的安裝手札