正當(dāng)時......

學(xué)術(shù)咨詢服務(wù)
當(dāng)前位置:職稱那點(diǎn)事電子信息職稱》基于云服務(wù)器一鍵安裝 Web 環(huán)境的設(shè)計(jì)與實(shí)現(xiàn)

基于云服務(wù)器一鍵安裝 Web 環(huán)境的設(shè)計(jì)與實(shí)現(xiàn)

來源:職稱那點(diǎn)事作者:趙編輯時間:2019-08-21 09:32
掃碼咨詢

  摘 要: 隨著互聯(lián)網(wǎng)技術(shù)和云服務(wù)器的飛速發(fā)展,互聯(lián)網(wǎng)的準(zhǔn)入門檻越來越低,更多的公司和個人將業(yè)務(wù)向互聯(lián)網(wǎng)延伸。手動部署 Web 網(wǎng)站環(huán)境存在速度慢、難度大等問題,急需使用一鍵安裝包來提高工作效率,開發(fā)一種能夠簡化環(huán)境部署過程的一鍵 Web 安裝包顯得尤為重要。Linux 系統(tǒng)較 Windows 系統(tǒng)具有更好的穩(wěn)定性,采用 Linux 系統(tǒng)的服務(wù)器,部署 Web 網(wǎng)站中的 JAVA 環(huán)境和 PHP 環(huán)境,測試證明,一鍵 Web 安裝包能滿足云服務(wù)器的需求,有效節(jié)省用戶的運(yùn)行時間,提高云服務(wù)器的運(yùn)行效率。

基于云服務(wù)器一鍵安裝 Web 環(huán)境的設(shè)計(jì)與實(shí)現(xiàn)

  關(guān)鍵詞: 云服務(wù)器; 一鍵安裝 Web; Linux; JAVA; PHP

  目前,國內(nèi)外各大云服務(wù)器廠商的崛起,使得公司以超低價位擁有一臺自己的云服務(wù)器成為可能,公司不需再額外購買昂貴的實(shí)體服務(wù)器,只需在網(wǎng)站源碼到位的情況下,與一鍵安裝 Web 環(huán)境工具包相結(jié)合,便能在極短的時間內(nèi)實(shí)現(xiàn)自己的業(yè)務(wù)在服務(wù)器上線。近年來,基于云服務(wù)器的自動化開發(fā)工具非?;鸨艘痪€運(yùn)維人員編寫的各類開發(fā)工具外,各大云服務(wù)器廠商也在嘗試大型開發(fā),并形成了一批運(yùn)行穩(wěn)定的云服務(wù)器產(chǎn)品。因各云服務(wù)器廠商使用的標(biāo)準(zhǔn)體系不同,造成一些實(shí)用性很強(qiáng)的工具與云服務(wù)器的兼容性較差,限制了一鍵安裝工具的傳播。同時,各大云服務(wù)器廠商之間的競爭,在短時間內(nèi)難以形成一個標(biāo)準(zhǔn)的云服務(wù)器體系規(guī)范,一些開發(fā)者需重復(fù)地對服務(wù)器環(huán)境開發(fā)和設(shè)配,造成了人力資源極大浪費(fèi)。針對上述問題,本文設(shè)計(jì)了一鍵安裝 Web 環(huán)境工具包,提供了多種架構(gòu)和多版本軟件供用戶選擇,能滿足互聯(lián)網(wǎng)上各大云服務(wù)器的需求,改善了兼容性差的問題,減少了開發(fā)人員的重復(fù)勞動。

  1 Web 服務(wù)器簡介

  Web 服 務(wù) 器 也 稱 為 WWW ( WORLD WIDEWEB) 服 務(wù) 器,主要功能是提供網(wǎng)上信息瀏覽服務(wù)[1]。Linux 嵌入式系統(tǒng)與 Web 瀏覽器通信方式: 底層 采 用 TCP /IP 協(xié) 議,頂 層 采 用 HTTP 協(xié) 議。 WWW 瀏覽器使用 Script 解析器來解析瀏覽器腳本,通過 HTML 解析器來解析 HTML 語言[2]。Web 服務(wù)器的工作原理可分為 4 個步驟: 連接過程、請求過程、應(yīng)答過程及關(guān)閉過程。所謂連接過程是指 Web 服務(wù)器和客戶端之間在數(shù)據(jù)交互之前建立起來一種連接。如用戶想查看連接是否連接成功,需找到 socket 套接字文件。請求過程是利用 socket 套接字文件向服務(wù)器提交各種請求。應(yīng)答過程是通過 HTTP 協(xié)議把之前請求過程中的請求內(nèi)容傳輸?shù)?Web 服務(wù)器上或運(yùn)用 HTTP 協(xié)議將內(nèi)容返回給客戶端,服務(wù)器接到請求后進(jìn)行處理。關(guān)閉過程是將服務(wù)器與客戶端斷開連接。Web 服務(wù)器的 4 個實(shí)施步驟具有較強(qiáng)的邏輯性,能夠支持多個進(jìn)程、線程以及混用的技術(shù)。原理如圖 1 所示。

  2 服務(wù)器的分類

  目前 Linux 和 Unix 操作系統(tǒng)使用最多的是 Apache 和 Nginx 服務(wù)器,Windows 操作系統(tǒng)通常使用的是 IIS 服務(wù)器。用戶在選用 Web 服務(wù)器時,首先從服務(wù)器本身的性能、安全性、虛擬主機(jī)、緩沖服務(wù)和集成應(yīng)用程序等方面考慮,然后考慮服務(wù)器是否適合自己的業(yè)務(wù)類型和需求。

  2.1 IIS

  IIS ( Internet Information Services) 是 微 軟 基 于 Windows 系統(tǒng)研發(fā)的一款 Web 服務(wù)器產(chǎn)品,IIS 的安全脆弱性曾長時間被業(yè)內(nèi)詬病,一旦 IIS 出現(xiàn)遠(yuǎn)程執(zhí)行漏洞威脅將會非常嚴(yán)重[3]。由于 Windows 系統(tǒng)有窗口界面可視化的優(yōu)勢,加之微軟的大力推廣和投入研發(fā),IIS 服務(wù)器在 Web 服務(wù)器領(lǐng)域占有一席之地。

  2.2 Apache

  Apache 是世界使用排名第一的 Web 服務(wù)器軟件,它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺上[4]。Apache 服務(wù)器市場占有率高達(dá) 60%,是最流行的 Web 服務(wù)器端軟件之一。世界上許多知名的網(wǎng)站都是 Apache 的產(chǎn)物,Apache 采用開放性源代碼,可以支持多種跨平臺應(yīng)用,可移植性強(qiáng)。

  2.3 Nginx

  Nginx 是一款輕量級的 Web 服務(wù)器/反向代理服務(wù)器及電子郵件( IMAP /POP3) 代理服務(wù)器,并在一個 BSD-like 協(xié)議下發(fā)行[5]。其特點(diǎn)是占有內(nèi)存少,并 發(fā) 能 力 強(qiáng),國內(nèi)的一些大型站點(diǎn)都使用了 Nginx,淘寶還在 Nginx 的基礎(chǔ)上二次開發(fā),推出產(chǎn)品 tengine,并把相關(guān)技術(shù)的源碼開放到互聯(lián)網(wǎng)中。

  2.4 Tomcat

  Tomcat 服務(wù)器是一個免費(fèi)的開放源代碼的 Web 應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試 JSP 程序的首選[6]。Tomcat 是基于 JAVA 的 Web 應(yīng)用軟件容器,隨著 Catalina Servlet 引擎的出現(xiàn),Tomcat 第四版號的性能得到提升,使得它成為一個被大眾接受的 Servlet /JSP 容器,目前許多 Web 服務(wù)器采用 Tomcat [7 -8]。

  3 一鍵安裝 Web 環(huán)境工具包的設(shè)計(jì)

  一鍵安裝 Web 環(huán)境工具包主要實(shí)現(xiàn)在 Linux 服務(wù)器上快捷部署 Web 環(huán)境,支撐 Web 網(wǎng)站的運(yùn)行。為使用戶在 Linux 系統(tǒng)服務(wù)器上部署 Web 環(huán)境簡便、快捷,本文設(shè)計(jì)的工具包采用以下運(yùn)行原則:

  ( 1) 自動安裝各個軟件的腳本要保持一定的獨(dú)立性;

  ( 2) 軟件的多個版本的安裝腳本要保持一定的獨(dú)立性;

  ( 3) 在安裝軟件時采用編譯安裝;

  ( 4) 設(shè)置獨(dú)立的用戶管理權(quán)限。一鍵安裝 Web 環(huán)境工具包運(yùn)行環(huán)境分為 JAVA 運(yùn)行環(huán) 境 和 PHP 運(yùn) 行 環(huán) 境[9]。用 戶 首 先 從 IIS、 Nginx、Apache 和 Tomcat 中選擇 Web 服務(wù)器類型,然后自己的工作需求選擇運(yùn)行環(huán)境,在運(yùn)行環(huán)境中選定軟件運(yùn)行版本,選擇邏輯圖如圖 2 所示。

  4 一鍵安裝 Web 環(huán)境工具包的實(shí)現(xiàn)

  4.1 安裝 Apache

  一鍵安裝工具包提供了多個軟件版本供用戶選擇,本文以其中一個版本為例進(jìn)行說明。Apache 自動安裝腳本的運(yùn)行步驟如下。

  ( 1) 首先從網(wǎng)上下載對應(yīng)版本的源碼包,本文通過 wget 命令來實(shí)現(xiàn);

  ( 2) 源碼包下載完成后解壓縮,然后進(jìn)行編譯安裝;

  ( 3) 創(chuàng)建控制腳本并賦予可執(zhí)行權(quán)限;

  ( 4) 修改配置文件;

  ( 5) 生成虛擬主機(jī)配置文件;

  ( 6) 啟動服務(wù)。

  4.2 安裝 Tomcat

  Tomcat 自動安裝腳本的步驟如下。

  ( 1) 首先從網(wǎng)上下載對應(yīng)版本的源碼包,本文通過 wget 命令來實(shí)現(xiàn)。

  ( 2) 源碼包下載完成后解壓縮,然后進(jìn)行編譯安裝;

  ( 3) 創(chuàng)建 WWW 用戶和控制腳本并賦予可執(zhí)行權(quán)限;

  ( 4) 添加 rc.local 文件;

  ( 5) 啟動服務(wù)。

  4.3 安裝 Nginx

  Nginx 的安裝分為兩種組合,一 種 是 Nginx + PHP 組合,另一種是 Nginx+Tomcat 組合,安裝步驟雷同,運(yùn)行步驟如下。

  ( 1) 首先從網(wǎng)上下載對應(yīng)版本的源碼包,本文通過 wget 命令來實(shí)現(xiàn);

  ( 2) 源碼包下載完成后解壓縮,然后進(jìn)行編譯安裝;

  ( 3) 創(chuàng)建用戶和控制腳本并賦予可執(zhí)行權(quán)限;

  ( 4) 移動安裝目錄;

  ( 5) 啟動服務(wù)后,在 Linux 系統(tǒng)下安裝 ftp 的工具,根據(jù)腳本安裝的 Mysql 版本,創(chuàng)建用戶并生成隨機(jī)密碼。

  4.4 安裝 JDK

  JDK 是整個 JAVA 開發(fā)的核心,JDK 的運(yùn)行腳本如下。

  #! /bin /bash / /shell 腳本選用 bin-bash 的運(yùn)行環(huán)境rm -rf jdk1.7.0_55

  if [! -f jdk-7u55-linux-x64.tar.gz ]; then

  wget http: / /t-down. oss-cn-hangzhou. aliyuncs. com/jdk- 7u55-linux-x64.tar.gz

  fi / /下載 jdk 源碼包

  tarzxvf jdk-7u55-linux-x64.tar.gz

  mv jdk1.7.0_55 /* /alidata /server/java

  / /解壓并安裝

  5 一鍵安裝 Web 環(huán)境工具包的測試

  5.1 工具包安裝

  面向多服務(wù)器的一鍵安裝工具包解決方案其實(shí)并不是非常困難的問題,首先把一鍵安裝工具上傳到服務(wù)器上,本文使用 xshell 軟件與 xftp 軟件相結(jié)合的方式,然后根據(jù)每個操作系統(tǒng)相關(guān)編程的不同情況,如系統(tǒng)進(jìn)程和線程應(yīng)用、關(guān)于進(jìn)程和線程內(nèi)存的分配和處理情況及各操作系統(tǒng)的編程所應(yīng)用的字符編碼位數(shù)的區(qū)別等[10]。最后使用 xshell 軟件通過 ssh 協(xié)議遠(yuǎn)程登錄服務(wù)器,如圖 3 所示。

  在 xshell 界面中選擇 xftp,將一鍵安裝包sh-1.5.5 拖拽到服務(wù)器的 root 用戶的根目錄中,如圖 4 所示。

  在服務(wù)器的 root 用戶家目錄使用 ls 命令查看工具包,chmod-R 777 sh-1.5.5 給予工具包 777 權(quán)限,cd sh-1.5.5 目錄下執(zhí)行 install.sh 腳本,如圖 5 所示。

  安裝 JAVA 運(yùn)行環(huán)境和 PHP 運(yùn)行環(huán)境,為防止一鍵安裝工具與服務(wù)器的連接,新打開一個 shell 窗口,在窗口標(biāo)簽欄右擊,選擇“復(fù)制”,在新打開的界面中,輸入“top”命令,可以看到一直在跳動的系統(tǒng)資源統(tǒng)計(jì),表示已經(jīng)安裝完成,效果如圖 6 所示。

  5.2 一鍵工具包運(yùn)行測試

  解析服務(wù)器的請求,netstat-tnulp 查看端口啟動是否正常。首先解析 php9000 端口,mysql3306 端口,httpd 或者 nginx 的 80 端口,ftp21 端口,在運(yùn)行窗口能顯示出來,表示安裝成功,如圖 7 所示。然后查看 JAVA 運(yùn)行環(huán)境的服務(wù)啟動情況,在工具包的目錄下使用 cat acconut.log 命令查看自動安裝默認(rèn)生成的 mysql 和 ftp 賬號密碼,服務(wù)啟動正常時,在瀏覽器中能訪問到公網(wǎng) ip 地址,表示測試成功,如圖 8 所示。

  首先解析協(xié)議 HTTP 請求行,得到請求方法、 URI 和 HTTP 版 本。然后根據(jù)狀態(tài)機(jī)( 上 面 結(jié) 構(gòu)state 字段) 來跟蹤解析進(jìn)度,循環(huán)讀 ringq_t 隊(duì)列中報文數(shù)據(jù),解析請求頭域,將其內(nèi)容存儲在上面結(jié)構(gòu)對應(yīng)的字段中,解析實(shí)體部分。當(dāng)出現(xiàn)圖 9 所示的界面時表示安裝完成。

  但是安裝完成并不代表安裝成功,通過以下操作進(jìn)行檢查。使用 netstat -tnulp 查看端口啟動是否正常。

  從圖 10 可以看到 php9000 端口,mysql3306 端口,httpd 或者 nginx 的 80 端口,ftp21 端口啟動正常,表示已經(jīng)安裝成功。

  端口啟動正常的話就說明安裝成功,需要注意的是,Apache 沒有 9000 端口。再測試選擇 JAVA 運(yùn)行環(huán)境的服務(wù)啟動情況,如圖 11 所示。

  6、結(jié)語

  雖然現(xiàn)在一些開源站點(diǎn)的服務(wù)器提供了一些自己編寫的腳本程序,也能實(shí)現(xiàn)一鍵安裝 Web 環(huán)境,但因?yàn)閭€人使用習(xí)慣和技術(shù)偏重的緣故,這些一鍵安裝 Web 環(huán)境的功能單一,沒有給用戶提供各種運(yùn)行環(huán)境的選擇,更沒有讓用戶自己選擇架構(gòu)和軟件版本的功能。本文設(shè)計(jì)出一款能夠適應(yīng)大多數(shù)系統(tǒng)的版本,能提供常見環(huán)境、架構(gòu)、運(yùn)行穩(wěn)定的軟件,能夠提升網(wǎng)站部署環(huán)境的效率,為用戶提供了重要保障,促進(jìn)了互聯(lián)網(wǎng)行業(yè)的發(fā)展,幫助傳統(tǒng)企業(yè)和小微企業(yè)向互聯(lián)網(wǎng)區(qū)域轉(zhuǎn)變或者延伸。

  推薦閱讀:如何做好學(xué)校服務(wù)器的安全維護(hù)


《基于云服務(wù)器一鍵安裝 Web 環(huán)境的設(shè)計(jì)與實(shí)現(xiàn)》
上一篇:關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)安全中的防火墻技術(shù)應(yīng)用探討
下一篇:激光物理學(xué)的革命:讓光束干活
更多>>

期刊目錄