天天看點

源碼安裝LNMP

一 、安裝環境搭建

1、所需安裝包:

2、導入安裝包:

3、配置yum:

4、挂在CD光牒:

    [root@localhost ~]# mount /dev/cdrom /mnt/cdrom

    mount: block device /dev/cdrom is write-protected, mounting read-only

    [root@localhost ~]#

5、安裝Linux必須的開發環境:

    ##檢視開發環境:

    [root@localhost ~]# yum grouplist |less

        例如:yum groupinstall "Development Libraries"

        //有些開發環境是在進行源碼安裝中所必須的,為了避免錯誤,我們有必要安裝;

二 、初始環境搭建:解決在源碼安裝過程中,由于源碼程式的依賴性對安裝過程的影響。

1、安裝pcre(頭部的位址存寫)的開發包,這時一個nginx所依賴的包:

    [root@localhost ~]# cd /mnt/cdrom/Server/

    [root@localhost Server]# rpm -ivh pcre-devel-6.6-2.el5_1.7.i386.rpm

    warning: pcre-devel-6.6-2.el5_1.7.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

    Preparing...                ########################################### [100%]

       1:pcre-devel            ########################################### [100%]

    [root@localhost Server]#

2、源碼安裝libevent(一個事件觸發的網絡庫):

##拆包:

    [root@localhost ~]# tar -zxvf libevent-2.0.16-stable.tar.gz -C /usr/local/src

##配置libevent源代碼:

    [root@localhost src]# cd libevent-2.0.16-stable/

    [root@localhost libevent-2.0.16-stable]# ./configure

##編譯libevent源代碼:

    [root@localhost libevent-2.0.16-stable]# make

##安裝libevent源代碼:

    [root@localhost libevent-2.0.16-stable]# make install

##将libevent的庫檔案連接配接到标準庫檔案中:

    //在/etc/ld.so.conf.d/目錄下建立一個指明libevent庫的路徑檔案(libevent.conf)

    [root@localhost ~]# cd /etc/ld.so.conf.d/

    [root@localhost ld.so.conf.d]# vim libevent.conf

##手工調用libevent的庫檔案:

    [root@localhost ld.so.conf.d]# ldconfig -v

##檢視libevent的庫檔案是否被調用:

    [root@localhost ld.so.conf.d]# ldconfig -pv |grep libevent

三 、源碼安裝nginx:

1、拆包:

    [root@localhost ~]# tar -zxvf nginx-1.0.11.tar.gz -C /usr/local/src/

    [root@localhost ~]# cd /usr/local/src/nginx-1.0.11/

2、建立一個目錄:

    [root@localhost nginx-1.0.11]# mkdir -pv /var/tmp/nginx

    mkdir: 已建立目錄 “/var/tmp/nginx”

    [root@localhost nginx-1.0.11]#

3、添加一個系統組和系統帳号:

    [root@localhost nginx-1.0.11]# groupadd -r nginx

    [root@localhost nginx-1.0.11]# useradd -r -g nginx -s /bin/false -M nginx

4、檢測nginx源代碼配置檔案:

    [root@localhost nginx-1.0.11]# ./configure \

    >  --prefix=/usr/local/nginx \  //指定安裝目錄為/usr/local/nginx

    >  --sbin-path=/usr/sbin/nginx \ //服務程式所安裝的路徑

    >  --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 \  //開啟基于線程的nginx

    >  --lock-path=/var/lock/nginx.lock \  //存放鎖機制檔案的路徑

    >  --user=nginx \  //運作者的身份

    >  --group=nginx \  //運作者的組

    >  --with-http_ssl_module \  //開啟加密子產品

    >  --with-http_flv_module \  //開啟流媒體子產品

    >  --with-http_stub_status_module \  //安裝可以檢視nginx狀态的程式

    >  --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  //啟用位址重寫

5、編譯nginx源代碼:

    [root@localhost nginx-1.0.11]# make

6、安裝nginx源代碼:

    [root@localhost nginx-1.0.11]# make install

7、啟動服務:

    [root@localhost nginx-1.0.11]# nginx

8、測試nginx安裝是否正常:

四 、源碼安裝mysql:

1、将源碼解壓到/usr/local目錄下:

    [root@localhost ~]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local

2、檢視源碼安裝的幫助資訊:

    [root@localhost ~]# cd /usr/local/

    [root@localhost local]# less mysql-5.5.15-linux2.6-i686/INSTALL-BINARY 

3、通過幫助資訊對源碼進行相應的操作:

##建立mysql使用者組:

    [root@localhost mysql]# groupadd mysql

##建立一個使用者:所屬組為mysql,不允許登入shell,不建立家目錄;

    [root@localhost local]# useradd -r -g mysql -s /sbin/nologin -M mysql

##将源碼解壓的目錄生成一個名為mysql軟連接配接:

    [root@localhost local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql

##改變mysql下所有檔案的所有者和所屬組:

    [root@localhost local]# cd mysql

    [root@localhost mysql]# chown -R mysql .

    [root@localhost mysql]# chgrp -R mysql .

##初始化資料庫:

    [root@localhost mysql]# scripts/mysql_install_db --user=mysql

##再次更改相應檔案的所有者和所屬組:

    [root@localhost mysql]# chown -R root .

    [root@localhost mysql]# chown -R mysql data

##生成mysql服務的配置檔案:

    [root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf

##生成服務啟動腳本:

    [root@localhost mysql]# cp support-files/mysql.server  /etc/init.d/mysqld

        //複制啟動腳本,為了友善使用service mysqld start

##啟動服務:

    [root@localhost mysql]# service mysqld start

    Starting MySQL..                                           [  OK  ]

    [root@localhost mysql]#

4、将mysqld服務添加到開機啟動項中:

    [root@localhost mysql]# chkconfig --add mysqld

    [root@localhost mysql]# chkconfig --list |grep mysql

    mysqld          0:off 1:off 2:on 3:on 4:on 5:on 6:off

5、編輯庫檔案,使mysql能夠自動調用相應的庫檔案:

##建立mysql的庫檔案指向:

    [root@localhost mysql]# cd /etc/ld.so.conf.d/

    [root@localhost ld.so.conf.d]# vim mysql.conf

##重新加載mysql的庫檔案:

    [root@localhost ld.so.conf.d]# ldconfig -v |grep mysql

    /usr/local/mysql/lib:

    libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0

6、将mysql添加到環境變量中:

    [root@localhost ~]# PATH=$PATH:/usr/local/mysql/bin

    [root@localhost ~]# echo $PATH    /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

7、測試mysql:

五 、源碼安裝php:

    [root@localhost ~]# tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src/

    [root@localhost ~]# cd /usr/local/src/php-5.3.7/

2、檢測php源代碼配置檔案:

    [root@localhost php-5.3.7]# ./configure \

    --prefix=/usr/local/php \

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

    --with-openssl \

    --enable-fpm \

    --with-libevent-dir=/usr/local \

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

    --enable-mbstring \

    --with-freetype-dir \

    --with-jpeg-dir \

    --with-png-dir \

    --with-zlib \

    --with-libxml-dir=/usr \

    --enable-xml \

    --with-iconv-dir=/usr/local

3、編譯php源代碼:

    [root@localhost php-5.3.7]# make

4、安裝php源代碼:

    [root@localhost php-5.3.7]# make install

5、建立php主配置檔案:

    [root@localhost php-5.3.7]# cp php.ini-production /usr/local/php/php.ini

6、建立php-fpm.conf檔案:

    [root@localhost php-5.3.7]# cd /usr/local/php/etc/

    [root@localhost etc]# cp php-fpm.conf.default php-fpm.conf

7、編輯php-fpm.conf檔案:

    [root@localhost ~]# vim /usr/local/php/etc/php-fpm.conf

8、編輯fastcgi.conf:

    [root@localhost ~]# cd /etc/nginx/

    [root@localhost nginx]#  vim /etc/nginx/fastcgi.conf

9、将fastcgi.conf的配置重定向到fastcgi_params:

    [root@localhost nginx]# cat fastcgi.conf > fastcgi_params

10、啟動php-fpm服務:

    [root@localhost ~]# /usr/local/php/sbin/php-fpm

11、配置nginx的主配置文檔:

    [root@localhost ~]# vim /etc/nginx/nginx.conf

12、重新加載nginx的主配置文檔:

    [root@localhost ~]# pkill -1 nginx

六 、驗證測試:

1 、測試nginx連接配接php的正确性:

##建立并編輯php首頁index.php:

    [root@localhost ~]# cd /usr/local/nginx/html/

    [root@localhost html]# vim index.php

##浏覽測試:

2 、測試php連接配接mysql的正确性:

##編輯php首頁index.php:

本文轉自 cexpert 51CTO部落格,原文連結:http://blog.51cto.com/cexpert/980136