Gentoo 下安裝與配置Nginx+ MySQL + PHP (fastcgi) 環(huán)境步驟分享
一、安裝 Nginx
一條命令搞定:
USE=fastcgi emerge nginx
新建用戶和組:
groupadd www
useradd www -g www
Nginx 安裝好后默認(rèn)會(huì)添加 nginx 組和 nginx 用戶,不過我本身還是習(xí)慣新建個(gè) www 組和 www 用戶來做 HTTP 服務(wù)用戶。若今后 HTTP 服務(wù)器更換為 apache 或是 lighttpd 時(shí),用戶名和用戶組可以不變。
二、安裝 MySQL
在裝 PHP 前必須先裝 MySQL,因?yàn)?PHP 里的 MySQL 操作函數(shù)需要 MySQL 頭文件和庫的支持。
emerge dev-db/mysql
初始化數(shù)據(jù)庫:
數(shù)據(jù)庫的默認(rèn)路徑為 /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
啟動(dòng) MySQL:
/etc/init.d/mysql start
修改 root 密碼:
mysqladmin -uroot password hily
測試數(shù)據(jù)庫:
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>
測試成功!
三、安裝 PHP
以 fastcgi 方式來運(yùn)行 PHP,需要安裝 PHP-FPM。
目前最后一個(gè)需要以 patch 形式安裝 PHP-FPM 的 PHP 版本是 5.3.0,PHP 5.3.2 版本中將可能直接集成 PHP-FPM。
這里我就使用 PHP 5.3.0 來安裝。
因?yàn)?Gentoo 中目錄還沒有集成 PHP-FPM 的 Portage,所以下面直接通過源碼編譯形式進(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 需要的庫(根據(jù)自身需要):
emerge libpng
emerge jpeg
emerge freetype
USE="png jpeg truetype" emerge gd
或直接:
USE="png jpeg truetype" emerge gd
配置并編譯 PHP(根據(jù)自身需要):
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 高效):
<value name="listen_address">/tmp/php-fpm.sock</value>
修改用戶組和用戶名:
Unix user of processes
<value name="user">www</value>
Unix group of processes
<value name="group">www</value>
修改 PHP-FPM 運(yùn)行模式為 Apache-Like 模式:
<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ī),沒必要太大。
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ù)
rc-update add nginx default
rc-update add mysql default
rc-update add php-fpm default
測試 Nginx+PHP
添加測試站點(diǎn)目錄:
mkdir -p /work/www/test
echo "<?php phpinfo(); ?>" > /work/www/test/index.php
添加測試站點(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 配置如下:
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
訪問:
http://test.local/
顯示正常的 phpinfo 信息,則安裝完成。
- Nginx中FastCGI如何配置優(yōu)化
- PHP(FastCGI)在Nginx的alias下出現(xiàn)404錯(cuò)誤的解決方法
- 在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
- PHP+FastCGI+Nginx配置PHP運(yùn)行環(huán)境
- Perl使用nginx FastCGI環(huán)境做WEB開發(fā)實(shí)例
- nginx FastCGI錯(cuò)誤Primary script unknown解決辦法
- CentOS 6.1 環(huán)境中部署nginx、php(包括fastcgi)、虛擬主機(jī)配置
- Nginx(PHP/fastcgi)的PATH_INFO問題
- Nginx+PHP(FastCGI)搭建高并發(fā)WEB服務(wù)器(自動(dòng)安裝腳本)第二版
- Nginx0.5.33+PHP5.2.5(FastCGI)搭建勝過Apache10倍的Web服務(wù)器
- Nginx FastCGI緩存的實(shí)現(xiàn)示例
相關(guān)文章
Ubuntu18.04安裝Pycharm教程的實(shí)現(xiàn)
這篇文章主要介紹了Ubuntu18.04安裝Pycharm教程的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Linux server配置安裝Java與Tomcat服務(wù)器教程詳解
這篇文章主要介紹了Linux server配置安裝Java與Tomcat服務(wù)器教程詳解,需要的朋友可以參考下2017-08-08
linux命令實(shí)現(xiàn)音頻格式轉(zhuǎn)換和拼接的方法
今天小編就為大家分享一篇linux命令實(shí)現(xiàn)音頻格式轉(zhuǎn)換和拼接的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Linux系統(tǒng)查看當(dāng)前網(wǎng)絡(luò)連接數(shù)的方法小結(jié)
在日常的運(yùn)維和開發(fā)中,網(wǎng)絡(luò)連接數(shù)的監(jiān)控是一個(gè)非常重要的指標(biāo),當(dāng)你需要排查網(wǎng)絡(luò)問題或優(yōu)化系統(tǒng)性能時(shí),查看連接數(shù)是關(guān)鍵的一步,不同的 Linux 環(huán)境和發(fā)行版可能需要使用不同的方法來獲取連接信息,本文給大家介紹了Linux系統(tǒng)查看當(dāng)前網(wǎng)絡(luò)連接數(shù)的方法2024-12-12
ssh報(bào)錯(cuò)no key alg的解決方法(關(guān)于低版本連接高版本ssh)
這篇文章主要介紹了ssh報(bào)錯(cuò)no key alg(關(guān)于低版本連接高版本ssh),通過ssh-keygen命令重新生成ssh主機(jī)秘鑰,可以不用重啟sshd服務(wù),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07

