嵌入式就是這麼奇妙!nginx 在 x86 可以穩穩跑、在 ARM-based 的 linux 也能穩穩跑,但是在 LOA 上頭就是會收到 signal 7 訊號而掛掉!
最後則是想要編 debug 訊息來用,意外發現 -O0 時就一切正常了!
故,最佳化這種事,還是小心為妙。
2013年7月29日 星期一
Scripting Nginx with Lua (lua-nginx-module) 筆記 @ Linux
最近常用 nginx 開發服務,接著又碰碰 lua 的部分,十分彈性。接下來,移植到 ARM 裝置後,就開始進入 debug 模式 XD 需要追蹤一些 requests 的流向,又想到 lua 啦
nginx-test.conf
/tmp/nginx_lua.log:
Web:
如此一來,當 request 進來時,可以查看 /tmp/nginx_lua.log 看看到底走了幾個 requests,留意項目:
nginx-test.conf
location /lua {
default_type 'text/plain';
content_by_lua '
local currtime = ngx.localtime()
local file = io.open("/tmp/nginx_lua.log", "a");
file:write(currtime, "\\t", ngx.var.uri, "\\n");
file:write("\\t", ngx.var.args, "\\n");
file:close();
ngx.print(currtime, "\\n");
ngx.print(ngx.var.uri,"\\n");
ngx.print(ngx.var.args,"\\n");
--ngx.print(ngx.var.request_body, "\\n");
';
}
/tmp/nginx_lua.log:
2013-07-29 04:19:07 /lua
a=1&b=c&d
Web:
2013-07-29 04:19:07
/lua
a=1&b=c&d
如此一來,當 request 進來時,可以查看 /tmp/nginx_lua.log 看看到底走了幾個 requests,留意項目:
- 在 content_by_lua 中,要印出 newline 必須用 ngx.print( "\\n" ) ,但如果是在 access_by_lua_file 中,只需 ngx.print( "\n" ) 即可。
- 註解是用 "--" 而非用 "#" 或 "//" 開頭
標籤:
實作筆記
2013年7月27日 星期六
使用微軟 Windows Live 管理中心免費郵件託管服務
想說前陣子買的 domain 該好好把玩一下,就想到 Mail server 服務啦。若曾架過站,應該不難體會維護一台機器、甚至一台 Mail server 是多重的任務了 XD 更別說中毒、被駭之後的處理流程等。所以,就先看看市面上有什麼好用的資源,除非不得已不然就不自己架站 :P
前陣子用過 Google Apps for Business 了,這次就改用微軟 Windows Live 管理中心吧!其實我沒特別討厭微軟,至從我用 MBP 被我操到常常出現多國語言的招呼聲或是瞬間登出等奇異現象後,我覺得微軟其實沒那麼糟 XDD
首先進入 https://domains.live.com 網頁後,點選"馬上開始":
輸入一些資料後,即可進入郵件託管設定頁面,首要之事就是(必須欄位)的設定,其實也真的只要設定這欄就好。
接著就是要去設定 DNS MX record 的部分,由於我是使用 Namecheap 服務,所以可以直接在 Namecheap 網站上設定完,十分便利(可參考 Namecheap - How can I set up MX records for my domain?):
如此一來,在切回 Windows Live 管理中心,點選"立刻更新"後,就會看到畫面更新為以下狀態,可以從 live.com 用自己的 email address 登入囉!
最後一提的,建立好的信箱可以用 POP3 協定收信囉:
POP3: pop3.live.com:995 (是否加密:Yes)
帳號:完整的 Email address (如:user@yourdomain.com)
2013年7月22日 星期一
[LOA] Linux on Android @ Android 4.x
圖片來源:Complete Linux Installer
最近把玩 Linux on Android (LOA),這的確是個還不錯的架構:
Complete Linux Installer - https://play.google.com/store/apps/details?id=com.zpwebsites.linuxonandroid簡單流程:
- Android 裝置要先 root 過
- 在 Android 裝置上跑 busybox 建制相關環境
- 採用 chroot 切換到 linux image 運行
更多細節:
# cat /data/data/com.zpwebsites.linuxonandroid/files/bootscript.sh其中運行最關鍵的是 busybox 這隻程式,安裝 Complete Linux Installer 有機會碰到 busybox 不能跑,需要自行把它編譯出來喔。看到 LOA 這等應用我才發現 busybox 還真的不是普通威啊! !
標籤:
實作筆記,
Android,
AndroidBoard
error: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none while accessing https://code.google.com @ Ubuntu 12.04
最近在 Linux on Android 環境下,用 git 取東西時,發現了這個現象:
error: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none while accessing https://code.google.com/p/xxxxx/info/refs解法:
$ export GIT_SSL_NO_VERIFY=1如此再接著用 git clone 或 git submodule update --init --recursive 就能搞定 :P (但處理的過程其實不好 XD 算閉眼不管這個問題)
2013年7月17日 星期三
壓縮 VirtualBox OVA 大小 @ Ubuntu 12.04
之前不知是不是從 OVA 檔 import 出來的 VM 環境沒挑好?建立 VM 時,儲存部分採用 vmdk 格式,接著用了一陣子後,雖然 Guest OS 的空間只用了不到 8GB ,但匯出 OVA 檔案卻高達 2x GB 大小。
找了一下解法,大概就是儲存格式從 vmdk 轉成 vdi 格式,接著再匯出 OVA 時,就能得到壓縮後的成果。
做法:
找了一下解法,大概就是儲存格式從 vmdk 轉成 vdi 格式,接著再匯出 OVA 時,就能得到壓縮後的成果。
做法:
- 將 Guest OS 關機
- 從 VirtualBox 管理界面將 Guest OS 的 VMDK 卸下
- 使用 VBoxManage 將 VMDK 格式轉成 VDI 格式
- 重新掛上 VDI 格式
- 重新 Guest OS 測試無誤後,就可以關機並匯出 OVA
$ cd / && cat /dev/zero > zero.fill ; sync ; sleep 1 ; sync ; rm -f zero.fillVBoxManage 指令:
$ vboxmanage clonehd --format VDI /path/input.vmdk /path/output.vdi如此一來,壓成 OVA 時,就小非常多。(此例從 vmdk 的 2xGB OVA 檔,縮到 vdi 的 5GB OVA)
2013年7月13日 星期六
[Raspberry Pi] 使用 Raspbmc 之 PPStream 播放影音
前陣子買的 Raspberry Pi 是為了工作用途,但隨著工作越積越多後,漸漸地來越沒時間來處理 Pi 裝置,上次放假索性就把玩了 Raspbmc 與 AirPlay ,但除了 iOS YouTube app 外,其他家寫的 iOS app 效果不好,如 PPS、風行網,接著我有好一陣子沒把玩了。
想著想著總覺得不對啊,應該有人整合好 PPS on Raspberry Pi 才是,隨意 Google 真的有看到 XD 正是在 Raspbmc 上啊,我才發現 Raspbmc 有 plugins 架構,例如觀看 ESPN Video、YouTube 等,至於 PPStream 呢?雖然預設不在列表上,但偉大的中國人就是會補完它!
真正用過 plugins 後,有感偉大的軟體都是在搞 framework ,讓我回想起當兵那時,上頭的長官都要求朝 framework 方式進行,讓鄉民們幫你自動補齊功能!
簡單帶一下安裝過程:
- 將 Raspberry Pi 裝上 Raspbmc
- 在 xbmc-addons-chinese 下載 xbmc-addons-chinese
- 在 Raspbmc 安裝 xbmc-addons-chinese
- 在 Raspbmc 安裝 PPStream
xbmc-addons-chinese:
在 Raspbmc 安裝 PPStream:
如此一來,就可以切回首頁,點選 Videos 時,右下方有附加元件,就可以開啓 PPStream 來使用!若要說優點嘛,那就原先在 iOS app 上被擋掉的節目可以觀看 XDDD 缺點就是操作很不方便,要用滑鼠點,且滑鼠在這類裝置用起來很卡,並且搜尋要輸入片名也很不方便。
XBMC媒体中心的中文扩展功能脚本、插件、皮肤(Addon scripts, plugins, and skins for XBMC Media Center)
只需到 https://code.google.com/p/xbmc-addons-chinese/downloads/list 下載 repository.googlecode.xbmc-addons-chinese-eden.zip 或 repository.googlecode.xbmc-addons-chinese-dharma.zip 回來即可。對一般人最簡單的方式應該是放進隨身碟,接著插入 Raspberry Pi 裝置中,若你愛好指令模式,倒也可以用 ssh pi@device_ip (default password: raspberry) 後,用 wget 下載好也行,安裝過程可以選擇從 USB 隨身碟或是檔案系統。在 Raspbmc 安裝 xbmc-addons-chinese:
系統設定 -> 附加元件 -> 從 zip 檔案安裝 -> USB 隨身碟 -> 選取剛剛下載的 repository.googlecode.xbmc-addons-chinese-xxx.zip
在 Raspbmc 安裝 PPStream:
系統設定 -> 附加元件 -> 取得附加元件 -> 全部附加元件 -> 視訊附加元件 -> 往下一直逛就會看到 PPStream 啦(還有PPTV、快播、土豆網、風行網等等)
如此一來,就可以切回首頁,點選 Videos 時,右下方有附加元件,就可以開啓 PPStream 來使用!若要說優點嘛,那就原先在 iOS app 上被擋掉的節目可以觀看 XDDD 缺點就是操作很不方便,要用滑鼠點,且滑鼠在這類裝置用起來很卡,並且搜尋要輸入片名也很不方便。
2013年7月6日 星期六
做擅長的本業
台北是一個集結台灣許多資源的地方,多到變成一個干擾的環境。例如捷運很便利,但不是每個目的地都必須選擇捷運,反而刻意搭捷運會耗掉一些成本。這讓我回想了資訊業,現況集結了許多未來性的方向,但如果公司資源沒法善用,反而成了無形的內耗模式。
我覺得,能夠做擅長的事是幸福的,但能夠挑戰不擅長的領域也是另一種的快活。如果面對的是一間公司的營運,那就必須考量人力成本,這是很現實的問題。
變化急倏的資訊業中,我相信還是有擅長的、容易顯示出自己價值的路可以走的!不需人云亦云,但也記得不要一直擁抱過去的成果,那些過去不錯的經驗是可以傳承的,卻不代表能那時的成果在現在的時空背景能夠存活下來。
標籤:
冗長碎碎唸
訂閱:
文章 (Atom)