一、安裝nginx
一條指令搞定:
use=fastcgi emerge nginx
新使用者和群組:
groupadd www
useradd www - g www
nginx 安裝好後預設會新增nginx 群組和nginx 用戶,不過我本身還是習慣新建個www 群組和www 用戶來做http 服務用戶。若今後 http 伺服器更換為 apache 或是 lighttpd 時,使用者名稱和使用者群組可以不變。
二、安裝 mysql
在裝 php 前必須先裝 mysql,因為 php 裡的 mysql 操作函數需要 mysql 頭檔和函式庫的支援。
emerge dev-db/mysql
初始化資料庫:
資料庫的預設路徑為 /var/lib/mysql,本文的安裝把它放在 /work/db/3306/data 中。
複製程式 程式碼如下:
mkdir -p /work/db/3306/data
mysql_install_db --basedir=/usr --datadir=/work/db/ 3306/data --user=mysql
修改設定檔:
vim /etc/mysql/my.cnf
將datadir 修改為:
datadir = /work/db /3306/data
啟動mysql:
/etc/init.d/mysql start
修改root 密碼:
mysqladmin -uroot password hily
#測試資料庫:
mysql -uroot -p
顯示:
gentoo setup # mysql -uroot -p
enter password:
welcome to the mysql monitor. commands end with ; or \ g.
your mysql connection id is 2
server version: 5.0.84-log gentoo linux mysql-5.0.84-r1
type 'help;' 或 '\h' for help. type '\c' to clear the current input statement.
mysql>
測試成功!
三、安裝 php
以 fastcgi 方式來執行 php,需要安裝 php-fpm。
目前最後一個需要以 patch 形式安裝 php-fpm 的 php 版本是 5.3.0,php 5.3.2 版本中將可能直接整合 php-fpm。
這裡我就使用 php 5.3.0 來安裝。
因為 gentoo 中目錄還沒有整合 php-fpm 的 portage,所以下面直接透過原始碼編譯形式進行安裝。
下載php 5.3.0:
wget http://cn.php.net/distributions/php-5.3.0.tar.bz2
下載php-fpm 補丁:
wget http://php-fpm.org/downloads/php-5.3.0-fpm-0.5.12.diff.gz
解壓縮php 並打fpm 補丁:
tar jxf php-5.3.0 .tar.bz2
gzip -cd php-5.3.0-fpm-0.5.12.diff.gz | patch -d php-5.3.0 -p1
安裝php 所需的函式庫(依照自身需要):
emerge libpng
emerge jpeg
emerge freetype
use="png jpeg truetype" emerge gd
或直接:
use="png jpeg truetype" emerge gd
use="png jpeg truetype" emerge gd
複製程式碼 程式碼如下:
cd php-5.3.0
./configure --prefix= /usr/local/php --with-config-file-path=/usr/local/php/etc
--with-mysql=/usr --with-mysqli=/usr/bin/mysql_config --enable -fpm --enable-sockets
--enable-pdo --with-pdo-mysql=/usr --with-gd --with-jpeg-dir --with-png-dir
--with -freetype-dir --with-zlib
複製程式碼 程式碼如下:
php-fpm 設定檔:
vim /usr/local/php/etc/php-fpm.conf
#修改使用者使用者群組與使用者名稱:
複製程式碼 程式碼如下:
unix user of processes
unix group of processes
修改php-fpm 運作模式為apache-like 模式:
複製程式碼 程式碼如下:
#
startservers、minspareservers 和maxspareservers 根據實際需要設置,我這裡是
#startservers、minspareservers 和maxspareservers 根據實際需要設置,我這裡是虛擬機,沒必要太大。
php-fpm 啟動腳本:
cp /usr/local/php/sbin/php-fpm /etc/init.d/php-fpm
啟動php-fpm
/etc/init.d/php-fpm start##新增啟動服務
複製程式碼 程式碼如下:
rc-update add nginx default
rc-update add mysql default
測試nginx php
##新增測試網站目錄:#複製程式碼 程式碼如下:
mkdir -p /work/www/test
echo "" > /work/www/test/index.php
#新增測試站點的nginx 配置:
註解掉server 段,在http 段尾部加上:
之後每個網站的設定檔都以一個獨立的檔案保存在 /etc/nginx/sites 目錄下,方便管理和維護。
mkdir /etc/nginx/sites
vim /etc/nginx/test.enable
test.enable 設定如下:
#複製程式碼 程式碼如下:
server {
listen 80;
server_name test.local;
access_log /work//logs/test.acc/log .error.log;
location / {
root /work/www/test;
index index.html index.htm index.php;
root /work/www/test;
fastcgi_index index.php;
fastcgi_param script_filename fastcgi_params;
fastcgi_pass unix:/tmp/php-fpm.sock;
}
}
新儲存日誌目錄:
mkdir /work/www/logs
本機hosts 中新增記錄:
192.168.1.10 test.local
重新載入nginx 設定
/etc/init.d/nginx reload
存取:
http://test.local/
以上是怎麼安裝與設定Nginx+MySQL+PHP環境的詳細內容。更多資訊請關注PHP中文網其他相關文章!