之前有一篇部落格寫的是LAMP的環境搭建,今天來詳細介紹一下另外一個模式——LNMP=Linux+Nginx+MySQL+PHP。
一、在Linux系統下nginx的安裝過程,先到http://nginx.org/download/這個網站找到自己需要下載的版本,複製下載的連結地址,這裡以nginx-1.6.2為例,在命令列輸入命令:
cd /usr/local/src //將安裝包下載到/usr/local/src目錄下
wget http://nginx.org/download/nginx-1.6.2.tar.gz
下載完成後會在目錄下看到一個nginx-1.6.2.tar.gz的安裝包,解壓安裝包:
tar zxvf nginx-1.6.2.tar.gz
解壓之後進行安裝輸入命令:
cd nginx-1.6.2 //切換到解壓後的nginx目錄
./configure --prefix=/usr/local/nginx //安裝到/usr/local目錄下
在執行上述命令的時候我的伺服器報了一個錯誤:
上述錯誤說找不到C編譯器,那就給你裝個編譯器,輸入命令:
yum -y install gcc gcc-c++ autoconf automake make
執行完後再使用安裝命令 ./configure --prefix=/usr/local/nginx 已經不報上述錯誤啦,但是又提示了一個新的錯誤:
HTTP重寫模組需要PCRE庫,這就要安裝PCRE庫啦:
yum install pcre
輸入命令居然又提示我已經安裝了pcre庫,Nothing to do...
這時候就要檢查一下pcre-devel是否已安裝了,同樣輸入命令:
yum install pcre-devel
執行命令,果然是沒有devel,輸入y繼續安裝完成,完成以後再次執行安裝命令:
./configure --prefix=/usr/local/nginx
結果事與願違又報了一個錯:
HTTP GZIP模組需要ZLIB庫,又是缺少庫,按照上面那個套路再走一遍吧,命令:
yum install zlib
提示我Nothing to do...,呵呵噠,繼續命令:
yum install zlib-devel
果然又是缺少devel,安裝完成後再再次執行安裝命令:
./configure --prefix=/usr/local/nginx
這次終於安裝完成了,簡直一波三折:
最後執行編譯命令:
make && make install
nginx的體積比apache小的多,所以編譯所需時間也很短.編譯完成後切換到/usr/local/nginx目錄將看到四個目錄:
conf 主要放置設定檔
html 主要放置網頁檔案
logs 主要放置記錄檔
sbin 主要放二進位程式
想啟動nginx的話只需要輸入命令:
./sbin/nginx
注意:如果你在前面已經安裝了apache的話,這時候可能會報一個錯誤,
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) //這是因為你的80連接埠已經被佔用,啟動nginx的時候衝突
netstat -tunlp //查看正在啟動並執行服務或軟體
找到佔用80連接埠的軟體或者服務將其關閉即可,之後再輸入./sbin/nginx 命令,如果人品正常的話應該已經正常啟動了.
二、yum安裝MySQL:
yum install mysql mysql-devel mysql-server
這個沒啥好說的,一路y安裝下來即可
三、安裝PHP:
先到PHP官網找到需要的版本將壓縮包下載下來,這裡以php-5.6版本為例上傳到伺服器/usr/local/src/目錄下,進入到命令列模式,輸入命令:
tar zxvf php-5.6.36.tar.gz
解壓之後進行編譯,編譯的時候需要加上一些支援,如mysqlnd、ttf、gd等:
./configure --prefix=/usr/local/php --with-mysql=mysqlnd --enable-mysqlnd --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --enable-fpm
編譯時間需要注意可能會提示錯誤,如缺少某些包,這時候像上面安裝nginx一樣的套路,比如我遇到未找到libxml2的錯誤,直接命令:
yum install libxml2
提示我Nothing to do...再來一條命令:
yum install libxml2-devel
果然又是缺少devel,安裝完成後再次編譯,完成後別忘記:
make && make install
編譯完成後還要做一些PHP的配置操作:
cp /usr/local/src/php-5.6.36/php.ini-development php.ini-production
cp /usr/local/src/php-5.6.36/php.ini-development ./lib/php.ini
cp etc/php-fpm.conf.default etc/php-fpm.conf
到這裡就已經完成了LNMP的搭建,別忘了cd /usr/local/php目錄啟動PHP:
./sbin/php-fpm
netstat -tunlp