Centos6.4 源碼安裝nginx之LNMP

今天在網上查資料時,看到一信息是有關centos6.4的,官方尚未測試LNMP可否安裝在centos6.4環境中,而我剛好剛在虛擬機上安裝了centos6.4系統,帶着一顆倔強而又興奮的心開始了在centos上的探測。結果,我是滿載而歸,其安裝配置和在centos5.8上大體相同,可是有些細節不注意的話,是跑步起來的。由此把個人方法貼出來,一來是個筆記,希望能夠幫助有心學習的人。首先咱們要對這方面的知識作一簡單的說明。 php

LNMP 指的是什麼呢,這裏能夠「望文生義」,其是linux  NGINX  Mysql  PHP的組合。每一種工具的安裝都有其特長來吸引咱們去使用它,對此就要了解其組合的各個工具的特色: html

Linux:不用多說,這是咱們都熟知的以開源系統,是一類Unix計算機操做系統的統稱,是目前最流行的免費的操做系統。 mysql

NGINX:是一個高性能的HTTP和反向代理服務器,是一個小巧而高效的Linux下的Web服務器軟件。Nginx性能穩定、功能豐富、運維簡單、處理靜態文件速度快且消耗資源極少。 linux

Mysql:是一個小型關係型數據庫管理系統,如今市場份額也在不斷的擴大。 nginx

PHP:一種在服務器段執行的嵌入HTML文檔的腳本語言,市場需求在不斷攀升。 正則表達式

簡單瞭解了LNMP後,下來就是來搭建了 sql

搭建以前呢,要先到相應的官網下載相應的源碼,這裏我已下載下來了,他們是 數據庫

libevent-2.0.18-stable.tar.gzvim

 

mysql-5.5.15-linux2.6-i686.tar.gzcentos

 

nginx-1.3.16.tar.gz

 

php-5.4.14.tar.bz2

 

xcache-3.0.1.tar.gz

對於各個部分的搭建順序,每一一個一成不變的次序,但因爲PHP要依賴NGINXMysql模塊的,因此,要先對NGINXMysql來進行安裝

這裏,爲了可使用到各模塊的最新功能,採用源碼來安裝。而Mysql的源碼安裝,其官方還爲咱們提供了二進制版的,爲咱們省去了很多「麻煩」,對於我這樣的懶人,固然不會「自找麻煩了」,這裏就採用二進制版來安裝。

首先來進行拆包: tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/切換到解壓的目錄能夠看到解壓出的目錄名字很長,爲了操做的方便,這裏爲其作一個軟鏈接:

ln -s mysql-5.5.15-linux2.6-i686/  mysql

而後切換到mysql目錄下,能夠看到官方提供的安裝文檔INSTALL-BINARY,根據裏面的步驟作就好

建立組:groupadd -r mysql

建立用戶:useradd -r -g mysql mysql -M

 

改變全部者:chown -R mysql .

改變所屬組:chgrp -R mysql .

初始化:scripts/mysql_install_db --user=mysql

而後把權限改回來:  chown -R root .   chown -R mysql data

而後拷貝並生成mysql配置文檔:cp support-files/my-medium.cnf /etc/my.cnf

拷貝並生成mysql的控制文件:cp support-files/mysql.server /etc/init.d/mysqld,賦予其可執行權限:chmod a+x /etc/init.d/mysqld

利用 chkconfig --add mysqld來把其加入開機啓動進程。

啓動mysql

profile文件中加入mysql環境變量

把庫文件的路徑加入變量裏vim /etc/ld.so.conf.d/mysql.conf/usr/local/mysql/lib

而後執行ldconfig命令來刷新,接着來看能不能找到庫文件

而後對頭文件include作一個軟鏈接:ln -s include /usr/include/mysql

啓動mysql,且爲root用戶設置密碼:mysqladmin -u root -p password 'wgz0224gz'

到此,mysql的搭建就完成了。

下面來搭建NGINX

安裝nginx以前,首先要安裝pcre(正則表達式庫)和libevent(提升應用程序的性能)

安裝pcre-devel就採用rpm包來安裝就好

而後源碼安裝libevent

在安裝時,會檢測gcc環境,因此要先安裝gcc環境。因爲是用虛擬機作的,首先要掛載光盤。這裏爲了解決依賴關係,對懶人我來講,利用yum來安裝是不二之選。因此要先配置本地yum。其中在centos6.4系統中,yum的配置文件有4個,其中有三個網絡yum的配置文件,這裏只是用本地yum,因此在作以前要把三個網絡yum的配置文件移到其餘地方,以防止干擾。

vim /etc/yum.repos.d/CentOS-Media.repo 

yum  - y install gcc

而後依舊先拆包 tar -zxvf libevent-2.0.18-stable.tar.gz  -C /usr/local/src/,切換到解壓的目錄

執行如下命令

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

接下來要make了,可是centos6.4好像默認沒有安裝make,因此這裏就要先安裝make,用什麼安裝呢?固然先把光盤掛載而後用yum

 

yum  - y install make

 

而後就能夠執行make

 

make

make install

切換到安裝目錄,對庫文件作相應的處理

vim /etc/ld.so.conf.d/libevent.conf 加入路徑/usr/local/libevent/lib

而後執行如圖示命令

而後對頭文件作軟鏈接: ln -s /usr/local/libevent/include/  /usr/include/libevent

而後來安裝nginx

 

首先拆包 tar -zxvf nginx-1.3.16.tar.gz -C /usr/local/src/而後切換到解壓的目錄中去

建立組和用戶:

安裝前會須要 OpenSSL 模塊的,因此依然要用yumopenssL模塊裝起來

yum -y install openssl-devel

接下來執行以下命令:

./configure \

  --conf-path=/etc/nginx/nginx.conf \

 --error-log-path=/var/log/nginx/error.log \

  --http-log-path=/var/log/nginx/access.log \

  --pid-path=/var/run/nginx/nginx.pid \

  --lock-path=/var/lock/nginx.lock \

  --user=nginx \

 --group=nginx \

  --with-http_ssl_module \

  --with-http_flv_module \

  --with-http_stub_status_module \

  --with-http_gzip_static_module \

  --http-client-body-temp-path=/var/tmp/nginx/client/ \

 --http-proxy-temp-path=/var/tmp/nginx/proxy/ \

  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \

  --with-pcre

make

make install

 

而後在/etc/init.d/目錄下作一個控制腳本nginx

而後爲其附加可執行權限:chmod a+x nginx

而後把其加入chkconfig管理:chkconfig --add nginx而後建立一個目錄:

mkdir -pv /var/tmp/nginx/client

接着啓動nginxservice nginx start而後測試nginx是否啓動成功

而後來安裝phpfastcgi

首先依舊進行拆包: tar -jxvf php-5.4.14.tar.bz2 -C /usr/local/src/

安裝前,要把xml庫文件裝上,依舊用yum來裝,如今發現yum的強大了吧,是否是有點嫉妒羨慕恨呀,哈哈,趕快搭建yum

yum -y install libxml2-devel

切換到剛解壓的目錄,執行以下老三部的命令:

./configure    \

      --prefix=/usr/local/php \

       --enable-fpm   \

       --enable-sockets  \

       --with-mysql=/usr/local/mysql \

        --with-mysqli=/usr/local/mysql/bin/mysql_config  \

        --enable-mbstring  \

        --enable-xml  \

        --with-png-dir \

        --with-png  \

        --with-jpeg-dir  \

        --with-zlib  \

         --with-freetype-dir \

        --with-config-file-path=/etc/php \

         --with-config-file-scan-dir=/etc/php5.d

make

make install

建立兩個目錄: mkdir /etc/php /etc/php5.d

拷貝生成php.ini文件:進入源碼目錄 cp php.ini-production  /etc/php/php.ini

 

拷貝生成php-fpm的控制腳本:進入源碼目錄cp sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm賦予其可執行權限chmod  a+x /etc/init.d/php-fpm

 

拷貝產生php-fpm配置文件進入php的安裝目錄下的etc目錄 

  cp php-fpm.conf.default php-fpm.conf

啓動php-fpm

service  php-fpm  start

chkconfig  --add php-fpm

接下來爲了讓nginx能解析php的請求,須要編輯nginx的配置文件vim /etc/nginx/nginx.conf

而後進行測試:

首先要在/usr/local/nginx/html/目錄下編輯一個php文件,這裏我把index.html改成php文件,來更好的說明nginxphp 的關聯:mv index.html index.php編輯這個php文件,在後面追加以下圖的內容:

重啓nginx,在瀏覽器裏測試:

接下來測試與mysql的鏈接性,一樣要先編輯這個php文件,在後面追加以下圖內容(內容本身編輯,只要達到測試的目的便可)

重啓服務,利用瀏覽器進行測試:

當把mysql停掉時

看來各模塊已經成功銜接了。

下面來作php加速

首先依舊是拆包:tar -zxvf xcache-3.0.1.tar.gz -C /usr/local/src/

而後切換到源碼目錄,首先要利用yum來安裝另外一個包,這樣才能夠順利進行下去

 yum -y install autoconf

由安裝文檔知,而後切換到php安裝目錄裏執行/usr/local/php/bin/phpize(爲了生成configure文件),接着就是執行咱們所熟知的老三部了:

./configure --enable-xcache  --with-php-config=/usr/local/php/bin/php-config

make

make install(執行完後會出現一條目錄,要記下來後面要用:-

  /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

而後整合xcachephp,已達到加速php的目的:cp xcache.ini  /etc/php5.d

而後編輯該文件:vim /etc/php5.d/xcache.ini 

爲了方便管理xcache,能夠進行以下操做

cd /usr/local/src/xcache-3.0.1/

 cp -r htdocs/ /usr/local/nginx/html/

cd /usr/local/nginx/html/htdocs/

chmod a+r index.php 

而後編輯文件vim /etc/php5.d/xcache.ini 

添加帳號和密碼,可是密碼須要md5加密的,因此先要生成一個md5加密的密碼

而後把帳號和密碼(本身定)加入/etc/php5.d/xcache.ini

而後重啓服務,並測試

到此,基於基於Centos6.4的nginxLNMP就大功告成啦

相關文章
相關標籤/搜索