LAMP/LNMP安裝與配置

教程:
http://www.imooc.com/learn/703

什么是LAMP?

LAMP = Linux + Apache + MySQL + PHP

為什么使用LAMP腮猖?
涵蓋整個(gè)Web開發(fā)流程罚斗。
流行( 全球70%網(wǎng)站在使用)眉撵,免費(fèi)(LAMP組成部分都是免費(fèi)的)空繁,開源怠李,輕量(最新Apache只有7M大谢稹)蛤克。

Linux:
開源的類Unix操作系統(tǒng),可以免費(fèi)使用和自由傳播夷蚊。

CentOS,RedHat,Ubantu构挤,紅旗等都是其發(fā)行版本。

Linux和Windows:

質(zhì)量的不同惕鼓。
用戶假設(shè)筋现,軟件哲學(xué)。

Linux優(yōu)勢(shì):完全免費(fèi)箱歧,穩(wěn)定高效

PHP:

MySQL:
開源矾飞,免費(fèi),高性能的數(shù)據(jù)庫呀邢。

Apache:
Web服務(wù)器軟件洒沦。
監(jiān)聽端口,接受請(qǐng)求价淌,解析HTTP協(xié)議申眼,轉(zhuǎn)發(fā)給PHP。
沒有apache也就沒有我們的網(wǎng)站開發(fā)蝉衣。

Nginx:
與apache一樣括尸,都是服務(wù)器軟件。
Nginx比apache:前景好买乃,配置輕松姻氨,性能更加優(yōu)秀。
apache是采用的輪詢機(jī)制剪验,nginx是一種高效的監(jiān)聽方式肴焊。

如何編譯安裝軟件?

編譯安裝是在Linux安裝軟件的重要方式之一功戚。
在linux中安裝軟件有兩種主要的方式:
1)編譯安裝
對(duì)軟件的源代碼進(jìn)行編譯安裝娶眷。
2)源安裝
比如在CentOS中使用yum安裝。

編譯安裝:
1)編譯前的準(zhǔn)備工作:
在命令行敲:

./configure

編譯為二進(jìn)制文件:

make

安裝:

make install

實(shí)戰(zhàn)環(huán)節(jié)

我們使用Oracle公司的VirtualBox這個(gè)軟件做一個(gè)虛擬機(jī)啸臀。
網(wǎng)站:virtualbox.org

創(chuàng)建centos虛擬機(jī)届宠,啟動(dòng)。(https://www.imooc.com/video/12897
啟動(dòng)的時(shí)候需要下載系統(tǒng)鏡像乘粒。

安裝好重啟之后豌注,配置網(wǎng)卡:


圖片.png

注意還要添加DNS和網(wǎng)關(guān):

DNS1=8.8.8.8
GATEWAY=10.10.10.1  # 這些都是和自己的內(nèi)網(wǎng)一個(gè)網(wǎng)段的才行,包括上面的10.10.10.150灯萍。

http://www.jb51.net/os/RedHat/189963.html

重啟網(wǎng)卡:

systemctl restart network.service

使防火墻運(yùn)行22端口(ssh)連接:

firewall-cmd --zone=public --add-port=22/tcp --permanent
systemctl restart firewalld.service

在VirtualBox上面的網(wǎng)卡需要對(duì)虛擬機(jī)選擇橋接網(wǎng)卡(設(shè)置->網(wǎng)絡(luò)):


圖片.png

將其在VirtualBox中重新啟動(dòng)轧铁。之后,我們就可以重新登錄了旦棉。

LAMP之安裝PHP:

我們可以在我們自己的mac上面使用ssh去連接虛擬機(jī)了齿风。

# 先安裝vim和wget
yum install -y vim  wget  # 安裝vim可以安裝它以及它的一系列依賴

我們選擇安裝7.0.26版本的PHP:
http://php.net/downloads.php#v7.0.26

php-7.0.26.tar.gz 點(diǎn)擊药薯,進(jìn)入,選擇:Hong Kong

郵件拷貝連接(http://hk1.php.net/get/php-7.0.26.tar.gz/from/this/mirror):

注意:
我們拷貝的地址救斑,是(http://hk1.php.net/get/php-7.0.26.tar.gz.asc/from/this/mirror
我們要?jiǎng)h除掉.asc:

http://hk1.php.net/get/php-7.0.26.tar.gz/from/this/mirror

然后:

wget  http://hk1.php.net/get/php-7.0.26.tar.gz/from/this/mirror

我們解壓.tar.gz文件:

tar -zxvf mirror

我們使用ll童本,可以看到解壓之后的文件:

-rw-------.  1 root        root            1454 Dec  4 14:59 anaconda-ks.cfg
-rw-r--r--.  1 root        root        18824456 Nov 21 20:20 mirror.1
drwxr-xr-x. 15 liaodalin01 liaodalin01     4096 Nov 21 19:57 php-7.0.26

php解壓以后有一個(gè)問題,就是我們單純的安裝PHP脸候,不能和nginx一起工作穷娱,只能和apache一起工作。
如果想和nginx一起工作作為webserver,我們需要安裝一個(gè)軟件(也是php的一個(gè)組件)纪他,叫作:FPM鄙煤。
需要我們配置./configure的時(shí)候添加 --enable-fpm用來激活FPM。

我們使用:

yum install -y gcc gcc++ libxml2-devel

我們來編譯安裝PHP:

1)configure茶袒。進(jìn)入解壓后的php-7.0.26根目錄,先configure

# 指定安裝路徑(一般來說是裝在/usr/local/下)
./configure --prefix=/usr/local/php7/  --enable-fpm   

2)make編譯(會(huì)比較慢凉馆,編譯的時(shí)間長)

make

3)安裝

make install

安裝完成之后薪寓,我們?cè)诩夷夸浵氯y(cè)試:

cd ~
vim test.php
<?php
phpinfo();

然后執(zhí)行:

/usr/local/php7/bin/php test.php

我們可以看到php的info的打印結(jié)果。

了解:
php-fpm是什么澜共?
fastcgi的管理器向叉,只能適用于php.
fastcgi是與語言無關(guān)的開放擴(kuò)展,主要講cgi的解釋器進(jìn)程保持在內(nèi)存中嗦董,借此以獲取較高的性能母谎。
fastcgi一直執(zhí)行著,不過每一次都要花時(shí)間去fork一個(gè)子進(jìn)程京革。
cgi奇唤,全稱是公共網(wǎng)關(guān)接口。是一個(gè)協(xié)議匹摇。

再順序理一下:
CGI:是一個(gè)協(xié)議咬扇,能夠保證webserver傳遞過來的數(shù)據(jù)是標(biāo)準(zhǔn)格式,方便CGI程序的編寫者廊勃。
eg:我們?cè)L問index.php的時(shí)候懈贺,這個(gè)時(shí)候,nginx會(huì)根據(jù)配置文件坡垫,知道這個(gè)不是一個(gè)靜態(tài)文件二直接返回梭灿,需要執(zhí)行php解釋器來處理,nginx會(huì)發(fā)送數(shù)據(jù)給解釋器本次請(qǐng)求的url冰悠,以及請(qǐng)求參數(shù)等堡妒。總之屿脐,nginx給php傳遞什么數(shù)據(jù)都是由cgi這個(gè)協(xié)議來決定的涕蚤。

訪問index.php卖怜,nginx要啟動(dòng)cgi來處理,而我們的php解釋器就是一個(gè)cgi程序谤碳,現(xiàn)在再來看下fastcgi伞辛。
cgi在處理程序的時(shí)候會(huì)fork一個(gè)子進(jìn)程, 處理完成后釋放烦粒,下次來請(qǐng)求的時(shí)候休溶,再fork,再釋放扰她。這樣的方式大家會(huì)覺得很笨兽掰,效率不高,所以fastcgi誕生了徒役。
fastcgi是程序主動(dòng)啟動(dòng)一個(gè)進(jìn)程孽尽,這個(gè)進(jìn)程有n個(gè)子進(jìn)程,然后子進(jìn)程都會(huì)常駐在內(nèi)存中忧勿,避免了fork和釋放杉女。當(dāng)然,fastcgi在忙的時(shí)候也會(huì)自己?jiǎn)?dòng)新的子進(jìn)程來幫助鸳吸,在比較閑的時(shí)候又會(huì)將這些子進(jìn)程銷毀熏挎,保證資源不浪費(fèi)。
PHP-FPM(FastCGI Process Manager) 是實(shí)現(xiàn)了fastcgi這個(gè)協(xié)議的程序晌砾,之前是三方的坎拐,現(xiàn)在被PHP官網(wǎng)買了。(協(xié)議是用于被實(shí)現(xiàn)养匈,自己只有標(biāo)準(zhǔn)哼勇,沒有具體的實(shí)現(xiàn))。所以現(xiàn)在我們就可以直接在官方下載和使用了乖寒。


安裝mysql

我們進(jìn)入:

dev.mysql.org

DOWNLOADS - > Community -> MySQL Community Server -> Generally Available(GA) releales 下選擇Source Code, 和Generic Linux (Architecture Independent)猴蹂, 通用的linux架構(gòu)(Compressed TAR Archive)。

我們選擇下載楣嘁,我們是下載到虛擬機(jī)上磅轻,我們右鍵,拷貝鏈接逐虚。在:No thanks, just start my download那里:
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz

我們?cè)谔摂M機(jī)中下載:

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz

使用tar解壓:

tar -zxvf mysql

我們安裝一些依賴包:

yum install -y cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel

我們進(jìn)入到解壓后的mysql根目錄聋溜,然后cmake 編譯:

注意:cmake是一個(gè)跨平臺(tái)的安裝工具。

最新版的mysql都使用cmake命令來進(jìn)行安裝叭爱,cmake的命令參數(shù)較多:

圖片.png
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \
-DMYSQL_DATADIR=/mydata/mysql/data  \
-DSYSCONFDIR=/etc  \
-DMYSQL_USER=mysql  \
-DWITH_MYISAM_STORAGE_ENGINE=1  \
-DWITH_INNOBASE_STORAGE_ENGINE=1  \
-DWITH_ARCHIVE_STORAGE_ENGINE=1  \
-DWITH_MEMORY_STORAGE_ENGINE=1  \
-DWITH_READLINE=1  \
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock  \
-DMYSQL_TCP_PORT=3306  \
-DENABLED_LOCAL_INFILE=1   \
-DENABLED_DOWNLOADS=1  \
-DWITH_PARTITION_STORAGE_ENGINE=1  \
-DEXTRA_CHARSET=all  \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci  \
-DWITH_DEBUG=0  \
-DMYSQL_MAINTAINER_MODE=0  \
-DWITH_SSL:STRING=bundled  \
-DWITH_ZLIB:STRING=bundled

注意:
如果有錯(cuò)的話重新下載這個(gè)版本安裝:( wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

安裝:

make install  

我們就安裝好了mysql撮躁,使用:

mysqld 

啟動(dòng)Mysql。

啟動(dòng)之后买雾,我們輸入:mysql就可以進(jìn)入mysql了把曼。


安裝Apache

打開Apache官網(wǎng):httpd.apache.org

Download -> Apache HTTP Server 2.4.29 (httpd): 2.4.29 is the latest available version 2017-10-05

圖片.png

我們點(diǎn)擊右鍵杨帽,拷貝鏈接(http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.29.tar.gz)。

在命令行嗤军,下載到虛擬機(jī)用戶根目錄:

wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.29.tar.gz

使用tar解壓:

tar -zxvf httpd

cd進(jìn)入解壓apache解壓目錄.

./configure --prefix=/usr/local/apache2

就在進(jìn)行編譯前的準(zhǔn)備工作注盈。
如果有錯(cuò)誤說APR沒有被發(fā)現(xiàn),我們就安裝APR叙赚。

我們?cè)谟脩舾夸浵螺dAPR以及APR-Util:

wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz

wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz

并解壓:

tar -zxvf apr
tar -zxvf apr-util

我們對(duì)apr和apr-util重命名老客。

mv apr-1.4.5 apr
mv apr-util-1.3.12 apr-util

我們要把這兩個(gè)文件夾(apr,apr-util)丟到httpd-2.4.20這個(gè)目錄中。

mv apr apr-utl httpd-2.4.20/srclib/

處理好apr和apr-util之后震叮,我們下載一個(gè)依賴pcre(正則):

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz

下載好安裝它(下載完之后它被命名為download文件夾)胧砰,它是最后一個(gè)依賴。

mv download pcre.tar.bz2
tar -jxvf  pcre.tar.bz2

在解壓完成后苇瓣,進(jìn)入解壓目錄:

cd pcre-8.37/

配置:

./configure --prefix=/usr/local/pcre-8.37

然后編譯:

make

安裝:

make install
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尉间,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子击罪,更是在濱河造成了極大的恐慌乌妒,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件外邓,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡古掏,警方通過查閱死者的電腦和手機(jī)损话,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來槽唾,“玉大人丧枪,你說我怎么就攤上這事∨悠迹” “怎么了拧烦?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長钝计。 經(jīng)常有香客問我恋博,道長,這世上最難降的妖魔是什么私恬? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任债沮,我火速辦了婚禮,結(jié)果婚禮上本鸣,老公的妹妹穿的比我還像新娘疫衩。我一直安慰自己,他們只是感情好荣德,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布闷煤。 她就那樣靜靜地躺著童芹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鲤拿。 梳的紋絲不亂的頭發(fā)上假褪,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音皆愉,去河邊找鬼嗜价。 笑死,一個(gè)胖子當(dāng)著我的面吹牛幕庐,可吹牛的內(nèi)容都是我干的久锥。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼异剥,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼瑟由!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起冤寿,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤歹苦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后督怜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體殴瘦,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年号杠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蚪腋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡姨蟋,死狀恐怖屉凯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情眼溶,我是刑警寧澤悠砚,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站堂飞,受9級(jí)特大地震影響灌旧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜酝静,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一节榜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧别智,春花似錦宗苍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽让歼。三九已至,卻和暖如春丽啡,著一層夾襖步出監(jiān)牢的瞬間谋右,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國打工补箍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留改执,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓坑雅,卻偏偏與公主長得像辈挂,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子裹粤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Nginx的模塊與工作原理 Nginx由內(nèi)核和模塊組成终蒂,其中,內(nèi)核的設(shè)計(jì)非常微小和簡(jiǎn)潔遥诉,完成的工作也非常簡(jiǎn)單...
    rosekissyou閱讀 10,215評(píng)論 5 124
  • linux下安裝mysql 使用yum安裝 1.打開頁面http://dev.mysql.com/download...
    simple_five閱讀 688評(píng)論 0 3
  • 系統(tǒng)環(huán)境 所需軟件官方下載地址: 一拇泣、 安裝開發(fā)包環(huán)境: 二、 關(guān)閉iptables和Selinux(生產(chǎn)...
    莫名其妙的一生閱讀 1,305評(píng)論 0 4
  • 1.LAMP介紹 ? LAM(M)P:L: linuxA: apache (httpd)M: mysql, mar...
    尛尛大尹閱讀 1,051評(píng)論 0 1
  • 今天13號(hào)剛報(bào)的無戒老師的寫作班矮锈,還是有點(diǎn)壓力的霉翔,不知道自己是否有精力和毅力去完成日更的flag。雖然無戒老師說了...
    陳冠峰閱讀 219評(píng)論 3 3