溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么安裝與配置Nginx+MySQL+PHP環(huán)境

發(fā)布時(shí)間:2022-03-24 15:43:31 來(lái)源:億速云 閱讀:216 作者:iii 欄目:web開(kāi)發(fā)

這篇“怎么安裝與配置Nginx+MySQL+PHP環(huán)境”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“怎么安裝與配置Nginx+MySQL+PHP環(huán)境”文章吧。

一、安裝 nginx
一條命令搞定:
use=fastcgi emerge nginx

新建用戶和組:
groupadd www
useradd www -g www

nginx 安裝好后默認(rèn)會(huì)添加 nginx 組和 nginx 用戶,不過(guò)我本身還是習(xí)慣新建個(gè) www 組和 www 用戶來(lái)做 http 服務(wù)用戶。若今后 http 服務(wù)器更換為 apache 或是 lighttpd 時(shí),用戶名和用戶組可以不變。

二、安裝 mysql
在裝 php 前必須先裝 mysql,因?yàn)?php 里的 mysql 操作函數(shù)需要 mysql 頭文件和庫(kù)的支持。
emerge dev-db/mysql

初始化數(shù)據(jù)庫(kù):
數(shù)據(jù)庫(kù)的默認(rèn)路徑為 /var/lib/mysql,本文的安裝把它放在 /work/db/3306/data 中。

復(fù)制代碼 代碼如下:

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

啟動(dòng) mysql:
/etc/init.d/mysql start

修改 root 密碼:
mysqladmin -uroot password hily

測(cè)試數(shù)據(jù)庫(kù):
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;' or '\h' for help. type '\c' to clear the current input statement.
mysql>
測(cè)試成功!

三、安裝 php
以 fastcgi 方式來(lái)運(yùn)行 php,需要安裝 php-fpm。
目前最后一個(gè)需要以 patch 形式安裝 php-fpm 的 php 版本是 5.3.0,php 5.3.2 版本中將可能直接集成 php-fpm。
這里我就使用 php 5.3.0 來(lái)安裝。
因?yàn)?gentoo 中目錄還沒(méi)有集成 php-fpm 的 portage,所以下面直接通過(guò)源碼編譯形式進(jìn)行安裝。
下載 php 5.3.0:
wget http://cn.php.net/distributions/php-5.3.0.tar.bz2

下載 php-fpm 補(bǔ)?。?br/>wget http://php-fpm.org/downloads/php-5.3.0-fpm-0.5.12.diff.gz

解壓 php 并打 fpm 補(bǔ)?。?br/>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 需要的庫(kù)(根據(jù)自身需要):
emerge libpng
emerge jpeg
emerge freetype
use="png jpeg truetype" emerge gd
或直接:
use="png jpeg truetype" emerge gd

配置并編譯 php(根據(jù)自身需要):

復(fù)制代碼 代碼如下:

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 配置文件:

復(fù)制代碼 代碼如下:

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 高效):
<value name="listen_address">/tmp/php-fpm.sock</value>

修改用戶組和用戶名:

復(fù)制代碼 代碼如下:

unix user of processes
<value name="user">www</value>
unix group of processes
<value name="group">www</value>

修改 php-fpm 運(yùn)行模式為 apache-like 模式:

復(fù)制代碼 代碼如下:

<value name="style">apache-like</value>
<value name="startservers">1</value>
<value name="minspareservers">1</value>
<value name="maxspareservers">5</value>

startservers、minspareservers 和 maxspareservers 根據(jù)實(shí)際需要設(shè)置,我這里是虛擬機(jī),沒(méi)必要太大。

php-fpm 啟動(dòng)腳本:
cp /usr/local/php/sbin/php-fpm /etc/init.d/php-fpm

啟動(dòng) php-fpm
/etc/init.d/php-fpm start

添加啟動(dòng)服務(wù)

復(fù)制代碼 代碼如下:

rc-update add nginx default
rc-update add mysql default
rc-update add php-fpm default

測(cè)試 nginx+php

添加測(cè)試站點(diǎn)目錄:

復(fù)制代碼 代碼如下:

mkdir -p /work/www/test
echo "<?php phpinfo(); ?>" > /work/www/test/index.php

添加測(cè)試站點(diǎn)的 nginx 配置:
vim /etc/nginx/nginx.conf

注釋掉 server 段,在 http 段尾部加上:
include sites/*.enable;

之后每個(gè)站點(diǎn)的配置文件都以一個(gè)獨(dú)立的文件保存在 /etc/nginx/sites 目錄下,方便管理和維護(hù)。
mkdir /etc/nginx/sites
vim /etc/nginx/test.enable

test.enable 配置如下:

復(fù)制代碼 代碼如下:

   server {
    listen       80;
    server_name  test.local;
    access_log  /work/www/logs/test.access.log  main;
    error_log  /work/www/logs/test.error.log;
    location / {
    root   /work/www/test;
    index  index.html index.htm index.php;
    }
    location ~ \.php$ {
    root           /work/www/test;
    fastcgi_index  index.php;
    fastcgi_param  script_filename    $document_root$fastcgi_script_name;
    include        fastcgi_params;
    fastcgi_pass   unix:/tmp/php-fpm.sock;
    }
    }

新建存儲(chǔ)日志目錄:
mkdir /work/www/logs

本地 hosts 中添加記錄:
192.168.1.10    test.local
192.168.1.10 是我這臺(tái) gentoo 機(jī)器的 ip。

重新加載 nginx 配置
/etc/init.d/nginx reload

訪問(wèn):
http://test.local/
顯示正常的 phpinfo 信息,則安裝完成。

以上就是關(guān)于“怎么安裝與配置Nginx+MySQL+PHP環(huán)境”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI