Category Archives: General

開機時自動啟動 Go Web 應用程式 – Upstart 設定方式

補上篇,Go Web 應用程式需要在 Command Line 下啟動,在 Production 環境中我們可以在 Ubuntu 中使用 Upstart 設定為開機時自動啟動,設定如下:

file: /etc/init/go-http.conf

# Upstart Configuration
description     "Golang Web App"
author          "xxxxx xxx"

start on (net-device-up
          and local-filesystems
          and runlevel [2345])
          
stop on runlevel [016]

respawn

exec /path/to/http

然後就可以使用這個指令來啟動:

$ sudo service go-http start
go-http start/running, process 12537

Upstart 在 Ubuntu like 系統上是預設安裝的應用程式,在其他的 Linux 下可能需要另外安裝。設定好了之後重新開機時就會像一般的 Daemon 一樣自動啟動應用程式。這個設定會在網路已經啟用的狀況下才啟動你指定的程式,對於 Upstart 有興趣深入了解的朋友可以參考這篇:http://upstart.ubuntu.com/cookbook/

2014/2/15 [補充] Debian 與 Ubuntu 都將支持使用 systemd 而不再用 Upstart, 因此稍晚這篇要改成 systemd 的設定方式。

在 Apache 上使用 VirtualHost 的方式執行 Golang 的 Web 站台

主要是參考網路上的這一篇:http://www.jeffreybolle.com/blog/run-google-go-web-apps-behind-apache

作者給出了一個簡單的 Go Web 程式:

package main

import(
    "http"
    "log"
    "os"
)

const resp = `<html>
    <head>
        <title>Simple Web App</title>
    </head>
    <body>
        <h1>Simple Web App</h1>
        <p>Hello World!</p>
    </body>
</html>`

func handler(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte(resp))
}

func main() {
    http.HandleFunc("/", handler)
    err := http.ListenAndServe(":8080", nil)

    if err != nil {
        log.Println(err)
        os.Exit(1)
    }
}

這個 Web 程式主要是監聽 8080 Port,用 go build 之後得到的執行檔可直接作為 Web Server 運行。然後在 Apache 上安裝幾個 Module 後重啟 Apache。

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod rewrite
sudo service apache2 restart

接下來在 /etc/apache2/sites-available/ 目錄下建立 VirtualHost 的設定檔案 (gowebsite):

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName www.example.com
    ServerAlias example.com

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all

        RewriteEngine on
        RewriteRule ^(.*)$ http://localhost:8080/$1 [P,L]
    </Directory>
</VirtualHost>

接著在 Apache 啟動這個設定檔,將此 VirtualHost 設為啟動:

sudo a2ensite gowebsite
sudo service apache2 restart

整個過程就是在 VirtualHost 設定檔中設定此站台資料透過 Proxy Module 來由 localhost:8080 取得,當然這邊也可以同時在很多不同的 Port 中執行很多的 VirtualHost 站台。

筆記型電腦利用手機上網

以下的方法我只在 中華電信 (CHT) 進行測試,手機型號為 Sony Ericsson K600i,NB 是剛入手的 IBM X60 (藍芽內建)。雖然台北市聲稱是一個 WiFly 涵蓋的網路城,但是有些地方收訊並不好,找得到基地台訊號也不見得連得上,再者,評沽自己使用的次數可能屈指可數 (不是在家,就是在公司,否則也會在市中心附近),另外也有可能是在山區或郊區無法收到任何無線網路訊號的地方,由於某些情況下在外頭會有臨時需要上網的情況,這就衍生出使用手機上網作為臨時解決方案的念頭,以下是我的設定方式。

前提是電腦與手機已經配對成功,且已開啟藍芽裝置,[藍芽數據機] 會出現在 [控制台] 的 [電話和數據機選項] 中,

1) 點選該藍芽數據機 -> 內容 -> 進階,在 外加初始化命令中輸入: +CGDCONT=1,”IP”,”internet” 按下確定
2) 在 [我的藍芽中心][整個 Bluetooth Neighborhood] 中選擇你的手機裝置
3) 點選 Dial-up networking -> 撥號,此時使用者名稱與密碼不用輸入,撥號號碼輸入 *99# 進行撥號。
4) 連接成功!

電腦與手機間使用藍芽訊號溝通,所以手機有藍芽功能且使用中華電信網路的朋友可以試試。
PS. 沒有使用 IM 的話,記得關掉 SKYPE 或 MSN 之類的程式,因為吃封包量吃得挺兇的!!!
再 PS. 使用 3G 手機的朋友,記得 3G 網路要打開,也就是用 3G + GSM 的模式,不用只用 GSM,否則你會用 GPRS 連線,而不是 3G 連線,速度上是差很多的。

WinPT – Windows Privacy Tray

Windows Privacy Tray 是一個與 GnuPG 整合得不錯的前端程式,看它的名字就知道,這是一個在 Windows 平台上執行的程式,對於有需要使用到保密通訊的朋友很有幫助,不過據我自身的經驗,台灣使用 PGP 之類功能的朋友不多,就算你 Release 了你的 PGP Public Key,一年內也沒有幾封信是用 PGP 的方式交流的,先前使用過 PGP 商業版本的朋友也許對於免費版本的 PGP 覺得不太好用,但這套是值得一試的軟體,它有類似的 Key Management 功能,使用 GPG4Win 也能夠輕鬆的整合 Outlook 與 Thunderbird 之類的 Email Client,相信大量推廣能夠對訊息安全與個人隱私保護有很大的幫助。

新手建議直接使用 GPG4Win 直接安裝,裡頭已經包含了 WinPT 與 GnuPG for Windows 等的工具了。

GPG4Win http://www.gpg4win.org/
Windows Privacy Tray http://www.stud.uni-hannover.de/~twoaday/winpt.html

Welcome New Author: Jaofeng

怪頭 是老同學也同樣是技術專精者,從 VB 到 ASP, Perl, C# 及 Java Script 都有很好的造詣,因為我不想讓這裡單純的只是個人天地,他特別被請來幫忙這一個 Blog 灌水,讓這裡有更多適合的文章。

因為專案已經開始,很長時間沒貼東西了,有一個作者群應該可以讓這裡營養更充足,有意加入的朋友請來信囉~~

Gmail Notifier 官方版

Gmail Notifier 這個小工具安裝後可以替你檢查你的 GMail 信箱中是不是有新的信件,通知有新信時,只要雙擊小圖示就可以直接以瀏覽器連到 GMail 的 mailbox 讀信,作為一個信件通知軟體它算得上小巧,不過我在我的環境上使用有點小問題就是了: 每次開機,Gmail Notifier 太早進行檢查 (網路連線可能還沒在 Windows XP 啟動),然後呢,就產生了 Cannot connect to your mailbox. 這樣的問題,出現小驚嘆號,接著 — 要 Check Mail 還得再輸入一次Login name 跟密碼… -.-”

好吧~~ 只能期待下個版本會更好… 雖然已經有很多 3rd Party 的小工具,不過作為官方版本,相信日後使用的人還會很多才是… 🙂

Gmail Notifier
http://toolbar.google.com/gmail-helper/

Copyright © 2017. Powered by WordPress & Romangie Theme.