999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WAMP的簡體中文Moodle架設與性能優化

2011-01-01 00:00:00曾棕根
現代教育技術 2011年4期

【摘要】Moodle架設和性能優化是Moodle應用難點。先給出了WAMP開源平臺架設方案,然后給出了簡體中文Moodle 1.9.10+系統架設和性能優化方法,最后對Moodle架設進行了實踐檢驗,是Moodle架設的第一手資料,為Moodle的應用推廣提供了關鍵技術支持。

【關鍵詞】Moodle;WAMP;開源;課程管理系統;性能優化

【中圖分類號】G40-057 【文獻標識碼】A 【論文編號】1009—8097(2011)04—0136—04

引言

Moodle(Modular Object-Oriented Dynamic Learning Environment,模塊化面向對象的動態學習環境)是由澳大利亞教師Martin Dougiamas主持開發的免費開源的課程管理系統(CMS),是目前世界上應用最廣泛的網絡教學平臺之一[1]。

根據Moodle官方網站的統計數字[2],截止2011年5月20日,已有212個國家和地區,54436個注冊站點在使用Moodle,形成了全球教師學習應用Moodle的熱潮。根據世界著名的教育軟件評估中心(Centre for Learning and Performance Technologies)的最新評選,在2010年世界學習工具和教育軟件的排序中,Moodle在全部教育軟件中排序第十位,在課程管理系統類中排在第一位。這反映了Moodle強大的教學功能越來越受到人們的好評[3]。

由于Moodle采用開源平臺,各種部件版本多樣且配置復雜,Moodle架設成為應用難點;高并發性是Moodle訪問的重要特征,未經優化就不能有效使用。為了讓Moodle在我國盡快應用普及,本文結合作者多年對WAMP開源平臺的研究成果[4],提供了一套基于WAMP平臺的簡體中文Moodle系統架設的完全解決方案,是國內的第一手資料。

一 架設WAMP平臺

1 定義

安裝Moodle前,需先要架設好WAMP 平臺。WAMP平臺是指Windows運行環境下的免費開源軟件組合Apache+MySQL+Perl/PHP/Python,是Moodle系統運行的基礎平臺[5]。根據以下方案架設的WAMP平臺,適用于Moodle 2.0,也適合Moodle 1.9.10+及以下所有版本。WAMP平臺如圖1。

2 選型

WAMP架構各部件升級速度快,版本多樣。如果選型不當,極易造成WAMP平臺運行不穩定、效率低下甚至崩潰。大量應用經驗表明,MySQL 5.1.53、 Apache 2.2.17 和PHP 5.2.0是架構WAMP的首選。

3 全局編碼選擇

WAMP架構各部件對文字的編碼必須采用同一套標準才能確保相互之間正確交換數據。由于AMP具有跨平臺特征,所以,MySQL數據庫、Apache服務器、PHP模塊、PHP程序和客戶端瀏覽器應當采用UTF-8編碼來對文字進行編碼和解碼。UTF-8編碼包含了世界上所有的文字,也是Linux操作系統默認的編碼方式。

4 部件間的連接

通過在Apache配置文件httpd.conf最后加上兩行命令,讓Apache知道PHP模塊的安裝路徑:

PHPIniDir \"C:\\Program Files\\PHP\\\"

LoadModule php5_module \"C:\\Program Files\\PHP

php5apache2_2.dll\"

通過在Apache的mime.types文件最后加上這兩行命令,讓Apache去執行文件擴展名為“php”程序,而不是讓客戶端瀏覽器去下載*.php程序:

application/x-httpd-phpphp

application/x-httpd-php-sourcephps

而PHP通過安裝MySQLi擴展(改進的MySQL驅動)來與MySQL數據庫通信。

二 架設Moodle

1 版本選擇

2010年11月25日,經過全球數百程序員兩年半時間的努力,Moodle 2.0正式發布。這就使得目前有Moodle 2.0和Moodle 1.9.x兩套系統在保持更新。實驗證實,Moodle 2.0對WAMP平臺版本和客戶端瀏覽器要求太高,對各版本的IE兼容性不好。而目前1.9.10+已十分成熟穩定,因此,現階段應用Moodle,1.9.10+系統仍是首選。

2 安裝方法

在Moodle官方網站http://moodle.org/downloads/上直接下載Moodle標準安裝包(Standard Moodle packages)1.9.10+后,解壓縮到Apache的web根目錄下,再需在http://download.moodle.org/lang16/中下載簡體中文語言包(Chinese(Simplified))zh_cn_utf8.zip解壓縮在Moodle的lang文件夾內,最后在瀏覽器地址欄中輸入http://127.0.0.1后,就會自動安裝。安裝時,注意把Moodle數據目錄放在其它盤,如D盤。在規劃磁盤時,D盤應當劃分得足夠大,以便存儲課程中不斷增長的上傳文件。

3 設定訪問IP

由于Moodle只支持一個IP地址,安裝完后,需要立即設置訪問Moodle的IP地址,才能正確運行。如果申請的IP為http://61.164.87.150:5481,那么,需將安裝根目錄config.php文件中$CFG->wwwroot='http://127.0.0.1'修改為$CFG->wwwroot = 'http://61.164.87.150:5481'。如果安裝Moodle的服務器沒有外網IP,那么,必需要將該IP設置為服務器的內網IP地址。

4 簡體中文問題的修正

Moodle1.9.x針對簡體中文存在三個常見的問題,可相應采取如下三種修正方案:

(1)有些地方漢化不妥當或遺漏,可直接打開Moodle安裝目錄下的lang\\zh_cn_utf8文件夾內去修改moodle.php等相應文件;

(2)對于上傳文件名不能包含漢字,可采取把文件主名修改成時間戳+0~32768隨機數+擴展名的方法,這樣同時解決了文件名沖突,如上傳test.doc后,會修改為形如1304062173_28055.doc的文件名。只需把下面這塊代碼拷貝在 moodle安裝目錄下lib\\uploadlib.php文件的 if (move_uploaded_file($this->files[$i]['tmp_name'], $destination.'/'.$this->files[$i]['name']))語句上方:

$parts = explode('.', $this->files[$i]['name']);

if (count($parts) > 1) {//存在擴展名

$extension = '.'.array_pop($parts);

$name = implode('.', $parts);}

else{

$extension = \"\";//擴展名為空字符串

$name = $this->files[$i]['name'];}

$this->files[$i]['name']=time().\"_\".rand().$extension;

(3)針對首頁日歷上出現亂碼“2011騫”的修訂方案,解決辦法:先用記事本打開Moodle安裝目錄下的lang\\zh_cn_utf8\\ langconfig.php,把該文件中的“簡體中文”四個字修改為“Chinese (Simplified)”。再單擊“文件-另存為”菜單,以ANSI編碼方式保存該文件。

5 使用SMTP方式發送郵件和Moodle Cron服務

SMTP方式發送郵件提高了Moodle的交互性。admin用戶登錄Moodle,在“網站管理-服務器-郵件”中設置第三方SMTP服務器信息后,Moodle就可通過該服務器來方式發送郵件,而不必在本機安裝SMTP服務器。

由于郵件不會自動發送出去,所以, Windows中可以安裝Moodle Cron服務來自動執行郵件發送任務。可到http://www.emoodle.org/vread-187.html上下載MoodleCron程序。安裝該項服務時,只需設置發送郵件的時間頻率(通常設置為5分鐘)和http://example.com//admin/cron.php的URL即可。

三 優化Moodle性能

很多研究者懷疑WAMP架構的性能,提出應當把Moodle架設到象LAMP架構這樣的全開源環境中去[6]。其實Moodle訪問慢的主要原因在于缺少系統優化。針對Moodle系統,主要從以下幾方面進行性能優化:

(1)盡量提高服務器硬件速度與容量。CPU一般采用多核心的,內存3.5GB以上。

(2)根據實際情況調整MySQL,可不定期通過show variables和show status命令分別查看MySQL變量設定值和當前值,主要調整MySQL緩存,使其達到最佳性能[7]。修改MySQL的配置文件my.ini,包括增加并發連接數max_connections,增大查詢緩沖區query_cache_size,增大打開表緩沖table_cache,增大線程緩沖thread_cache_size,增加innodb數據庫引擎的表緩沖池innodb_buffer_pool_size到物理內存的50%~80%。可以在MySQL的命令行客戶端中通過使用show variables來觀察MySQL變量設定值和使用show status命令來觀察MySQL變量當前值,通過觀察,動態調整MySQL各項參數,以使MySQL性能達到最優化。應當主要觀察以下幾個狀態值:

Uptime:MySQL服務器運行時長,計量單位為秒;

Max_used_connections:MySQL服務器已產生的最大并發連接數;

Open_tables:當前打開表的數量,這個值應當小于table_cache設置;

Qcache_free_memory:查詢緩存中的空閑內存。

Qcache_hits:每次查詢在緩存中命中時就該值增大。

Qcache_inserts:每次插入一個查詢時就增大。

Qcache_lowmem_prunes:緩存出現內存不足并且必須要進行清理以便為更多查詢提供空間的次數。

(3)修改PHP配置文件php.ini,包括延長會話生存周期session.gc_maxlifetime來增加系統的穩定性;增加memcache內存緩沖擴展php_memcache.dll,再在Moodle的“網站管理-服務器-性能-緩存類型”中使用memcached內存緩沖模式,這樣,moodle對象將緩存在內存中,直接減少了對外存的訪問次數,這將大大提高moodle訪問速度。

(4)在Apache中使用MPM多路處理模塊提高Apache性能,使moodle能應對多達上千的訪問高峰[8]。在Windows中,mpm_winnt主要通過ThreadsPerChild和MaxRequestsPerChild兩條指令來優化Apache性能。使用WinNT多路處理模塊MPM后,Apache在Windows操作系統中只有一個父進程httpd.exe(監控進程),父進程再會啟動一個子進程httpd.exe(工作進程)。父進程在創建完子進程后,把80端口的監控權轉交給子進程,而此時父進程主要監管子進程運行狀態,子進程則直接監聽80端口。子進程在生成時會一次性創建ThreadsPerChild個線程(以后不再創建新線程,所以,這個數值要足夠大,以便可以處理可能的請求高峰,但最大值不能超過1920,一般300~500為宜)。子進程(工作進程)接到訪問請求后,將該請求交由線程去處理。在子進程的生命周期內,子進程處理完MaxRequestsPerChild個請求后,子進程將會被父進程殺死,并釋放所占資源,然后會重新創建新的子進程和相應線程。如果 MaxRequestsPerChild設為0,父進程(監控進程)則永遠不會將子進程(工作進程)殺死。下面是error_2011_04_12.log 日志中MPM啟動信息:

Apache/2.2.17 (Win32) PHP/5.2.0 configured -- resuming normal operations

Server built: Oct 18 2010 01:58:12

Parent: Created child process 8588

Child 8588: Child process is running

Child 8588: Acquired the start mutex.

Child 8588: Starting 1920 worker threads.

Child 8588: Starting thread to listen on port 80.

(5)將KeepAlive設置為On,允許持續HTTP連接。一方面,可以減少TCP連接建立和關閉的次數,從而節約了CPU時間和TCP協議控制塊消耗的內存;另一方面,在一次TCP連接上就可以實現HTTP請求和應答的流水線作業,這意味著客戶端程序可以不必等待應答就可以連續發出多個請求,減少了系統延遲,提高了單個TCP連接的利用率[9]。

(6)按日期存儲Apache錯誤日志和訪問日志文件[10]。Apache默認將錯誤日志和訪問日志以追加方式分別保存在logs/error.log和logs/access.log文件中,使得這兩個文件尺寸會不斷增大,從而影響Apache服務器運行效率,直至寫滿磁盤。解決辦法:1)在D盤根目錄下新建日志存放目錄D:\\ApacheLogs;2)將httpd.conf文件的ErrorLog \"logs/error.log\"和CustomLog \"logs/access.log\" common修改為:ErrorLog\"|bin/rotatelogs.exe D:/ApacheLogs/error_%Y_%m_%d.log 86400 480\"和CustomLog \"|bin/rotatelogs.exe

D:/ApacheLogs/access_%Y_%m_%d.log 86400 480\" common,這樣,Apache就會每天產生兩個名如“error_2011_04_12.log”和“access_2011_04_12.log”的日志文件。

經過性能優化,Moodle訪問速度有明顯提高,系統能輕松應付訪問高峰。

四 網絡教學互動平臺應用實例

按以上的架設方法,筆者使用Moodle 1.9.10+系統成功架設了寧波職業技術學院電子信息工程系網絡教學互動平臺,網址http://61.164.87.150:5481。服務器CPU為telreg; Xeon#8482; CPU 3.40GHz雙核,內存為3.5G配置信息和WAMP平臺配置如表1所示。

經過三個月累計10萬次訪問處理表明,該網絡教學互動平臺各項功能都能正常使用,事件查看器中無一異常事件,系統運行穩定,服務器負載輕松,響應速度快,能輕松應付Web并發數高達1500的網絡訪問高峰,很好地滿足了全系1500人的網絡教學互動。

五 結語

本文先講述了WAMP開源平臺架設方案,然后再講述了moodle 1.9.10+架設和性能優化方法,最后對moodle系統架設與性能優化進行了實證。利用本文提供的思路,在Windows上運行moodle就可以獲得最佳性能。moodle 平臺架設好了,要深入應用moodle,接下去的事情,還得稍加學習專門的moodle培訓教材。

參考文獻

[1] 曾棕根. Moodle網絡課程平臺[M].北京:北京大學出版社,2010:1.

[2] Moodle統計[EB/OL].

[3] 黎加厚:課程管理系統Moodle (魔燈)在中國的發展[EB/OL].

[4] 曾棕根.源程序在線評測系統技術改進[J].計算機工程與應用,2011,47(4):68-71.

[5] 丁革建,曾棕根,等.LAMP開發實踐教程[M].北京:中國鐵道出版社,2009:1.

[6] 連仙枝.淺析網絡教學平臺Moodle的構建與應用[J].太原大學學報,2010,11(4):105-107.

[7] 楊鵬.Linux服務器架設[M].北京:清華大學出版社,2008:532-534.

[8] PHPChina:多路處理模塊MPM. [EB/OL]

[9] 張中慶,等.Apache源代碼全景分析第1卷[M].北京:電子工業出版社,2009:385-386.

[10]百度空間:apache日志文件每天一個文件.[EB/OL]

The Platform Erection and Performance Optimization of Simplified Chinese Moodle Based on WAMP

ZENG Zong-gen

(Electronic Information Engineering Department, Ningbo Polytechnic, Ningbo, Zhejiang 315800, China)

Abstract: Moodle erection and Performance Optimization are difficult. This paper gives the erection method of WAMP open-source platform firstly, then gives the erection and Performance Optimization method of Simplified Chinese 1.9.10+, finally, Successfully tested moodle. This paper is a first-hand information on moodle, provides key technical support for moodle application and promotion.

Key words: moodle; WAMP; open-source; CMS; performance optimization

收稿日期:2011年3月11日

編輯:紅葉

主站蜘蛛池模板: 福利一区三区| 久久99精品久久久久久不卡| 色老头综合网| 日本午夜视频在线观看| 日本一区二区不卡视频| 日本a级免费| 91久久青青草原精品国产| 日本在线亚洲| 第一页亚洲| 免费a级毛片18以上观看精品| 欧美日韩精品在线播放| 亚洲福利视频一区二区| 99热最新在线| 欧美精品黑人粗大| 日韩欧美国产三级| 99久久精品视香蕉蕉| 欧美一区二区啪啪| 亚洲无码高清视频在线观看| 欧美精品1区| 一级一毛片a级毛片| 久久久亚洲国产美女国产盗摄| 国产资源站| 中文字幕 91| 丰满的熟女一区二区三区l| 高清免费毛片| 欧美日韩一区二区三区四区在线观看 | 欧美日韩国产在线播放| 婷婷六月色| 午夜免费视频网站| 人妻无码AⅤ中文字| 久久黄色免费电影| 国产va视频| 国产剧情一区二区| 天天干天天色综合网| 免费观看无遮挡www的小视频| 国产一区自拍视频| 久久人人妻人人爽人人卡片av| 欧美激情福利| 成人无码一区二区三区视频在线观看| 欧美激情福利| 麻豆精品久久久久久久99蜜桃| 无码人妻免费| 99久久国产综合精品2023 | 一级毛片免费不卡在线| 成人蜜桃网| 久久精品亚洲热综合一区二区| av一区二区三区在线观看| 华人在线亚洲欧美精品| 54pao国产成人免费视频| 亚洲人成网站18禁动漫无码| 色哟哟国产精品| 亚洲色婷婷一区二区| 欧美亚洲一区二区三区在线| 亚洲人成网站在线播放2019| 中文字幕 91| 国产手机在线小视频免费观看 | 久久香蕉国产线看精品| 五月天在线网站| 午夜激情福利视频| 亚洲av无码人妻| 欧美黄网在线| 欧美日韩国产在线播放| 中文国产成人精品久久一| 99热这里只有精品在线观看| 国产精品久线在线观看| 91色爱欧美精品www| 97国产在线视频| 又黄又湿又爽的视频| 日本道中文字幕久久一区| 亚洲欧美不卡视频| 欧美伦理一区| 99中文字幕亚洲一区二区| 国产黑丝一区| 丁香六月激情婷婷| 久久精品亚洲中文字幕乱码| 欧美日本中文| 国内毛片视频| 欧美激情网址| 天天躁日日躁狠狠躁中文字幕| 谁有在线观看日韩亚洲最新视频| 久久精品国产91久久综合麻豆自制| 亚洲第一黄片大全|