Nginx+Php-fpm+MySQL+Redis源代碼編譯安裝指南

說明:本教程主要包括如下三個部分:php

1. 源代碼編譯安裝Nginxhtml

2. 源代碼編譯安裝php以及mysql、redis擴展模塊mysql

3. 配置虛擬主機nginx

文中所涉及安裝包程序均提供下載連接,歡迎使用web

運行環境以及前置條件:Ubuntu 12.04 LTS 已安裝g++編譯環境redis

全部源程序路徑位於:root@ubuntu:/home/shihai/Desktop/Nginx文件夾下,以下圖所示:sql

\

\

程序安裝路徑位於:/usr/local文件夾下ubuntu

\

\

第一部分:安裝Nginxvim

安裝Nginx前須要安裝依賴庫PCRE庫、zlib庫、SSL庫瀏覽器

安裝PCRE庫——爲了rewrite

pcre庫下載地址

tar –zxvf pcre-8.21.tar.gz

cd pcre-8.21

./configure --prefix=/usr/local/pcre-8.21

make

make install

安裝zlib庫——爲了gzip壓縮

zlib下載地址

tar –zxvf zlib-1.2.8.tar.gz

cd zlib-1.2.8

./configure --prefix=/usr/local/zlib-1.2.8

make

make install

安裝ssl庫——支持ssl加密

openssl下載地址

tar -zxvf openssl-1.0.1c.tar.gz

cd openssl-1.0.1c

./config --prefix=/usr/local/openssl-1.0.1

make

make install

安裝nginx——服務器軟件

nginx下載地址

tar -zxvf nginx-1.2.8.tar.gz

cd nginx-1.2.8

./configure --prefix=/usr/local/nginx-1.2.8 \

--with-pcre=../pcre-8.21/ \

--with-zlib=../zlib-1.2.8/

make

make install

設定nginx啓動的配置文件

/usr/local/nginx-1.2.8/sbin# ./nginx -c /usr/local/nginx-1.2.8/conf/nginx.conf

/usr/local/nginx-1.2.8/sbin# ./nginx -s reload

查看nginx進程

ps –ef|grep nginx

\

打開localhost

當你看到上圖所示內容時,說明Nginx服務器已經安裝成功

\\

 

第二部分:安裝php以及mysql、redis擴展模塊

安裝ncurses——安裝mysql前置條件:

ncurses下載地址

tar -zxvf ncurses-5.4.tar.gz

cd ncurses-5.4

./configure

make

make install

安裝mysql——此處使用是源碼包編譯安裝

mysql下載地址

tar -zxvf mysql-5.1.73.tar.gz

cd mysql-5.1.73

./configure --prefix=/usr/local/mysql-5.1.73

make

make install

 

安裝curl庫——用於curl請求

curl庫下載地址

tar -zxvf curl-7.39.0.tar.gz

./configure --prefix=/usr/local/curl-7.39.0

make

make install

安裝php

php下載地址

tar -zxvf php-5.2.14.tar.gz

gunzip php-5.2.14-fpm-0.5.14.diff.gz

patch -d php-5.2.14 -p1 < php-5.2.14-fpm-0.5.14.diff

cd php-5.2.14

./configure --prefix=/usr/local/php-5.2.14\

--enable-fastcgi \

--enable-fpm \

--enable-sockets \

--enable-mbstring \

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

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

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

--with-curl=/usr/local/curl-7.39.0 \

--with-openssl=/usr/local/openssl-1.0.1 \

--with-mcrypt

make

make install

 

啓動php-fpm使用以下命令:

/usr/local/php-5.2.14/sbin# ./php-fpm start

啓動php-fpm的時候出現
Startingphp_fpm Dec 29 15:27:32.502790 [ERROR] fpm_unix_conf_wp(), line 124: pleasespecify user and group other than root, pool 'default'

解決辦法:進入目錄:/usr/local/php-5.2.14/etc只須要修改php-fpm.conf

Unix user of processes
<!-- <value name="user">nobody</value> -->

Unix group of processes
<!-- <value name="group">nobody</value> -->

將<!––>去掉便可。至於user/group根據實際狀況修改(www)。
從新啓動 /usr/local/php-5.2.14/sbin# ./php-fpm restart 成功了

\

\

安裝redis擴展模塊

redis下載地址

unzip phpredis-master.zip

exportPATH=/usr/local/php-5.2.14/bin/:$PATH

cp -r phpredis-master php-5.2.14/ext/

cd php-5.2.14/ext/phpredis-master

phpize

./configure--with-php-config=/usr/local/php-5.2.14/bin/php-config

make

make install

擴展庫路徑:/usr/local/php-5.2.14/lib/php/extensions/no-debug-non-zts-20060613/

在php擴展庫路徑下,能夠找到編譯生成的redis擴展庫文件redis.so

打開路徑/usr/local/php-5.2.14/lib/php.ini下的php.ini文件,使用命令以下:

vim php.ini

文件內容快速查找(按下「N」能夠查找下一個匹配位置),使用命令以下:

:?extension

\\

找到如圖所示的指定位置後插入如下內容:

extension = redis.so

php會自動到擴展庫路徑下加載redis.so文件

若是沒找到php.ini文件,能夠全盤搜索該文件,使用命令以下:

find / -name php.ini

搜索結果顯示此路徑下存在/etc/php5/cli/php.ini文件,因而拷貝至/usr/local/php-5.2.14/lib,使用命令以下:

/usr/local/php-5.2.14/lib# cp /etc/php5/cli/php.ini php.ini

此處須要重啓php-fpm才能生效,使用命令以下:

/usr/local/php-5.2.14/sbin# ./php-fpm restart

第三部分:配置nginx虛擬主機

新建虛擬主機配置文件目錄

/usr/local/nginx-1.2.8# mkdir vhosts

cd vhosts

touch scott.qq.com.conf

vim scottshi.qq.com.conf

輸入如下內容配置自定義虛擬主機:

server {

listen 8001;/*監聽端口號*/

server_name scott.qq.com;/*域名*/

access_log/usr/local/nginxweb/htdocs/access.log;/*站點訪問日誌*/

location / {

root /usr/local/nginxweb/htdocs/;/*頁面文件目錄*/

index index.php index.html index.htm;

}

error_page 500 502 503 504 /50x.html;/*服務器錯誤頁面*/

location = /50x.html {

root html;

}

# pass the PHP scripts to FastCGI serverlistening on 127.0.0.1:9000

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000; /*Nginx轉發請求地址*/

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME/usr/local/nginxweb/htdocs/$fastcgi_script_name;

include fastcgi_params;

}

location ~ /\.ht {

deny all;

}

}

保存退出後,進入nginx的配置文件nginx.conf

/usr/local/nginx-1.2.8/conf# vim nginx.conf

與默認server層級並列且位於http層級以內,添加以下內容,使得自定義虛擬主機生效:

include /usr/local/nginx-1.2.8/vhosts/*;

保存退出後,重啓nginx服務器,從新載入配置文件,使用命令以下:

/usr/local/nginx-1.2.8/sbin# ./nginx –s reload

 

編寫php測試頁面:

進入目錄/usr/local/nginxweb/htdocs/,新建test.php文件,輸入test.php頁面內容:

<?php

Phpinfo();

?>

保存退出

使用瀏覽器,訪問如下地址:

scott.qq.com:8001/test.php

此頁面會顯示配置php時的指令還有各個功能模塊,包括fastcgi、mysql、curl、redis等

\

\

\

\

http://www.2cto.com/os/201411/350799.html

相關文章
相關標籤/搜索