關於 php-fpm
nginx 本身不能處理 PHP,它只是個 web 站群伺服器,當接收到請求後,如果是 php 請求,則發給 php 直譯器處理,並把結果返回給客戶端。
nginx 一般是把請求發 fastcgi 管理程式處理,fascgi 管理程式選擇 cgi 子程式處理結果並返回被 nginx 。
PHP-FPM 是一個 PHP FastCGI 管理器,是隻用於 PHP 的。
PHP 在 5.3.3 之後已經講 php-fpm 寫入 php 原始碼核心了。所以已經不需要另外下載了。
獲取 PHP 下載地址
為什麼選擇 5.6.30 這個版本,因為學習,不是研究。誠然,7.0 新增了很多 PHP 的新特性,效能上面也有些提升,如果是研究,倒是可以折騰一番,後面得空再講 7.0 的版本以及如何在各個 PHP 版本之間切換。
開啟 php 的官網:http://php.net/,檢視 php 的版本列表
右擊,複製連結地址,在遠端 WordPress 主機登入,下載該站群軟體(我選的是 Australia 的 WordPress 主機 mirror 下載的)
# wget http://au1.php.net/get/php-5.6.30.tar.gz/from/this/mirror
下載下來的是一個 mirror 檔案,改成我們需要的檔名
#mv mirror php-5.6.30.tar.gz
#tar zxvf php-5.6.30.tar.gz
#cd php-5.6.30
安裝 libxml2 相關元件
#yum install libxml2
#yum install libxml2-devel -y
安裝 curl 相關元件
#yum install curl curl-devel
安裝 libpng 相關元件
#yum install libpng
#yum install libpng-devel
安裝 freetype 相關元件
#yum install freetype-devel
安裝 libxslt 相關元件
#yum install libxslt-devel
#yum install openssl openssl-devel
#ln -s /usr/lib64/libssl.so /usr/lib/
配置安裝
進入到目錄,我們需要在安裝的時候將安裝目錄配置到/usr/local/php/裡
#./configure –prefix=/usr/local/php –with-curl –with-freetype-dir –with-gd –with-gettext –with-iconv-dir –with-kerberos –with-libdir=lib64 –with-libxml-dir –with-MySQL –with-mysqli –with-openssl –with-pcre-regex –with-pdo-mysql –with-pdo-sqlite –with-pear –with-png-dir –with-xmlrpc –with-xsl –with-zlib –enable-fpm –enable-bcmath –enable-libxml –enable-inline-optimization –enable-gd-native-ttf –enable-mbregex –enable-mbstring –enable-opcache –enable-pcntl –enable-shmop –enable-soap –enable-sockets –enable-sysvsem –enable-xml –enable-zip
好的,當我們看到下面這句話的時候,說明你的 php 已經配置完成啦!
接下來我們只需要編譯安裝即可完成 php 的安裝
#make && make install
看到這句話,表明安裝完成!
為了保險起見,我們 make test 一把,看看是否真的成功了。
配置相關
php.ini 配置
首先我們需要配置的是 php.ini 這個檔案
安裝目錄有 2 個檔案:php.ini-development 和 php.ini-production
php.ini-production 線上版本使用
php.ini-development 開發版本使用
我們選擇 development 進行配置
# cp php.ini-development /usr/local/php/lib/php.ini
php-fpm 配置
複製 php-fpm 配置檔案
#cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf
複製啟用檔案
#cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm(已棄用,詳細的見注 1)
啟動
/usr/local/php/sbin/php-fpm
檢視 php 是否啟動成功
#ps aux | grep php
看到這些,表明你的 php 已經啟動成功啦!
重啟及關閉
#kill -9 程式號
/usr/local/php/sbin/php-fpm
配置 Nginx 支援 PHP
vi /usr/local/nginx/conf/nginx.conf
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
原始碼編譯 Nginx
yum -y install gcc gcc-c++ pcre-devel zlib zlib-devel
cd /usr/src/
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
tar zxvf pcre-8.39.tar.gz
wget http://zlib.net/zlib-1.2.11.tar.gz
tar zxvf zlib-1.2.11.tar.gz
第二步:下載 Nginx 並解壓
wget http://nginx.org/download/nginx-1.11.13.tar.gz
tar -zxvf ./nginx-1.11.13.tar.gz
cd nginx-1.11.13
第三步:
./configure –prefix=/usr/local/nginx/ –with-pcre=/usr/src/pcre-8.39 –with-zlib=/usr/src/zlib-1.2.11
第四步:
make && make install
nginx 啟動方式
/usr/local/nginx/sbin/nginx
安裝 mysql
檢測 mysql 是否解除安裝乾淨
rpm -aq | grep -i mysql
MYSQL 安裝
1. 先下載 mysql 的 repo 源;相關命令:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2. 安裝 mysql-community-release-el7-5.noarch.rpm 包
(安裝這個包後,會獲得兩個 mysql 的 yum repo 源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo)
rpm -ivh mysql-community-release-el7-5.noarch.rpm
3. 安裝 MYSQL
sudo yum install mysql-server
重啟服務:
systemctl restart mysql.service
修改資料庫登入密碼:
use mysql;
update user set password=password(‘root’) where user=’root’;
設定外部連線許可權, 密碼
grant all privileges on *.* to ‘root’@’%’ identified by ‘jiacheng123.’;
更新:flush privileges;