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

基于LNMPA架構的Web系統設計與實現

2014-04-29 06:09:35陳鐳
計算機時代 2014年8期

陳鐳

摘 要: 伴隨數字化、網絡化的快速發展,高校內涌現出眾多的Web系統,這些Web系統參差不齊,安全性、易用性、可靠性等無法得到保障。把LAMP架構與LNMP架構各自的優點結合在一起形成新的網站服務器架構LNMPA,分析了該架構的特點及優勢。采用基于MVC設計模式的ThinkPHP框架設計并實現了一套通用Web系統,該系統具備成本低、擴展靈活、性能穩定、數據安全、抗并發能力強等顯著特點。

關鍵詞: Web系統; LAMP架構; LNMP架構; LNMPA架構; ThinkPHP框架

中圖分類號:TP311 文獻標志碼:A 文章編號:1006-8228(2014)08-22-02

Design and implementation of Web system based on LNMPA architecture

Chen Lei

(Dept. of Library, Nanjing Audit University, Nanjing, Jiangsu 211815, China)

Abstract: With the rapid development of digital and networking, Web systems emerges in universities. However, these Web systems cannot guarantee the safety, convenience and reliability. In this paper, a new web server architecture LNMPA is created by the combination of the LAMP architecture and LNMP architecture. The characteristics and advantages of the architecture are analyzed. A general Web system based on MVC design model ThinkPHP framework is designed and implemented. It has advantages including low cost, high flexibility, stable performance, data security, anti-concurrent capacity.

Key words: Web system; LAMP architecture; LNMP architecture; LNMPA architecture; ThinkPHP framework

0 引言

伴隨著計算機網絡技術的迅猛發展,高校內涌現出各類信息平臺和應用系統。目前流行的眾多Web系統平臺無外乎有三類:ASP.NET(微軟.NET下Web開發)平臺、J2EE(Java企業級開發)平臺和LAMP(Linux+Apache+MySQL+PHP)平臺。因LAMP平臺具有操作簡易、成本低、擴展靈活、安全等特點和優勢,其應用范圍越來越廣,從簡單的、中小型應用擴展到復雜的、大型的系統應用中,逐漸成為一種發展趨勢,已經與J2EE平臺和ASP.NET商業軟件平臺并駕齊驅。越來越多的用戶、供應商和投資者意識到,使用LAMP開源軟件平臺構建、運行各種網絡應用變得更加具有競爭優勢。無論從質量、性能,還是價格考慮,LAMP平臺都將成為高校信息化發展過程中所必須關注的。

1 LNMPA架構簡介

LNMPA是Linux,Nginx,MySQL,PHP和Apache組合而成的開放資源網絡平臺。

Linux是一套開源免費和自由傳播的操作系統,是一個基于UNIX的多用戶、多任務、支持多線程和多CPU的操作系統,是目前最流行的免費操作系統。代表版本有:centos、ubuntu、fedora等。

Nginx是一個小巧而高性能的HTTP和反向代理服務器,消耗資源少,支持并發連接數目多,反向代理效率高、靜態文件處理快。因其穩定、功能豐富和低資源消耗而聞名。

MySQL是一種關系數據庫管理系統,數據庫將數據存在不同的表中,增加了存取速度、提高了靈活性,MySQL用的是標準化SQL查詢語言。由于其體積小、速度快、成本低,開放源代碼,一般情況下中小型系統都愿意選擇MySQL作為數據庫系統。

PHP是目前最流行的編程腳本語言之一,簡單,輕便,開源免費并且功能強大。PHP支持各種主流數據庫,如MS SQL,Orcale,MySQL等,具有很好的跨平臺性,對Windows以及Linux有很好支持,不同平臺間代碼轉移也十分簡便。同時PHP有著成熟的面向對象體系,能適應大型項目的開發。

Apache(Apache HTTP Server)是Apache軟件基金會的一個開放源碼的Web服務器,可以在大多數的操作系統上運行,它快速、可靠,可通過簡單的模塊進行擴展,也可作為代理服務器來使用,因其開放源代碼,不斷有人完善新功能、新特性,Apache是目前最流行的Web服務器軟件。

雖然這些開放源代碼程序本身并不是專門設計成同另幾個程序一起工作的,但由于它們均免費開源,影響較大,擁有很多共同特點,就導致了這些組件經常在一起使用,可構建出低成本、高效、擴展性強的LNMPA網站服務器架構。

2 LNMPA架構詳解

LAMP[1]或LNMP[2]的劣勢:Nginx是小巧而高效的Linux下Web服務器,跟Apache相比,它消耗資源更少,支持的并發連接更多,反向代理功能效率高、靜態文件處理更快等等,Nginx可以承受3萬以上的并發連接數,相當于同等環境下Apache的10倍[3],但是它的動態頁面處理能力不如Apache軟件成熟。單獨使用Nginx處理大量動態頁面時易產生502錯誤,而Apache在高并發時對隊列的處理比FastCGI更加穩定,Apache的mod_php效率比php-cgi更高且更成熟,對偽靜態支持也好,但是單獨使用Apache處理靜態頁面時,對內存的占用率會遠遠超過Nginx。

LNMPA[4]網站服務器架構,正是把LAMP與LNMP各自的優點結合在一起而產生的新的網站服務器架構。圖1中的LNMPA架構把Nginx當作前端服務器,它能夠更快、更及時、使用更少系統資源來處理靜態頁面、圖片、js等文件,當客戶端請求訪問的是動態頁面時,再由Nginx反向代理給后端服務器Apache處理,Apache把處理好的結果再返回給Nginx。采用LNMPA架構更好地解決LNMP中由于PHP-FPM方面頻繁產生的502錯誤,同時又能夠以簡單的方式提供安全的多用戶、多站點環境,完全結合了兩種架構的優點。

3 Web系統的設計與實現

3.1 ThinkPHP框架

ThinkPHP[5]是一個簡單、快速、兼容的輕量級PHP開發框架,遵循Apache2開源協議,主要是從Struts結構移植并做了改進、完善,同時也借鑒了其他優秀框架和模式,使用面向對象和MVC三層架構模式,繼承了Struts的思想和標簽庫、RoR的ORM映射還有ActiveRecord模式,封裝了CURD操作和其他常用功能,采用單一入口模式,在緩存機制、模版引擎、認證機制和擴展方面等均有獨特的表現。

ThinkPHP能夠作為一整套開發解決方案,可以滿足開發中的大多數需求,其自身包含了底層架構、基類庫、數據庫訪問層、兼容處理、緩存機制、模板引擎、插件機制、角色認證、表單處理等常用的功能組件,并且跨平臺、跨版本,數據庫移植也比較方便,每個組件都經過精心設計和完善,使用者在應用開發過程中只需要關注業務邏輯。

3.2 總體設計

MVC的核心思想是將應用程序的表現層和邏輯層進行分離。ThinkPHP是基于MVC設計模式的,MVC是一個抽象的概念,沒有十分明確的規定,ThinkPHP中的MVC分層次大致表現為:模型(M),模型的定義由Model層來完成。控制器(C),應用控制器,核心控制器和Action控制器都承擔了控制器的角色,Action控制器完成業務邏輯控制,應用控制器負責調度控制。視圖(V),由模板文件和View類組成,模板做到了完全和業務邏輯分離,可以獨立的制作和預覽。

一個完整的Web網站系統通常由前臺部分和后臺部分組成,前臺為內容展示和業務實現部分,后臺為系統管理部分。系統按模塊劃分又可以分為:登錄模塊、權限管理模塊,內容管理模塊、用戶管理模塊、菜單管理模塊、搜索模塊等等,不同模塊由不同功能的頁面組成。系統登錄時自動進行身份識別,按照訪問者的身份進入其相應的操作界面,管理員進入管理界面,用戶進入用戶界面。

用戶等級一般分為三類,其中管理員帳號擁有最高權限,高級用戶其次,擁有部分的管理權限,普通用戶的權限最低。

設計權限管理的步驟如下:判斷當前模塊的當前操作是否需要認證;如果需要認證并且尚未登錄,則跳到認證網關;如果已經登錄,則判斷當前用戶是否具有訪問權限;通過委托認證進行用戶身份認證;獲取用戶的決策訪問列表。

內容管理模塊可概括為對數據庫的四個基本操作(CURD):創建、更新、讀取和刪除。CURD操作和連貫操作配合可變幻出更多的業務邏輯操作,從而實現Web系統豐富完善的功能。

菜單管理模塊是一個Web系統必不可少的部分,管理員、用戶根據需求定制一級菜單及其子菜單。

搜索是Web系統常見功能之一。搜索功能可實現對網站內容的檢索、迅速定位,高級檢索功能支持根據標題、創建時間、修改時間、發布人等條件精確篩選網站內容。

3.3 數據庫設計

數據庫是整個系統應用的根基,是軟件設計的起點,它起著決定性的作用,好的數據庫設計要遵循以下幾個原則。

⑴ 充分體現系統的需求,數據庫首先是為應用服務的,數據庫設計應該能滿足應用系統的業務需求,準確地表達數據與數據之間的關聯關系。

⑵ 保證數據的準確性、一致性,通過主鍵、外鍵、非空、限制、惟一索引等保證數據的健壯。

⑶ 提高數據的查詢效率,通過合理表結構,安排物理存儲分區、增加索引等方式,提高數據的讀取速度,提高數據查詢的效率。

⑷ 有良好的擴展性能,在必要的時侯能根據需求擴展數據結構。

4 結束語

本文比較并分析了LAMP架構和LNMP的優缺點,重點介紹了新的LNMPA架構Web系統的特性及其優勢,設計并實現了一套通用Web系統。從部署以后長期運行的效果看,該系統穩定、安全、抗并發能力突出,適用性廣泛。因LNMPA架構具備開源免費,綜合成本低廉的特性,在高校Web應用系統中具有很大的推廣空間。

參考文獻:

[1] 周珊.基于LAMP架構的高校學生工作考核系統設計與實現[D].電

子科技大學碩士學位論文,2013.

[2] 曾棕根.一種基于LNMP的Moodle 2分布式計算架構[J].計算機時

代,2013.6:5-8

[3] 凌質億,劉哲星,曹蕾.高并發環境下Apache與Nginx的I/O性能比

較[J].計算機系統應用,2013.6:204-208

[4] LNMPA[EB/OL].

fr=aladdin>.

[5] 楊浩.基于ThinkPhp框架的校園網絡設備管理系統設計與實現[D].

西北大學碩士學位論文,2012.

主站蜘蛛池模板: 欧美精品一区二区三区中文字幕| 女人18一级毛片免费观看| 小说区 亚洲 自拍 另类| 欧美精品在线视频观看| 黄色网址免费在线| 欧美日韩免费观看| 99久久99视频| 宅男噜噜噜66国产在线观看| 久久人人爽人人爽人人片aV东京热 | 国产精品va免费视频| 在线中文字幕网| 伊人精品成人久久综合| 在线另类稀缺国产呦| 91人妻在线视频| 成人91在线| 国产精品区视频中文字幕| 亚洲午夜天堂| 亚洲中文字幕在线观看| 在线观看国产小视频| 婷婷综合在线观看丁香| 中文字幕2区| 欧美午夜一区| 国产亚洲视频免费播放| 日本日韩欧美| 国产成人av一区二区三区| 女人18毛片水真多国产| 小说 亚洲 无码 精品| 日韩福利在线观看| 国产一区二区三区免费观看| 在线毛片免费| 九九久久99精品| 欧美日韩国产综合视频在线观看| 国内精品视频| 波多野结衣爽到高潮漏水大喷| 美女潮喷出白浆在线观看视频| 91欧美亚洲国产五月天| 日韩欧美成人高清在线观看| 国产在线自乱拍播放| 免费A级毛片无码免费视频| 欧美一级高清片久久99| 国产精品爽爽va在线无码观看 | 婷婷午夜天| 免费看久久精品99| 国产国语一级毛片在线视频| 国产精品护士| 亚洲视频一区在线| 日本黄网在线观看| 美女内射视频WWW网站午夜| 国产真实二区一区在线亚洲| 欧美精品成人一区二区在线观看| 精品久久久久久成人AV| 亚洲第一网站男人都懂| 97久久免费视频| 丝袜高跟美脚国产1区| 久久99精品久久久久纯品| 久久综合丝袜日本网| 免费又爽又刺激高潮网址 | 亚洲人网站| 中文无码精品a∨在线观看| 久久精品国产精品一区二区| 免费一级毛片在线播放傲雪网| 在线视频亚洲色图| 18禁黄无遮挡网站| 国产成人欧美| 国产精品亚欧美一区二区| 九九久久精品免费观看| 色网站免费在线观看| 91麻豆久久久| 99精品热视频这里只有精品7| 日本在线国产| 国产三级毛片| 国产精品成人一区二区| 国产青青草视频| 特级精品毛片免费观看| 成人欧美日韩| 伊人成人在线| 97免费在线观看视频| 国产成人一区在线播放| 韩国福利一区| 国内精自视频品线一二区| 在线综合亚洲欧美网站| 91探花国产综合在线精品|