標籤:des http io ar os 使用 sp 檔案 div
說明:本教程主要包括以下三個部分:
1. 原始碼編譯安裝Nginx
2. 原始碼編譯安裝php以及mysql、redis擴充模組
3. 配置虛擬機器主機
文中所涉及安裝包程式均提供下載連結,歡迎使用
運行環境以及前置條件:Ubuntu 12.04 LTS 已安裝g++編譯環境
所有來源程式路徑位於:[email protected]:/home/shihai/Desktop/Nginx檔案夾下,如所示:
程式安裝路徑位於:/usr/local檔案夾下
第一部分:安裝Nginx
安裝Nginx前需要安裝依賴庫PCRE庫、zlib庫、SSL庫
安裝PCRE庫——為了rewrite
tar –zxvf pcre-8.21.tar.gz
cd pcre-8.21
./configure --prefix=/usr/local/pcre-8.21
make
make install
安裝zlib庫——為了gzip壓縮
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加密
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—— 伺服器軟體
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前置條件:
tar -zxvf ncurses-5.4.tar.gz
cd ncurses-5.4
./configure
make
make install
安裝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請求
tar -zxvf curl-7.39.0.tar.gz
./configure --prefix=/usr/local/curl-7.39.0
make
make install
安裝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擴充模組:
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-fpmrestart
第三部分:配置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等
- 相關文章推薦:
- Nginx的configure中文說明
- Nginx反向 ProxyNginx
- Nginx 實現簡單負載平衡
- 本文來自:愛好Linux技術網
- 本文連結:
Nginx+Php-fpm+MySQL+Redis原始碼編譯安裝指南