tips

nginx 使用 proxy_pass 讓後台 apache 處理 php 檔案

說句實話,nginx 的優異表現讓我很滿意。但是魚與熊掌不可兼得,在 php 等 cgi 的處理上必需使用 FastCGI 來做才可以,這意味著如果您需要 php 處理後端程式,就無法直接在 nginx 套用,而這一點在 Apache 上就贏了 nginx。

所以,在 nginx 裡我們可以設定若是遇到 php 的程式,可以 by pass 到 apache 去處理,讓 nginx 認真處理靜態檔案,由 apache 處理 php 後端動態程式。

Continue reading

nginx 簡易安裝與啟用

在 Web Service 方面,Apache 一直是選多人的第一首選,但是在於建置在上的系統越來越大,使用人數越來越多時,單一 Apache 好像很難通吃滿足各種需求,因此才會配合其它套件做不同的整合來達到不同修件需求。

nginx,跟 Apache 一樣是一個 HTTP 服務套件,但是在它對於靜態網頁檔案的處理有著優異的表現,這讓小弟對它的性能表現有寡目相看的感覺,以下是我選用 nginx 的理由:

  1. 對於靜態網頁檔案能更有效率的處理。
  2. 更好的行程處理,在高流量的網路請求也不會照成系統嚴重的負擔,小弟有台 Server 在做 download site 時,一次 1000 個連線(每個檔案 500MB以上)時,在 Apache 環境下五分鐘負載會爆到 20 以上,當換成 nginx 時卻只有 2 ~ 4,這是相差甚大的一個結果。
  3. 已經支援 Virtual Host 功能,早期版本似乎不支援 Virtual Host 功能,但現在已到了 1.1.0 版,你想要的都有了!

所以光是對於系統影響的因素就足過讓我選擇 nginx 的了,下面就來看看如何安裝並啟用。 Continue reading

Linux 使用 RAR 壓縮分割檔案

原本一個 2GB 的檔案要分成 250MB 的 RAR 分割檔, 可使用下列方法

steven $ rar a -m1 -v250M myfile_split.rar myfile

如此一來, rar 會自動把 myfile 分割成 myfile_split.rar.partXXX.rar

partXXX 後面會接檔案的分割編號, 還原時要每一個都在才行

使用 wget 取得 FileServe 檔案

先前不久小弟貼了一篇 使用 wget 取得 filesonic 檔案 的文件, 其實在大家熟悉的網路空間中, FileServe 也是最常被拿來使用的空間之一, 下面來說明如何使用 wget 取得 FileServe 檔案, 但前提仍是您必需要有會員資格才可使用喔!

steven $ curl --cookie-jar cookies.txt --data "loginUserName=login" --data "loginUserPassword=password" --data "autoLogin=checked" --data "loginFormSubmit=Login" http://www.fileserve.com/login.php
steven $ wget -c --load-cookies cookies.txt http://www.fileserve.com/abcd1234/FILE

原理一樣先把 cookie 存下來, 再使用 wget 去讀取, 如此就可以放著讓它慢慢抓了!

 

使用 wget 取得 filesonic 檔案

wget 的好用之處相信用過的人都會喜歡.

但是現在很多人都把檔案放在 filesonic 上, 就算你有買會員帳戶, 還是沒有辦法直接下載檔案, 其實是因為 filesonic 會先行查看 borwser 是否有已登入的 cookie 之訊, 如果沒有話就會重新導到下載頁面要求登入或等待下載

以下使用儲存 cookie 的方法, 來取得 filesonic 檔案, 當然前提是你要有會員帳戶囉 ~

Continue reading

查看檔案被誰咬住

若要查看某個檔案正在被哪個行程 lock 住, 可以使用如下方法

lab $ /sbin/fuser nohup.out
nohup.out:           19050 19051 19052 19055 19056 19057 19058 19059 19060 19061 19062 19063 19064 19065 19066 19069

這樣就會列出 nohup.out 正在被哪個 PID 所使用了!

用 find 找出需要的檔案轉由 tar 包裝

今天客戶要求把所有專案中的 jsp 全部撈出來備份 …

這想也知道如果目錄慢慢會開找死人

所以, 使用了 find 去撈目錄中所有的 jsp 檔案, 並轉到 tar 中包起來.

steven$ find ./ -iname '*.jsp' --print0 | xargs -0 tar -zcvf jsp_backup.tar.gz

然後, 這樣就可以輕鬆搞定了!

關鍵在於 find 的 print0 與 xargs 的 -0, 若不下該參數的話會照成 tar 接不到檔案名稱而失敗.

自動化 FTP 作業

最近的案子中, 需要把 Server 的資料經由 FTP 自動上傳到遠端主機做備份, 這裡使用了 FTP 的自動化作業

寫指令檔, 比方方在 /opt/backup/cmd, 然後內容就是在連 FTP 時的步驟, 只是一行一行先寫在這個 cmd 檔案裡.

open backup-server.example.com
user YOUR_ID YOUR_PW
cd /
mkdir backup_today
cd backup_tody
mput 1.zip
mput 2.zip
quit

以上的粗體字是你的連線和帳號密碼, 當然接下來就是你的 FTP 指令了。

編寫完成後, 只要執行

$ lftp -f /opt/backup/cmd

就可以喔! 真的很方便, 這個 cmd 檔案可以用 shell script 來產生, 就可以做更多的應用了!

htpasswd 更新已存在的 user 密碼

/usr/local/httpd/bin/htpasswd -bm .htpasswd ${1} ${2}

使用 script 可以大量/簡單的更新 user 帳號密碼 (存檔為 mod_pass.sh, .htpasswd 檔為你的帳密檔案)

#!/bin/bash
/usr/local/httpd/bin/htpasswd -bm .htpasswd ${1} ${2}

只要執行 ./mod_pass.sh steven newpass 既可

查看 DNS 查尋狀態

bind rndc 真是好用的東西.

使用下列參數可以開啟 Bind DNS 目前查尋的狀態:

開啟:

root # rndc querylog

然後它會把每筆 log 的資訊記錄在 /var/log/messages (預設)

root # less /var/log/messages

關閉:

root # rndc querylog

沒錯, 開啟和關閉是一樣滴 ~ 這樣就可以查出有誰在用你的 DNS 查東查西囉 XD

三月 2019
« 五月    
 123
45678910
11121314151617
18192021222324
25262728293031

Google ADs