MySQL安裝php
卸載原來的mysql步驟css
先查看mysql服務有沒有啓動:ps aux |grep mysql 若是啓動把它關掉html
先進入到src下刪除mysql:mysql
cd /usr/local/src/
linux
刪除目錄:rm -rf /usr/local/mysql nginx
刪除啓動腳本:rm -rf /etc/init.d/mysqldgit
安裝mysqlweb
cd /usr/local/src正則表達式
1.下載wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 算法
2.解壓tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
3.挪動目錄並更名:mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql (前提是以前沒有建立過mysql目錄,否則他不會更名爲mysql,他會移動到這個目錄下,因此要查看一下)
4. 進入到目錄下:cd /usr/local/mysql
建立一個mysql用戶:useradd mysql
建立一個data目錄:mkdir /data/ (要是之前安裝過musql的話他會有這個目錄,須要把刪掉)
5.初始化:出現兩個OK纔對
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
6.拷貝配置文件並更名
下面這一步,若是以前裝過mysql而且拷貝編輯配置文件過就不用作了
cp support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf 把下邊這兩個地方的路徑定義對
7.拷貝一個啓動腳本更名爲mysqld
cp support-files/mysql.server /etc/init.d/mysqld
編輯一下:vim /etc/init.d/mysqld 定義basedir和datadir
8.啓動mysql
/etc/init.d/mysqld start
9.查看mysql服務有沒有啓動:ps aux |grep mysql
10.把mysqld服務加入到服務列表裏:
chkconfig --add mysqld
11.設置開機啓動:
chkconfig mysqld on
12.這時候就能夠用service命令來開啓關閉它了
service mysqld stop 關閉
service mysqld start 開啓
PHP安裝
它在lnmp架構裏不須要依賴nginx,它是一個獨立的服務
而在apache裏邊它是apache的一個服務模塊必須依賴apache
和LAMP安裝PHP方法有差異,須要開啓php-fpm服務
cd /usr/local/src/
假如說你已經安裝過php了能夠進行如下操做
進入到:cd php-5.6.30 (make clean能夠吧之前的配置信息所有刪掉,讓他回到剛解壓完的狀態)
若是第一次安裝則進行如下操做
下載:wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
解壓:tar zxf php-5.6.30.tar.gz
添加php-fpm用戶:useradd -s /sbin/nologin php-fpm
由於已經有php目錄了,咱們給它叫php-fpm
編譯:./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl --with-openssl
make && make install
拷貝配置文件:cp php.ini-production /usr/local/php-fpm/etc/php.ini 能夠查看下etc下邊是沒有php.ni的
進入到cd /usr/local/php-fpm/etc/ 目錄下
編輯配置文件:vi /usr/local/php-fpm/etc/php-fpm.conf //寫入以下內容(參考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/php-fpm.conf複製到下邊)
再回到php目錄裏:cd /usr/local/src/php-5.6.30
拷貝啓動腳本:cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
更改權限:chmod 755 /etc/init.d/php-fpm
加入到服務列表:chkconfig --add php-fpm
開機自啓:chkconfig php-fpm on
啓動php服務:service php-fpm start
能夠檢測一下配置文件有沒有錯誤錯誤 -t
/usr/local/php-fpm/sbin/php-fpm -t
查看進程:ps aux |grep php-fpm
nginx介紹
Nginx官網 nginx.org,最新版1.15.0,最新穩定版1.14.0
Nginx應用場景:web服務、反向代理、負載均衡
Nginx著名分支,淘寶基於Nginx開發的Tengine,使用上和Nginx一致,服務名,配置文件名都同樣,和Nginx的最大區別在於Tenging增長了一些定製化模塊,在安全限速方面表現突出,另外它支持對js,css合併
Nginx核心+lua相關的組件和模塊組成了一個支持lua的高性能web容器openresty,參考http://jinnianshilongnian.iteye.com/blog/2280928
Nginx安裝
cd /usr/local/src
wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar zxf nginx-1.14.0.tar.gz
進到解壓包內:cd /usr/local/src/nginx-1.14.0/
編譯:./configure --prefix=/usr/local/nginx
make && make install
編輯啓動腳本:vim /etc/init.d/nginx //複製以下內容(參考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/etc_init.d_nginx複製到裏邊)
chmod 755 /etc/init.d/nginx
加入服務:chkconfig --add nginx
開機自啓:chkconfig nginx on
配置它的配置文件:先進去,cd /usr/local/nginx/conf/
咱們發現它裏邊已經有一個nginx.conf了,可是咱們不用它咱們用本身的
> /usr/local/nginx/conf/nginx.conf 重定向等於先清空
vim nginx.conf //寫入以下內容(參考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/nginx.conf)
檢查一下有沒有出錯:/usr/local/nginx/sbin/nginx -t
啓動:/etc/init.d/nginx start
service nginx start
ps aux |grep nginx
netstat -lntp |grep 80
測試一下curl localhost
測試php解析
建立一個測試文件:vi /usr/local/nginx/html/1.php //加入以下內容
<?php echo "this is nginx test page."; ?>
curl localhost/1.php 解析成功
Nginx默認虛擬主機
進到:/usr/local/nginx/conf
編輯vim /usr/local/nginx/conf/nginx.conf //把最後一段server刪除
增長:include vhost/*.conf; 而vhost目錄咱們須要建立,看下邊操做
建立conf子目錄:mkdir /usr/local/nginx/conf/vhost
進到vhost下:cd vhost/
在建立一個好比aaa.com.conf,編輯
vim aaa.com.conf //加入以下內容
server { listen 80 default_server; // 有這個標記的就是默認虛擬主機 server_name aaa.com; index index.html index.htm index.php; root /data/wwwroot/default; }
建立目錄(由於咱們增長的配置文件內容裏有這個目錄):
mkdir /data/wwwroot/default
而後進到這個目錄下:cd /data/wwwroot/default/
定義一個東西:vim index.html 在裏邊隨便寫一句:this is the default site.
或者用這種定向的方式寫入:echo 「This is a default site.」>/data/wwwroot/default/index.html
寫完檢查一下有沒有錯誤/usr/local/nginx/sbin/nginx -t
從新加載(加上選項-s reload):/usr/local/nginx/sbin/nginx -s reload
測試一下看看是否顯示剛纔定義的那句話:curl localhost
測試一下指定域名,例如bbb.com:curl -x127.0.0.1:80 bbb.com
Nginx用戶認證
針對整個站點來設置
在這個目錄下作操做:cd /usr/local/nginx/conf/vhost
編輯配置文件:建立一個虛擬主機,好比說叫test.com.conf
vim /usr/local/nginx/conf/vhost/test.com.conf//寫入以下內容
server { listen 80; server_name test.com; index index.html index.htm index.php; root /data/wwwroot/test.com; location / { auth_basic "Auth";自定義用戶認證的名字 auth_basic_user_file /usr/local/nginx/conf/htpasswd;用戶名密碼文件 } }
下面是生成密碼文件:
若是你上邊安裝過Apache能夠直接用這個命令
沒有就安裝一個yum install -y httpd 再用上邊的命令
-c是生成的意思,你要建立第二用戶個就不用加了,要不他就會重置前邊設置的密碼
後邊這個awei是指定用戶名字,能夠隨便定義
/usr/local/apache2.4/bin/htpasswd -c /usr/local/nginx/conf/htpasswd awei
建立第二個用戶的話直接加用戶名字就能夠,不用-c指定了,假如在建立一個user1用戶
查看一下密碼文件:cat /usr/local/nginx/conf/htpasswd
檢查語法錯誤:/usr/local/nginx/sbin/nginx -t
從新加載:/usr/local/nginx/sbin/nginx -s reload
測試
curl -x127.0.0.1:80 test.com 狀態碼爲401說明須要用戶認證
咱們須要建立index.html目錄(否則輸入密碼會顯示404):
mkdir /data/wwwroot/test.com
在建立一個index.html測試文件,並寫入內容:echo 「test.com」>/data/wwwroot/test.com/index.html
測試指定密碼用戶,用-u用戶加密碼:假如用戶爲awei,密碼爲123456789
curl -uawei:123456789 -x127.0.0.1:80 test.com -I 訪問狀態碼變爲200
編輯windows的hosts文件,而後在瀏覽器中訪問test.com會有輸入用戶、密碼的彈窗
針對指定目錄的用戶認證
條件:好比咱們只在訪問admin的時候認證
編輯配置文件:vim /usr/local/nginx/conf/vhost/test.com.conf
在後邊加admin目錄名字就行,這樣的話只有訪問他的時候才須要驗證
檢查語法錯誤:/usr/local/nginx/sbin/nginx -t
從新加載:/usr/local/nginx/sbin/nginx -s reload
建立一個測試環境
咱們須要建立index.html目錄
mkdir /data/wwwroot/test.com/admin
在建立一個index.html測試文件,並寫入內容:echo 「test.com admin dir」>/data/wwwroot/test.com/admin/index.html
假設用戶名爲awei,密碼爲123456789測試結果以下
curl -uawei:123456789 -x127.0.0.1:80 test.com/admin/
針對訪問的一個URL
條件:假如說訪問admin.php
編輯配置文件:vim /usr/local/nginx/conf/vhost/test.com.conf //給它匹配就好了
檢查語法錯誤:/usr/local/nginx/sbin/nginx -t
從新加載:/usr/local/nginx/sbin/nginx -s reload
咱們須要建立index.html目錄
mkdir /data/wwwroot/test.com/admin.php
在建立一個index.html測試文件,並寫入內容:echo 「test.com admin dir」>/data/wwwroot/test.com/admin.php/index.html
curl -x127.0.0.1:80 test.com/admin.php
Nginx域名重定向
條件:假如說test.com是主域名,而咱們還有其餘域名,例如test2.com;test3.com,等用戶訪問它們時讓它自動跳轉到test.com主域名上來
更改test.com.conf
在這個路徑下:cd /usr/local/nginx/conf/vhost
server
{
listen 80;
server_name test.com test1.com test2.com; test3.com; 在後邊在加上多個域名
index index.html index.htm index.php;
root /data/wwwroot/test.com;
if ($host != 'test.com' ) {域名跳轉,若是不是test.com
rewrite ^/(.*)$ http://test.com/$1 permanent;就讓他它調轉過來(permanent是301的意思)
}
}
測試配置文件:/usr/local/nginx/sbin/nginx -t
從新加載:/usr/local/nginx/sbin/nginx -s reload
測試
假如說我用test2.com去訪問index.html。他會顯示301而且下邊顯示他跳轉到了test.com域名上邊來
curl -x127.0.0.1:80 test2.com/index.html -I
server_name後面支持寫多個域名,這裏要和httpd的作一個對比
permanent爲永久重定向,狀態碼爲301,若是寫redirect則爲302
Nginx訪問日誌
日誌格式
打開主配置文件:vim /usr/local/nginx/conf/nginx.conf //搜索log_format 這一段就是用來定義日誌格式的
combined_realip:這是日誌個是的名字,能夠隨便定義,這裏寫成什麼,後邊引用他時就寫成什麼
nginx配置有個特色,他會認爲何時候有分號;,纔會結束
日誌格式解釋:
除了在主配置文件nginx.conf裏定義日誌格式外,還須要在虛擬主機配置文件中:
vi /usr/local/nginx/conf/vhost/test.com.conf
增長:access_log /tmp/test.com.log combined_reali;意思是把日誌放到一個目錄下
這裏的combined_realip就是在nginx.conf中定義的日誌格式名字,咱們沒改就用的原來的名字
測試配置文件:/usr/local/nginx/sbin/nginx -t
從新加載:/usr/local/nginx/sbin/nginx -s reload
訪問一下:curl -x127.0.0.1:80 test2.com/index.html -I
查看一下日誌:cat /tmp/test.com.log
Nginx日誌切割
自定義shell 腳本(好比說叫nginx_logrotate.sh)
vim /usr/local/sbin/nginx_logrotate.sh//寫入以下內容
#! /bin/bash
d=`date -d "-1 day" +%Y%m%d` #生成昨天的日期,格式爲年月日
logdir="/data/logs"#日誌的存放路徑,假設nginx的日誌存放路徑爲/data/logs/
nginx_pid="/usr/local/nginx/logs/nginx.pid"
cd $logdir#進入到logdir目錄下
for log in `ls *.log`#進行一個for循環
do
mv $log $log-$d
done
/bin/kill -HUP `cat $nginx_pid`生成新的日誌文件
執行腳本內容:sh -x /usr/local/sbin/nginx_logrotate.sh
他如今已經生成了
寫完腳本須要制定一個任務計劃:天天凌晨零點執行這個腳本
crontab -e 把下邊內容寫進去
0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh
靜態日誌不記錄日誌和過時時間
配置以下
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 7d;
access_log off;
}
location ~ .*\.(js|css)$
{
expires 12h;#過時時間
access_log off;
}
模擬一下
先到這個目錄下:cd /data/wwwroot/test.com/
編輯:vi 1.gif 隨便寫點東西
編輯:vi 2.js 隨便寫點東西
測試一下:
curl -x127.0.0.1:80 test.com/1.gif
curl -x127.0.0.1:80 test.com/2.js
curl -x127.0.0.1:80 test.com/index.html
訪問完查看一下日誌:
cat /tmp/test.com.log 你會發現他只記錄了最後一條
Nginx防盜鏈
配置以下,能夠和上面的配置結合起來
location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$
{
expires 7d;
valid_referers none blocked server_names *.test.com ; 定義白名單,我這裏假設白名單是test.com,若是不匹配直接403
if ($invalid_referer) {
return 403;
}
access_log off;
}
測試:
curl -e "http://baidu.com/1.txt" -x127.0.0.1:80 -I test.com/1.gif 403
curl -e "http://test.com/1.txt" -x127.0.0.1:80 -I test.com/1.gif 200
Nginx訪問控制
針對目錄
需求:訪問/admin/目錄的請求,只容許某幾個IP訪問,例如:192.168.232.132和127.0.0.1,其餘的不容許,配置以下:
location /admin/ { allow 192.168.232.132; allow 127.0.0.1; deny all; }
測試
mkdir /data/wwwroot/test.com/admin/
echo 「test,test」>/data/wwwroot/test.com/admin/1.html
-t && -s reload
curl -x127.0.0.1:80 test.com/admin/1.html -I
curl -x192.168.133.130:80 test.com/admin/1.html -I
針對正則
能夠匹配正則,禁止解析php
location ~ .*(upload|image)/.*\.php$ upload是本身定義的,只要是匹配upload的以.php結尾的 { deny all; }
測試 php的文件被拒絕了 txt的文件能夠訪問
根據user_agent限制,不讓任何人任何網站知道訪問到你的IP
if ($http_user_agent ~* 'Spider/3.0|YoudaoBot|Tomato')#假如說限制這三家Spider/3.0|YoudaoBot|Tomato 這三家是訪問不到你的 加了*匹配時就不分大小寫了 { return 403; }
deny all和return 403效果同樣
Nginx解析PHP相關配置
配置以下:
location ~ \.php$
{
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name;
}
fastcgi_pass 用來指定php-fpm監聽的地址或者socket
編輯完配置文件先不要從新加載,等測試中在加載,直接測試
測試:
vi /data/wwwroot/test.com/3.php 把下面內容寫進去:
<?php
phpinfo();
而後curl一下:curl -x127.0.0.1:80 test.com/3.php 這時他是解析不了的,直接把源碼輸出
而後從新加載一下配置文件:
/usr/local/nginx/sbin/nginx -s reload
在解析:
curl -x127.0.0.1:80 test.com/3.php
Nginx代理服務器
寫一個新的配置文件:
cd /usr/local/nginx/conf/vhost
vim proxy.conf //加入以下內容
server
{
listen 80;
server_name ask.apelearn.com;定義域名,要訪問的域名
location /
{
proxy_pass http://121.201.9.155/;遠程服務端web服務器的ip。
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
配置完就能夠用linux虛擬機經過這個IPhttp://121.201.9.155來訪問ask.apelearn.com論壇了
驗證一下:curl ask.apelearn.com/robots.txt
爲了測試代理是否成功,能夠用虛擬機本機IP訪問:curl -x127.0.0.1:80 ask.apelearn.com/robots.txt
Nginx負載均衡
vim /usr/local/nginx/conf/vhost/load.conf // 寫入以下內容
upstream qq_com 這個名字表明着下邊的兩個IP
{
ip_hash;
server 61.135.157.156:80;
server 125.39.240.113:80;
}
server
{
listen 80;
server_name www.qq.com;
location /
{
proxy_pass http://qq_com;寫上邊upstream的名字
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
yum install -y bind-uitls
dig qq.com域名解析,能夠反饋回來IP
upstream來指定多個web server
SSL工做原理
1.瀏覽器發送一個https的請求給服務器;
2.服務器要有一套數字證書,能夠本身製做(後面的操做就是阿銘本身製做的證書),也能夠向組織申請,區別就是本身頒發的證書須要客戶端驗證經過,才能夠繼續訪問,而使用受信任的公司申請的證書則不會彈出>提示頁面,這套證書其實就是一對公鑰和私鑰;
3.服務器會把公鑰傳輸給客戶端;
4.客戶端(瀏覽器)收到公鑰後,會驗證其是否合法有效,無效會有警告提醒,有效則會生成一串隨機數,並用收到的公鑰加密;
5.客戶端把加密後的隨機字符串傳輸給服務器;
6.服務器收到加密隨機字符串後,先用私鑰解密(公鑰加密,私鑰解密),獲取到這一串隨機數後,再用這串隨機字符串加密傳輸的數據(該加密爲對稱加密,所謂對稱加密,就是將數據和私鑰也就是這個隨機字符串>經過某種算法混合在一塊兒,這樣除非知道私鑰,不然沒法獲取數據內容);
7.服務器把加密後的數據傳輸給客戶端;
8.客戶端收到數據後,再用本身的私鑰也就是那個隨機字符串解密;
生成SSL密鑰對
先進入到這個目錄下:cd /usr/local/nginx/conf
安裝openssl這個包yum install -y openssl
生成一個私鑰:openssl genrsa -des3 -out tmp.key 2048//key文件爲私鑰,輸入密碼:
爲了方便給它取消密碼:openssl rsa -in tmp.key -out aminglinux.key //轉換key,取消密碼
刪掉沒用的這個:rm -f tmp.key
openssl req -new -key aminglinux.key -out aminglinux.csr//生成證書請求文件,須要拿這個文件和私鑰一塊兒生產公鑰文件
生成公鑰文件:openssl x509 -req -days 365 -in aminglinux.csr -signkey aminglinux.key -out aminglinux.crt
這裏的aminglinux.crt爲公鑰,aminglinux.key是私鑰
Nginx配置SSL
生成一個新的配置文件:vim /usr/local/nginx/conf/vhost/ssl.conf//加入以下內容
server
{
listen 443;
server_name aming.com;本身定義,好比叫aming.com
index index.html index.php;
root /data/wwwroot/aming.com;建立一下
ssl on;
ssl_certificate aminglinux.crt;
ssl_certificate_key aminglinux.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}
建立一個路徑:mkdir /data/wwwroot/aming.com 由於跑配置文件有這個路徑
-t && -s reload //若報錯unknown directive 「ssl」 ,須要從新編譯nginx,加上--with-http_ssl_module
方法:
進到這個目錄下,cd /usr/local/src/nginx-1.12.1/
./configgure --help |grep -i ssl
添加一條正則表達式:
./configure --prefix=/usr/local/nginx --with-http_ssl_module
make && make install
用命令查看:/usr/local/nginx/sbin/nginx -V 會多一個參數
檢查錯誤:/usr/local/nginx/sbin/nginx -t
重啓一下:/etc/init.d/nginx restart
查一下他的監聽端口:netstat -lntp 會發現多了一個443端口
建立一個測試文件:
把這句話寫入到配置文件去:
echo This is ssl.>/data/wwwroot/aming.com/index.html
要想直接訪問IP就編輯hosts:
vi /etc/hosts 增長127.0.0.1 aming.com
curl https://aming.com/
再從你的電腦hosts裏添加上你的虛擬機ip:192.168.232.132 aming
用電腦連網輸入:https//aming.com 若是不能上查看防火牆
iptables -nvL
iptables -F
php-fpm的pool
vim /usr/local/php/etc/php-fpm.conf//在[global]部分增長
include = etc/php-fpm.d/*.conf
mkdir /usr/local/php/etc/php-fpm.d/
cd /usr/local/php/etc/php-fpm.d/
vim www.conf //內容以下
[www]
listen = /tmp/www.sock
listen.mode=666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
繼續編輯配置文件
vim aming.conf //內容以下
[aming]
listen = /tmp/aming.sock
listen.mode=666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
檢查:/usr/local/php/sbin/php-fpm –t
重啓:/etc/init.d/php-fpm restart
php-fpm慢執行日誌
針對剛纔上邊編輯配置的www.conf進行一個配置
vim /usr/local/php-fpm/etc/php-fpm.d/www.conf//加入以下內容
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
模擬測試
配置nginx的虛擬主機test.com.conf,把unix:/tmp/php-fcgi.sock改成unix:/tmp/www.sock
從新加載nginx服務
vim /data/wwwroot/test.com/sleep.php//寫入以下內容,故意讓它休眠兩秒鐘
<?php echo 「test slow log」;sleep(2);echo 「done」;?>
curl -x127.0.0.1:80 test.com/sleep.php
cat /usr/local/php-fpm/var/log/www-slow.log
php-fpm定義open_basedir
好比說我要在aming.com這個池子裏邊定義
vim /usr/local/php-fpm/etc/php-fpm.d/aming.conf//加入以下內容
php_admin_value[open_basedir]=/data/wwwroot/aming.com:/tmp/
建立測試php腳本,進行測試
再次更改aming.conf,修改路徑,再次測試
配置錯誤日誌
再次測試
查看錯誤日誌
php-fpm進程管理
pm = dynamic //動態進程管理,也能夠是static,若是改爲static下邊的就不會生效了
pm.max_children = 50 //最大子進程數,ps aux能夠查看
pm.start_servers = 20 //啓動服務時會啓動的進程數
pm.min_spare_servers = 5 //定義在空閒時段,子進程數的最少數量,若是達到這個數值時,php-fpm服務會自動派生新的子進程。
pm.max_spare_servers = 35 //定義在空閒時段,子進程數的最大值,若是高於這個數值就開始清理空閒的子進程。
pm.max_requests = 500 //定義一個子進程最多處理的請求數,也就是說在一個php-fpm的子進程最多能夠處理這麼多請求,當達到這個數值時,它會自動退出。