System Version: CentOS 6.8
阿里云的ECS服務(wù)器剛買來是很干凈的,沒有PHP運(yùn)行的環(huán)境晚顷,但是可以購買的時(shí)候直接買成套的服務(wù)器婚夫,有的需要花錢,有的不需要花錢缓醋,這是后來才知道的如失。
我現(xiàn)在的只有一個(gè)操作系統(tǒng),也可以選擇安裝那些自動(dòng)化的腳本送粱。但自己買來的東西褪贵,不去花點(diǎn)時(shí)間折騰折騰,感覺有點(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 解決庫的依賴問題
一歼培、 Nginx
-
訪問Nginx官方網(wǎng)站并選擇穩(wěn)定版Nginx震蒋,點(diǎn)擊進(jìn)入下載地址。
-
找到穩(wěn)定版本的安裝包躲庄,右鍵復(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)入剛解壓出來的目錄笋庄,執(zhí)行:
./configure --prefix=/usr/local/web/
檢測(cè)編譯環(huán)境,報(bào)錯(cuò)如下:
大概意思就是HTTP重寫模塊需要PCRE這個(gè)庫(顯示我當(dāng)前沒有)倔监,還給出了解決辦法:- 關(guān)閉這個(gè)模塊:
--without-http_rewrite_module
- 安裝PCRE庫
- 把Nginx和PCRE庫一起靜態(tài)編譯:
--with-pcre=<path>
顯然直砂,逃避不是解決問題的好辦法,我需要去安裝這個(gè)庫丐枉,然后和Nginx一起編譯哆键。
- 關(guān)閉這個(gè)模塊:
安裝PCRE庫
# 下載
wget https://ftp.pcre.org/pub/pcre/pcre-8.00.tar.bz2
# 解壓
tar jxvf pcre-8.00.tar.bz2
**報(bào)錯(cuò)**
![](http://upload-images.jianshu.io/upload_images/1818988-74f81aa40404c744.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
還是那一套,下載安裝解決瘦锹,但是總?cè)ゾ幾g安裝未免太麻煩了籍嘹,直接yum吧~
**又報(bào)錯(cuò)**
![](http://upload-images.jianshu.io/upload_images/1818988-990c18bf9e271ae1.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
大概意思是說,zlib這個(gè)玩意兒早已經(jīng)安裝了最新版本了弯院,不能安了辱士。
以前遇到過這樣的問題,zlib這玩意兒是用于壓縮和解壓的模塊听绳,有些應(yīng)用依賴于這個(gè)庫颂碘,所以要安裝。
而安裝PHP的運(yùn)行環(huán)境需要編譯zlib擴(kuò)展椅挣,就要用到zlib庫的頭文件等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/`終于看到如下界面峡竣,說明編譯環(huán)境沒有問題了,終于可以編譯安裝了量九。
![](http://upload-images.jianshu.io/upload_images/1818988-acf8c19914952ab5.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
`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)程。
> 通過內(nèi)網(wǎng)訪問查看nginx已經(jīng)工作
![](http://upload-images.jianshu.io/upload_images/1818988-912e234a1b6ef6e5.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
> **外網(wǎng)無法通過IP直接訪問**
> * ping了一下可以ping通肌似,但telnet 80端口不通费就。
> * 防火墻壓根沒開啟。
> * `netstat -anp` 看到nginx已經(jīng)在監(jiān)聽80端口
最后查到原因:**阿里云ECS的安全組列表里沒有開放80端口**
解決辦法:**添加一個(gè)安全組規(guī)則川队,開放80端口**
至此力细,外網(wǎng)終于可以通過IP訪問垦搬。
**Welcome to nginx!**(2017-05-18 00:45)
![](http://upload-images.jianshu.io/upload_images/1818988-bf3a54246e1ef797.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)