一 、安裝環境搭建
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