首頁  >  文章  >  資料庫  >  怎麼安裝與設定Nginx+MySQL+PHP環境

怎麼安裝與設定Nginx+MySQL+PHP環境

WBOY
WBOY轉載
2023-05-29 23:18:071803瀏覽

一、安裝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

配置並編譯php(依自身需求):

複製程式碼 程式碼如下:

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

make && make install


#php 設定檔:

複製程式碼 程式碼如下:

#cp php.ini-production /usr/local/php/etc/php.ini



php-fpm 設定檔:
vim /usr/local/php/etc/php-fpm.conf

修改listen_address 為socket 位址(socket 比ip:port 有效率):

/tmp/php-fpm.sock

#修改使用者使用者群組與使用者名稱:

複製程式碼 程式碼如下:

unix user of processes
www
unix group of processes

www

修改php-fpm 運作模式為apache-like 模式:

複製程式碼 程式碼如下:

apache-like
1
#1

5

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

rc-update add php-fpm default

測試nginx php

##新增測試網站目錄:

#複製程式碼 程式碼如下:


mkdir -p /work/www/test
echo "" > /work/www/test/index.php


#新增測試站點的nginx 配置:

vim /etc/nginx/nginx.conf


註解掉server 段,在http 段尾部加上:

include sites/*.enable;## #

之後每個網站的設定檔都以一個獨立的檔案保存在 /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

192.168.1.10 是我這台gentoo 機器的ip。


重新載入nginx 設定
/etc/init.d/nginx reload

存取:
http://test.local/

顯示正常的phpinfo 訊息,則安裝完成。

以上是怎麼安裝與設定Nginx+MySQL+PHP環境的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除