如何快速學習網站基本搭建和服務器環境配置(LAMP/LNMP/Tomcat)?

1、基本概念

實驗1: 在阿里雲上部署Tomcat服務器
業務背景nginx

Tomcat爲網站的服務器,每一個網站在後面都有一個服務器來解析那個網頁,Tomcat 對於 Java 來講它就是一個 Servlet 處理器,支持運行基於 Servlet 的 Java 程序,同時 JSP 自己也是基於 Servlet 的技術,也是支持的,像傳說中的 Spring, Struts, JSF 都是基於 Servlet 的,均可以在 Tomcat 上跑起來。web

技術背景更多詳情sql

Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其餘一些公司及我的共同開發而成。因爲有了Sun 的參與和支持,最新的Servlet 和JSP 規範老是能在Tomcat 中獲得體現,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 規範。由於Tomcat 技術先進、性能穩定,並且免費,於是深受Java 愛好者的喜好並獲得了部分軟件開發商的承認,成爲目前比較流行的Web 應用服務器。數據庫

Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是不少的場合下被廣泛使用,是開發和調試JSP 程序的首選。ubuntu

實驗2: 快速搭建和部署LAMP環境 更多詳情centos

LAMP是指Linux(操做系統),ApacheHTTP服務器,MySQL(有時也指MariaDB,數據庫軟件)和PHP(有時也指Perl或Python)的第一個字母,通常用來創建web應用平臺。雖然這些開放源代碼程序,自己並非專門設計成同另幾個程序一塊兒工做的,但因爲它們的免費和開源,這個組合開始流行(大多數Linux發行版本捆綁了這些軟件)。當一塊兒使用的時候,它們表現的像一個具備活力的解決方案包。和Java/J2EE架構相比,LAMP具備Web資源豐富、輕量、快速開發等特色,微軟的.NET架構相比,LAMP具備通用、跨平臺、高性能、低價格的優點,所以LAMP不管是性能、質量仍是價格都是企業搭建網站的首選平臺。緩存

Apache是LAMP架構最核心的Web Server,開源、穩定、模塊豐富是Apache的優點。但Apache的缺點是有些臃腫,內存和CPU開銷大,性能上有損耗,不如一些輕量級的Web服務器(例如nginx)高效,輕量級的Web服務器對於靜態文件的響應能力來講遠高於Apache服務器。Apache作爲Web Server是負載PHP的最佳選擇,若是流量很大的話,能夠採用nginx來負載非PHP的Web請求。nginx是一個高性能的HTTP和反向代理服務器,Nginx以它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。Nginx不支持PHP和CGI等動態語言,但支持負載均衡和容錯,可和Apache配合使用,是輕量級的HTTP服務器的首選。服務器

PHP的加速使用eAccelerator加速器,eAccelerator是一個自由開放源碼PHP加速器,優化和動 態內容緩存,提升了性能PHP腳本的緩存性能,使得PHP腳本在編譯的狀態下,對服務器的開銷幾乎徹底消除。它還有對腳本起優化做用,以加快其執行效率。 使PHP程序代碼執效率能提升1-10倍。網絡

開源的數據庫中,MySQL在性能、穩定性和功能上是首選,能夠達到百萬級別的數據存儲,網站初期能夠將MySQL和Web服務器放在一塊兒,可是當訪問量達到必定規模後,應該將MySQL數據庫從Web Server上獨立出來,在單獨的服務器上運行,同時保持Web Server和MySQL服務器的穩定鏈接。架構

實驗3: 在阿里雲上部署LNMP 更多詳情

LNMP簡介

LNMP表明的就是:Linux系統下Nginx+MySQL+PHP這種網站服務器架構。

Linux:是一類Unix計算機操做系統的統稱,是目前最流行的免費操做系統。表明版本有:debian、centos、ubuntu、fedora、gentoo等。

Nginx:是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP代理服務器。

Mysql:是一個小型關係型數據庫管理系統。

PHP:是一種在服務器端執行的嵌入HTML文檔的腳本語言。

這四種軟件均爲免費開源軟件,組合到一塊兒,成爲一個免費、高效、擴展性強的網站服務系統。

Nginx簡介和使用場景

Nginx是俄羅斯人編寫的十分輕量級的HTTP服務器,Nginx,它的發音爲 「engine X」, 是一個高性能的HTTP和反向代理服務器,同時也是一個IMAP/POP3/SMTP 代理服務器.Nginx是由俄羅斯人 Igor Sysoev爲俄羅斯訪問量第二的 Rambler.ru站點開發的,它已經在該站點運行超過三年了。Igor Sysoev在創建的項目時,使用基於BSD許可。

爲何Nginx的性能要比Apache高得多?這得益於Nginx使用了最新的epoll(Linux 2.6內核)和kqueue(freebsd)網絡I/O模型,而Apache則使用的是傳統的select模型。目前Linux下可以承受高併發訪問的 Squid、Memcached都採用的是epoll網絡I/O模型。

處理大量的鏈接的讀寫,Apache所採用的select網絡I/O模型很是低效。下面用一個比喻來解析Apache採用的select模型和Nginx採用的epoll模型進行之間的區別:假設你在大學讀書,住的宿舍樓有不少間房間,你的朋友要來找你。select版宿管大媽就會帶着你的朋友挨個房間去找,直到找到你爲止。而epoll版 宿管大媽會先記下每位同窗的房間號,你的朋友來時,只需告訴你的朋友你住在哪一個房間便可,不用親自帶着你的朋友滿大樓找人。若是來了10000我的,都要 找本身住這棟樓的同窗時,select版和epoll版宿管大媽,誰的效率更高,不言自明。同理,在高併發服務器中,輪詢I/O是最耗時間的操做之 一,select和epoll的性能誰的性能更高,一樣十分明瞭。

在高併發鏈接的狀況下,Nginx是Apache服務器不錯的替代品。Nginx同時也能夠做爲7層負載均衡服務器來使用。Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 能夠承受3萬以上的併發鏈接數,至關於同等環境下Apache的10倍。更多詳情

※更多文章和資料|點擊後方文字直達 ↓↓↓
100GPython自學資料包
阿里雲K8s實戰手冊
[阿里雲CDN排坑指南]CDN
ECS運維指南
DevOps實踐手冊
Hadoop大數據實戰手冊
Knative雲原生應用開發指南
OSS 運維實戰手冊
雲原生架構白皮書
Zabbix企業級分佈式監控系統源碼文檔

相關文章
相關標籤/搜索