最近在騰訊雲買了一個伺服器(1核、2GB、1Mbps、CentOS 7.2、64位),準備搭建自己的LAMP(Linux、Apache、Mysql、PHP)伺服器,但登入上去後發現,其上除了一個CentOS系統啥都沒有。最後,不得不從零開始,一步一步操作,完成LAMP伺服器的搭建。
以下是具體操作步驟。
一、更改yum源
yum是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。基于RPM包管理,能夠從指定的伺服器自動下載下傳RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載下傳、安裝。
yum預設的下載下傳位址是國外位址,通常的下載下傳速度是很緩慢的。是以,為了使後面的操作較為順暢,我們先得将預設的yum源修改為國内源,如阿裡和網易。
修改yum源,可以使用如下指令:
1、備份本地yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
2、擷取阿裡yum源配置檔案
wget /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、更新cache
yum makecache
4、檢視
yum -y update
二、安裝Nginx

在這裡,Nginx主要作為反向代理伺服器,下載下傳Nginx可以使用如下指令:
yum install nginx
三、安裝Docker
Docker 是一個開源的應用容器引擎,基于 Go 語言 并遵從Apache2.0協定開源。Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上。Docker容器完全使用沙箱機制,互相之間不會有任何接口。這樣我們可以将本來的一台伺服器,劃分成多個互相不受影響的伺服器。
安裝docker,可以使用如下指令:
yum install docker
三、建立容器
Docker建立容器,是要以某一鏡像為基礎的。Doker下載下傳鏡像,使用如下指令:
docker pull 鏡像名
為了友善後期管理,我們要建立了兩個容器,一個容器運作PHP代碼,一個容器運作MySQL。是以,在建立容器之前,我們先得下載下傳相關鏡像檔案。如下:
1、下載下傳支援PHP代碼運作的鏡像
docker pull docker.io/eboraas/apache-php
2、下載下傳支援MySQL運作的鏡像
docker pull docker.io/mysql
待所需鏡像檔案下載下傳完畢後,就可以建立Docker容器了,如下:
1、建立MySQL容器
以上指令中,“ -e MYSQL_ROOT_PASSWORD=123456”表示設定MySQL資料root使用者的登入密碼為:123456。當指令執行成功後,執行docker exex -it mysqldb /bin/bash進入容器内部,啟動mysql,此時mysql伺服器就搭建成功了。
2、建立PHP容器
由于我的php項目需要連接配接mysql資料庫,是以,在建立PHP容器的時候,需要将mysqldb這個容器連接配接過來,如下:
以上指令中,--link 指令就表示将mysqldb容器連接配接到myapp容器中。當以上指令執行成功後,在myapp容器中就可以使用db連結mysqldb容器了,進行資料庫連接配接了。
四、設定Nginx代理
使用docker搭建的伺服器,通常其上有比較多的容器,而且每個容器可能都運作着不同的項目。為了使外部能正常通路這些容器裡運作的項目,我們一般需要使用nginx代理。設定nginx代理,可以按如下方式:
以上指令,表示将www.example.com域名映射到内部IP為172.17.0.3的容器。當指令執行成功後,你通路www.example.com就可以通路到172.17.0.3這個容器裡運作的項目了。