又拍云存儲同步腳本

2013年10月7日 2 條評論

本blog使用的服務器是AWS EC2,選用節點位于日本,所以訪問速度只能說湊合。前段時間把網站上的css、js以及圖片等靜態資源放在又拍云存儲上,訪問速度明顯提高不少。由于網站沒有備案,所以不能使用自己的域名來直接訪問又拍云存儲上的內容,只能通過又拍云存儲的三級域名來訪問。

實現大致步驟如下:

1、注冊并激活又拍云賬號;

2、登入后在“操作員管理”中添加一個賬號,賬號在ftp中會使用到;

3、“空間管理”中創建一個空間,注意最好是選擇“文件類空間”,因為“圖片類空間”只支持存儲圖片,甚至swf都不能存放;

4、空間授權到一個管理員上,在“獲取FTP帳號信息”中可以得到ftp的用戶名,注意用戶名實際上是由管理員名稱和空間名稱組成;

5、同步文件到又拍云上;

6、自己動手修改wordpress(聽客服說有插件,我沒有使用,自己動手豐衣足食,關鍵是修改的地方不太多),大功告成。

又拍云雖然沒有提供rsync的方式,但是通過lftp也能做到自動同步。本站使用的同步腳本如下(本站運行在Linux上):

#!/bin/bash

HOST="v0.ftp.upyun.com"
USER="Your FTP Username"
PASS="Your FTP Password"
LCD="Your Website Root Dir"
RCD="/"

lftp -c "open ftp://v0.ftp.upyun.com
user $USER $PASS;

lcd $LCD;

cd $RCD;

mirror --reverse --delete --dereference --verbose \
--exclude-glob=*.php \
--exclude-glob=*.txt \
--exclude-glob=*.xml \
--exclude-glob=*.htm \
--exclude-glob=*.html \
--exclude-glob=*.gz \
--exclude-glob=*.psd \
--exclude-glob=*.mo \
--exclude-glob=*.po \
--exclude-glob=*.pot \
--exclude-glob=arthemia/ \
--exclude-glob=ad/ \
--exclude-glob=report/ \
--verbose
;
"

上述腳本需要根據自己的實際情況修改,比如用戶名、密碼以及網站的根目錄。注意:參數“-c”后面的引號對應的是最后面的那個引號,exclude-glob排除文件,讓其不同步到又拍云上,可以是具體的文件或者目錄。

分類: 其它 標簽:

安裝chrome開發版

2013年10月4日 沒有評論

今天(2013-10-04)開始,mac os 下的chrome突然狂崩潰,用著用著就退出了,發現chrome自己自動更新到最新版本30了。在網上查了一下,發現很多人有這樣的問題,嘗試過重新下載再按照,問題依舊。應該是這個版本有問題,所以想升級到最新的開發版,升級的方法是,訪問https://www.google.com/intl/zh-CN/chrome/browser/index.html?extra=devchannel#eula,會提示下載保存,下載完DMG文件后安裝即可。目前使用開發版一段時間,沒有發生崩潰的現象。

分類: 其它 標簽:

nginx add header 指令

2013年9月22日 沒有評論

nginx配置文件通過使用add_header指令來設置response header,response header一般都是以key:value的形式,例如:“Content-Encoding:gzip、Cache-Control:no-store”,設置的命令為:

add_header Cache-Control no-store
add_header Content-Encoding gzip

但是有一個十分常用的response header比較特性,就是Content-Type,可以在它設置了類型的同時還會指定charset,例如:“text/html; charset=utf-8”,由于其存在分號,而分號在配置文件中作為結束符,所以在配置的時候需要用引號把其引起來,配置如下:

add_header  Content-Type 'text/html; charset=utf-8';

另外由于沒有單獨設置charset的key,所以要設置響應的charset就需要使用Content-Type來指定charset。

分類: nginx 標簽: ,

js 阻止事件冒泡

2013年9月22日 沒有評論

綁定在dom對象上的事件存在冒泡的特性。有時候不希望事件冒泡,就需要對默認的冒泡處理進行阻止。純js的做法是:

function stopBubble(e) {  
    if (e && e.stopPropagation) {     //非IE  
        e.stopPropagation();  
     } else {                        //IE  
         window.event.cancelBubble = true;  
    }  
}

如果使用jquery庫的進行綁定dom的事件,處理方式則為:

$(selector).click(
    function(event){  
        event.stopPropagation();
        //do somethine
    }
);
分類: web前端 標簽:

HTC G7 屏幕不會自動待機

2013年8月25日 沒有評論

我的HTC G7以前屏幕待機都是正常的,這幾天發現晚上充電的時候屏幕一直亮著,檢查設置,待機時間已經設置為1分鐘,以前也出現過類似的情況,通過重啟機器問題就解決了,今天重啟后還是老樣子。在網上找了一圈,也沒有發現太多有用的價值,突然想起來前幾天別人用我的手機調試過應該,當時在手機里修改過設置。查看手機,在 “設置 — 應用程序 — 開發” 中發現有一個設置項”保持喚醒狀態“ 是選中狀態,取消選中狀態,等待一分鐘后屏幕自動進入待機狀態,問題得已解決。

分類: 其它 標簽:

css3 box-shadow

2013年8月24日 沒有評論

利用box-shadow屬性可以給塊對象添加一個或多個陰影,支持該屬性的瀏覽器有IE9+、Firefox 4、Chrome、Opera 以及 Safari 5.1.1,其用法為:

box-shadow: x-offset y-offset blur spread color inset;

上述六個參數含義依次是水平方向的偏移(正值向右偏移,負值向左偏移)、垂直方向的偏移(正值向下偏移,負值向上偏移)、模糊距離、陰影的尺寸(擴展尺寸)、陰影的顏色以及陰影類型(默認是外陰影,使用inset表示為內陰影)。除了第一和第二個參數是必須的,其他的都是可選參數。當使用參數“0 0px 10px #333”時,注意第三個參數為陰影的模糊距離。

由于參數本身就多,而且還可以變,下面通過一些例子來加深一下理解。

先來看看什么是陰影,下面通過四個寬和高都為70px的div,使用如下box-shadow來看看顯示效果:

#d1 { box-shadow:0 0 0px #333;}

#d2 { box-shadow:70px 0 0px #333;}

#d3 { box-shadow:0 70px 0px #333;}

#d4 { box-shadow:70px 0px 0px #333;}

box-shadow_01
觀察上述圖,可以理解陰影其實是被原始塊對象遮蓋,但是可以通過x-offset和y-offset來移動陰影(相對于原始快對象)。

現在通過3個70x70px的div來看看模糊的效果,box-shadow設置如下:

#d5 { box-shadow:0 0 10px 0px #333;}

#d6 { box-shadow:70px 70px 20px 0px #333;}

#d7 { box-shadow:70px 70px 40px 0px #333;}

box-shadow_02
模糊就是對陰影由內到進行模糊處理,對比d6和d7,可以看到模糊參數值越大,模糊的面積也越大。

最后來看看看模糊距離參數,box-shadow設置如下:

#d8 { box-shadow:0px 0px 0px 10px #333;}

#d9 { box-shadow:80px 80px 0px 10px #333;}

#d10 { box-shadow:80px 80px 10px 10px #333;}

box-shadow_03

可以看到陰影距離其實就增大陰影的面積,如果同時使用模糊和陰影距離,模糊處理是在陰影面積增大的基礎上再進行模糊處理。

分類: web前端 標簽:

PHP include 非PHP文件

2013年8月23日 沒有評論

include和require的用途是包含并運行指定的文件。在官方手冊沒有說明被包含的文件類型,那么PHP到底能不能include一個非PHP文件呢?實踐出真理,寫一個簡單文件PHP文件include一個js文件,執行后沒有報錯或警告信息,同時看到被包含js的文件的內容被打印出來。因此得出結論:include 目標文件可以是任意類型

現在再回頭看include的官方文檔,其中有這么一段話:“當一個文件被包含時,語法解析器在目標文件的開頭脫離 PHP 模式并進入 HTML 模式,到文件結尾處恢復。由于此原因,目標文件中需要作為 PHP 代碼執行的任何代碼都必須被包括在有效的 PHP 起始和結束標記之中。” 注意其中提到“HTML模式,PHP代碼必須包括在有效的PHP標記符中”,仔細體會其含義,它其實隱式的說明了include可以是任意類型的文件。

另外在4.3.0以后,include 目標文件還可以是一個url,當然前提是需要在配置中設置 allow_url_include 為 on。

分類: PHP 標簽:

wordpress 升級 iNove 主題

2013年8月21日 1 條評論

經過兩個晚上的折騰,終于把我的blog在原有的iNove主題基礎修改了一下,個人覺得還是比較滿意的,希望大伙多提寶貴意見。主要以下幾個地方修改:

1、修改背景色,使用css3中一些特性,如圓角、陰影等,同時去掉原有樣式中的圖片。

2、重新設計了header和footer部分。

3、重新修改了導航欄和搜索框樣式。

4、總體寬度由原來的936像素修改為1000像素,把增加的寬度用在顯示左邊顯示內容上。

5、調整右邊欄顯示。

6、頁面上的一些小調整。

修改前后的對比圖如下,點擊這里查看高清大圖。

oldvsnew-m

分類: 其它 標簽:

mac osx 刻錄iso

2013年8月18日 沒有評論

mac 系統自帶了刻錄軟件,刻錄一般的數據文件,可以在需要刻錄的文件(可以多選)上點擊右鍵,在彈出的菜單中選擇”刻錄至光盤”。但是想把iso文件刻錄成系統盤,就不能使用此方法,正確的做法是通過“磁盤工具”來完成。具體步驟如下:

1、“實用程序”文件夾,找到并打開“磁盤工具”程序;

2、選擇“刻錄”,在出現的文件對話框中選擇需要刻錄的ISO文件;

3、此時會出現等待插入光盤的提示,放入光盤后,選擇刻錄即可。

分類: 其它 標簽:

php set_time_limit

2013年8月14日 沒有評論

一個php腳本通過crontab每5分鐘執行一次,考慮到腳本執行時間會超過5分鐘,特意用set_time_limit(290)來控制腳本在290秒退出。某天突然發現后臺有多個該腳本的進程在執行,也就是說set_time_limit(290)沒有起作用。為了證明,特意使用如下代碼測試。

set_time_limit(5);

for ($i = 0; $i < 100; $i++) {
    echo date('Y-m-d H:i:s') . "\n";
    sleep(1);
}

無論是在web還是CLI下,上述腳本并沒有在5秒鐘后退出。后來加上ini_set(‘max_execution_time’, 5)測試,結果一樣。那是不是說明set_time_limit函數根本就沒有用呢?其實不然,在 http://stackoverflow.com/questions/5874950/set-max-execution-time-in-php-cli 這里找到根源所在,其實是上面的寫法有問題,例如使用下述代碼:

set_time_limit(5);

for (;;) {
}

執行后,大概5秒鐘就可以看到”Fatal error: Maximum execution time of 5 seconds exceeded in”類似這樣的錯誤提示。說明set_time_limit是起作用的。現在在去看看官方文檔(http://www.php.net/manual/en/function.set-time-limit.php)上關于此函數的說明,在Note中寫到:

The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), stream operations, database queries, etc. is not included when determining the maximum time that the script has been running. This is not true on Windows where the measured time is real.

注意:sleep函數暫停的時間也是不計入腳本的執行時間的。所以也是第一個測試失敗的原因。

分類: PHP 標簽:

無覓相關文章插件,快速提升流量

30选5怎么中奖