System Version: CentOS 6.8
阿里云的ECS服務(wù)器剛買來(lái)是很干凈的,沒(méi)有PHP運(yùn)行的環(huán)境,但是可以購(gòu)買的時(shí)候直接買成套的服務(wù)器,有的需要花錢,有的不需要花錢,這是后來(lái)才知道的。
我現(xiàn)在的只有一個(gè)操作系統(tǒng),也可以選擇安裝那些自動(dòng)化的腳本。但自己買來(lái)的東西,不去花點(diǎn)時(shí)間折騰折騰,感覺(jué)有點(diǎn)浪費(fèi)這個(gè)機(jī)會(huì),索性就自己安裝一個(gè)LNMP的運(yùn)行環(huán)境好了。
軟件下載
零、編譯環(huán)境準(zhǔn)備
yum -y install gcc gcc-c++ automake autoconf libtool
- gcc gcc-c++ C編譯器
-
automake autoconf 在Linux環(huán)境下編譯安裝軟件時(shí),用于自動(dòng)生成Makefile文件,后續(xù)可以用
./configure、make、make install編譯安裝 - libtool 解決庫(kù)的依賴問(wèn)題
一、 Nginx
-
訪問(wèn)Nginx官方網(wǎng)站并選擇穩(wěn)定版Nginx,點(diǎn)擊進(jìn)入下載地址。
選擇穩(wěn)定版Nginx -
找到穩(wěn)定版本的安裝包,右鍵復(fù)制鏈接地址
復(fù)制鏈接地址 -
終端遠(yuǎn)程連接服務(wù)器,并下載到指定目錄(我這里下載到
/usr/local/src/),寫此文時(shí),Nginx官方最新的穩(wěn)定版本的包為nginx-1.12.0.tar.gz
執(zhí)行命令:// 下載安裝包 wget http://nginx.org/download/nginx-1.12.0.tar.gz // 解壓 tar -zxvf nginx-1.12.0.tar.gz -
進(jìn)入剛解壓出來(lái)的目錄,執(zhí)行:
./configure --prefix=/usr/local/web/檢測(cè)編譯環(huán)境,報(bào)錯(cuò)如下:
大概意思就是HTTP重寫模塊需要PCRE這個(gè)庫(kù)(顯示我當(dāng)前沒(méi)有),還給出了解決辦法:- 關(guān)閉這個(gè)模塊:
--without-http_rewrite_module - 安裝PCRE庫(kù)
- 把Nginx和PCRE庫(kù)一起靜態(tài)編譯:
--with-pcre=<path>
顯然,逃避不是解決問(wèn)題的好辦法,我需要去安裝這個(gè)庫(kù),然后和Nginx一起編譯。
- 關(guān)閉這個(gè)模塊:
安裝PCRE庫(kù)
# 下載
wget https://ftp.pcre.org/pub/pcre/pcre-8.00.tar.bz2
# 解壓
tar jxvf pcre-8.00.tar.bz2
**報(bào)錯(cuò)**

還是那一套,下載安裝解決,但是總?cè)ゾ幾g安裝未免太麻煩了,直接yum吧~
**又報(bào)錯(cuò)**

大概意思是說(shuō),zlib這個(gè)玩意兒早已經(jīng)安裝了最新版本了,不能安了。
以前遇到過(guò)這樣的問(wèn)題,zlib這玩意兒是用于壓縮和解壓的模塊,有些應(yīng)用依賴于這個(gè)庫(kù),所以要安裝。
而安裝PHP的運(yùn)行環(huán)境需要編譯zlib擴(kuò)展,就要用到zlib庫(kù)的頭文件等zlib.h,而zlib.h是在zlib-devel包中的,所以解決辦法是:**安裝zlib-devel包**`yum -y install zlib-devel`
安裝`zlib-devel`之后,再次運(yùn)行`./configure --prefix=/usr/local/web/nginx/ --with-pcre=/usr/local/src/pcre-8.00/`終于看到如下界面,說(shuō)明編譯環(huán)境沒(méi)有問(wèn)題了,終于可以編譯安裝了。

`make && make install` 安裝。
進(jìn)入到`/usr/loca/web/`目錄下,果然看到nginx的目錄。
`nginx/sbin/nginx` 啟動(dòng)nginx。
`ps aux | grep nginx` 看到已經(jīng)可以看到nginx的兩個(gè)進(jìn)程。
> 通過(guò)內(nèi)網(wǎng)訪問(wèn)查看nginx已經(jīng)工作

> **外網(wǎng)無(wú)法通過(guò)IP直接訪問(wèn)**
> * ping了一下可以ping通,但telnet 80端口不通。
> * 防火墻壓根沒(méi)開(kāi)啟。
> * `netstat -anp` 看到nginx已經(jīng)在監(jiān)聽(tīng)80端口
最后查到原因:**阿里云ECS的安全組列表里沒(méi)有開(kāi)放80端口**
解決辦法:**添加一個(gè)安全組規(guī)則,開(kāi)放80端口**
至此,外網(wǎng)終于可以通過(guò)IP訪問(wèn)。
**Welcome to nginx!**(2017-05-18 00:45)



