觸發系統生成純靜態化頁面的三種方式:
一、頁面添加緩存時間;
給純靜態的html文件設定一個有效時間,如3600秒,即一個小時;
當我們訪問系統或網站時,首先判斷是否存在這個純靜態的html文件或者這個純靜態的html文件是否過期;
如:
if(file_exists($htmlFile)||(time()-mktime(filemtime($htmlFile)))<3600){include($htmlFile);}
else{重新生成一個新的純html文件;}
如果存在這個純靜態的html文件或者這個純靜態的html文件沒有過期,就直接加載這個純html文件,
否則,就重新生成一個新的純html文件;
二、手動觸發方式;
當我們訪問系統或網站時,不需要進行判斷,(假定這個純html文件存在)直接訪問這個純html文件。
(假定後臺有一個手動更新按鈕),當點擊手動更新按鈕後,觸發更新程序,全部重新生成新的html文件,
以達到全部重新更新的目的;
三、crontab定時掃描程序;
crontab是linux服務器中的一個定時執行任務的工具;
使用它就可以定時生成新的純靜態的html文件,以達到定時更新的目的;
基本格式 :
* * * * * command
分 時 日 月 周 命令
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令
crontab文件的一些例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重啓apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重啓apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每週六、週日的1 : 10重啓apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啓apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重啓apache。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小時重啓apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11點到早上7點之間,每隔一小時重啓apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4號與每週一到週三的11點重啓apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一號的4點重啓apache