個(gè)人博客:https://xiaofengsir.com/,關(guān)注更新文章
LNMP環(huán)境的搭建與配置(一)
前言
搭建一個(gè)網(wǎng)站,首先要考慮的就是使用什么樣的架構(gòu)垃杖,網(wǎng)站的架構(gòu)根據(jù)網(wǎng)站的大小和業(yè)務(wù)需求各有不同胎许,大家有空可以去研究下比較大的網(wǎng)站的架構(gòu)設(shè)計(jì),是會(huì)學(xué)到一些東西的栏妖。大型網(wǎng)站的架構(gòu)可以十分龐大復(fù)雜乱豆,但一般的個(gè)人或企業(yè)的網(wǎng)站可以相對(duì)簡(jiǎn)練,很容易上手吊趾。就目前流行的普通網(wǎng)站的架構(gòu)來說宛裕,通常分為以下幾個(gè)部分:
- 服務(wù)器
- 操作系統(tǒng)
- web服務(wù)器軟件/應(yīng)用服務(wù)器軟件
- 數(shù)據(jù)庫系統(tǒng)
- 開發(fā)語言
這5個(gè)部分是搭建一個(gè)網(wǎng)站的基礎(chǔ)。當(dāng)然這里沒有提到前端的一些框架论泛,比如目前比較流行的bootstrap揩尸,SEMANTIC UI等。
為了好理解屁奏,下面把這五個(gè)部分分別簡(jiǎn)單的做個(gè)筆記岩榆。
一. 服務(wù)器
服務(wù)器其實(shí)也是一臺(tái)計(jì)算機(jī),只不過他的硬件配置和外設(shè)跟PC是不同的坟瓢,或者說要求更高一點(diǎn)勇边。搭建一個(gè)網(wǎng)站,首先你就要有一臺(tái)服務(wù)器折联。在云技術(shù)興起之前粒褒,如果個(gè)人或企業(yè)想擁有一臺(tái)服務(wù)器放置自己的網(wǎng)站,一般有兩種方式:一是自己建個(gè)機(jī)房崭庸,或者機(jī)柜怀浆,自己運(yùn)維谊囚;二是找IDC服務(wù)商,購(gòu)買或租用一臺(tái)服務(wù)器执赡,并且把服務(wù)器放在專業(yè)的IDC機(jī)房運(yùn)維镰踏。事實(shí)上,第二種方式和目前的云服務(wù)器非常類似沙合,當(dāng)然現(xiàn)在的云服務(wù)器的優(yōu)點(diǎn)太多了....比如功能更多奠伪,也更靈活,使用起來變得十分方便可靠等等首懈。因此現(xiàn)在基本都是在使用云服務(wù)器在搭建網(wǎng)站了绊率。
- 那去哪買一臺(tái)云服務(wù)器呢?
區(qū)域 | 種類 |
---|---|
國(guó)內(nèi) | 阿里云究履、騰訊云滤否、百度云、移動(dòng)云等等... |
國(guó)外 | AWS最仑、DigitalOcean藐俺、linode、vultr等等... |
云服務(wù)器提供商非常多泥彤,按國(guó)內(nèi)和國(guó)外來分:
區(qū)域 | 種類 |
---|---|
國(guó)內(nèi) | 阿里云欲芹、騰訊云、百度云吟吝、移動(dòng)云等等... |
國(guó)外 | AWS菱父、DigitalOcean、linode剑逃、vultr等等... |
這些都是云服務(wù)的提供商浙宜,服務(wù)的功能、配置炕贵、價(jià)格等等魚龍混雜梆奈,各種各樣。我之前寫過許多主機(jī)測(cè)評(píng)的文章称开,也用過十幾家的服務(wù)器亩钟,總結(jié)下來,這里只提一個(gè)建議:?jiǎn)尉唾I國(guó)內(nèi)服務(wù)器還是國(guó)外來說鳖轰,如果你不想備案清酥,可以買國(guó)外的。如果你是企業(yè)或者不介意走幾個(gè)簡(jiǎn)單的備案流程蕴侣,那就買國(guó)內(nèi)的服務(wù)器吧焰轻。
這里推薦使用阿里云的ECS,因?yàn)樗晟埔恍├ト浮R⒁獾氖侨柚荆绻阆腴_發(fā)微信小程序蝠筑,建議還是用騰訊云吧,一家子的東西揩懒,更方便一些什乙。
另外,國(guó)外一般稱云服務(wù)器為VPS(Virtual Private Server )已球,它和阿里云的ECS大致類似臣镣。吊詭的是,幾乎每個(gè)云服務(wù)提供商的云服務(wù)器都有一個(gè)自己的名字智亮,可能是為了做噱頭吧忆某,它們相比起來差別并不大,但是存在一些區(qū)別阔蛉。除此之外弃舒,還有獨(dú)立服務(wù)器,虛擬主機(jī)等概念名詞馍忽,大家可以百度了解一下棒坏。
二.操作系統(tǒng)
種類 | 系統(tǒng)版本 |
---|---|
Windows系列 | Windows Server 2008/2012/2016 |
Linux系列 | CentOS、Ubuntu遭笋、FreeBSD、SUSE Linux徒探、Debian等.. |
這里敘述的操作系統(tǒng)指的是服務(wù)器上安裝的操作系統(tǒng)瓦呼。如上所說,服務(wù)器其實(shí)就是一臺(tái)特殊的計(jì)算機(jī)测暗,跟PC一樣央串,需要安裝一個(gè)操作系統(tǒng)。在購(gòu)買云服務(wù)器時(shí)碗啄,大家會(huì)遇到一個(gè)選擇操作系統(tǒng)的步驟质和,拿阿里云的ECS舉例,一般服務(wù)器上用的操作系統(tǒng)有以下兩類:
種類 | 系統(tǒng)版本 |
---|---|
Windows系列 | Windows Server 2008/2012/2016 |
Linux系列 | CentOS稚字、Ubuntu饲宿、FreeBSD、SUSE Linux胆描、Debian等.. |
可以看到瘫想,目前的操作系統(tǒng)主要就是這兩個(gè)系列,至于為什么Linux系列版本這么多昌讲?每個(gè)版本之間又有什么區(qū)別国夜?這些問題以后再說吧。一般來說短绸,推薦使用Linux系列的服務(wù)器车吹,因?yàn)樗_源免費(fèi)筹裕,而且性能優(yōu)良。版本則選擇CentOS 7.x因?yàn)樗闹形馁Y料最多窄驹,遇到問題好處理一些饶碘。
三.web服務(wù)器軟件/應(yīng)用服務(wù)器軟件
現(xiàn)在假設(shè)你購(gòu)買了一臺(tái)阿里云的ECS服務(wù)器,并且選擇安裝了CentOS 7操作系統(tǒng)馒吴。接下來要考慮的就是使用哪種web服務(wù)器軟件扎运,或者應(yīng)用服務(wù)器軟件,抑或者兩個(gè)軟件搭配使用饮戳。
web服務(wù)器軟件和應(yīng)用服務(wù)器軟件有什么區(qū)別呢豪治?事實(shí)上,web服務(wù)器可以理解為它只是應(yīng)用服務(wù)器的一種扯罐,可以叫做:web應(yīng)用服務(wù)器负拟。也就是說web服務(wù)器作為應(yīng)用服務(wù)器的一種,它只需支持HTTP協(xié)議歹河、HTML文檔格式及URL等掩浙,提供網(wǎng)頁信息瀏覽服務(wù)。對(duì)應(yīng)用服務(wù)器而言秸歧,它能提供除了http請(qǐng)求外更多的服務(wù)厨姚。
軟件 | 種類 |
---|---|
web服務(wù)器軟件 | Apache, Nginx, lighttpd |
應(yīng)用服務(wù)器軟件 | Tomcat, WildFly(原Jboss), WebLogic |
如果還是不太明白也沒關(guān)系,在以后的使用中你會(huì)慢慢清晰他們之間的區(qū)別键菱。它們通常有以下幾種:
軟件 | 種類 |
---|---|
web服務(wù)器軟件 | Apache, Nginx, lighttpd |
應(yīng)用服務(wù)器軟件 | Tomcat, WildFly(原Jboss), WebLogic |
以上所有種類的服務(wù)器軟件都是在Linux系列操作系統(tǒng)下的版本谬墙,如果你的云服務(wù)器安裝了Windows Server的操作系統(tǒng),你可以使用IIS作為web服務(wù)器经备,他們是一個(gè)體系的拭抬。
一般來說,個(gè)人的博客類網(wǎng)站或者企業(yè)官網(wǎng)類網(wǎng)站侵蒙,只需要安裝一個(gè)web服務(wù)器軟件即可造虎。也就是說,你需要在Apache, Nginx, lighttpd這類軟件中挑選一種提供web服務(wù)就可以了纷闺。它們之間各有優(yōu)缺點(diǎn)算凿,這里推薦使用Nginx,綜合的來看急但,它更優(yōu)秀一點(diǎn)澎媒。
4. 數(shù)據(jù)庫系統(tǒng)
數(shù)據(jù)庫系統(tǒng)其實(shí)就是一套用來管理網(wǎng)站數(shù)據(jù)的軟件。數(shù)據(jù)庫管理系統(tǒng)的種類非常的多波桩,下面簡(jiǎn)單列取幾種:
名稱 | 適用的操作系統(tǒng) | 是否免費(fèi) |
---|---|---|
MySQL | 跨平臺(tái) | 已被甲骨文收購(gòu)戒努,目前開源、免費(fèi) |
Mariadb | 跨平臺(tái) | 開源、免費(fèi) |
SQLServer | 跨平臺(tái) | 個(gè)人版和開發(fā)版免費(fèi)储玫,標(biāo)準(zhǔn)版和企業(yè)版收費(fèi) |
Oracle | 跨平臺(tái) | 收費(fèi)且昂貴 |
由上表可以看出數(shù)據(jù)庫管理系統(tǒng)基本都可以在Windows Server系列和Linux系列的操作系統(tǒng)下使用侍筛。綜合的來看,我們希望找到一個(gè)開源撒穷,免費(fèi)匣椰,對(duì)Linux系統(tǒng)十分友好的一款,因此推薦用Mariadb端礼。如果想了解更多的信息可以百度搜索一下禽笑,這里不再贅述了...
5. 開發(fā)語言
主流的網(wǎng)站開發(fā)語言有PHP, JAVA, ASP等。他們之間的區(qū)別以及各自的優(yōu)缺點(diǎn)網(wǎng)上有很多介紹蛤奥。就目前使用來說佳镜,大型網(wǎng)站如淘寶,京東等使用的是JAVA凡桥,中小型網(wǎng)站或者博客類的網(wǎng)站PHP占據(jù)著主流蟀伸,尤其是目前各式各樣的CMS,例如WordPress, Dupal, Discuz, Typecho, Flarum等等....都是使用的PHP作為開發(fā)語言缅刽。因此對(duì)于初學(xué)者啊掏,建議還是選擇PHP語言吧,坊間有句話:“PHP是最好的語言衰猛!”迟蜜,可見一斑。
- 總結(jié):現(xiàn)在你應(yīng)該對(duì)搭建一個(gè)網(wǎng)站有了個(gè)大致的了解腕侄,姑且以搭建一個(gè)個(gè)人的博客網(wǎng)站為目標(biāo)小泉,我們選擇 阿里云的ECS(服務(wù)器)+CentOS(Linux操作系統(tǒng))+Nginx(web服務(wù)器)+Mariadb(數(shù)據(jù)庫管理系統(tǒng))+PHP(開發(fā)語言) 這樣的一套“配置”吧。對(duì)了冕杠,不知道你有沒有發(fā)現(xiàn),它們的首字母正好是 “LNMP” ~