Nginx+Php-fpm+MySQL+Redis原始碼編譯安裝指南

來源:互聯網
上載者:User

Nginx+Php-fpm+MySQL+Redis原始碼編譯安裝指南

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

1. 原始碼編譯安裝Nginx

2. 原始碼編譯安裝php以及mysql、redis擴充模組

3. 配置虛擬機器主機

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

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

所有來源程式路徑位於:root@ubuntu:/home/shihai/Desktop/Nginx檔案夾下,如所示:

程式安裝路徑位於:/usr/local檔案夾下

第一部分:安裝Nginx

安裝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等

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.