記錄一次nginx php-fpm環境搭建
阿新 • • 發佈:2019-02-02
為了測試bug,好久不搭環境的我又一次走上不歸路,在此記錄。
我用的parallel desktop上的centos7
裝系統還是很好裝的,先新增源
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
1.安裝php7.2
//安裝php yum install php72w yum install -y php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml systemctl start php-fpm //開啟php-fpm service php-fpm status //檢視php-fpm是否啟動
這回主要是為了php-fpm
php-fpm中有一些配置項,等我們裝好了nginx一起處理他。
2.安裝nginx
//安裝nginx
yum install nginx
nginx配置項在/etc/nginx/conf.d/下面有個default.conf,修改前記得備份。
server{ listen 80; server_name localhost; index index.php index.html index.htm; root /usr/share/nginx/html; #專案路徑 location / { index index.php index.html index.htm; try_files $uri $uri/ /index.php?$query_string; } location ~ \.php { root /usr/share/nginx/html ; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } sudo systemctl restart nginx
這裡可能報一些錯誤。
一般是你配置的問價許可權不夠,虛擬機器注意第四條
500左右的錯誤
一般因為php-fpm沒有啟動
File not found
錯誤原因是是php-fpm程序找不到SCRIPT_FILENAME配置的要執行的.php檔案,php-fpm返回給nginx的預設404錯誤提示。//安裝nginx。
3.配置php-fpm
啟用php-fpm狀態, 對PHP-FPM進行監控
配置檔案/etc/php-fpm.d/www.conf
pm.status_path = /status
然後修改nginx新增下面這段,跟其他的location一樣 很整齊,不至於有人會找不到吧。注意/status這裡要跟www.conf中一致
location /status {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
}
你可以看到
pool: www #fpm池名稱,大多數為www
process manager: dynamic #程序管理方式dynamic或者static
start time: 16/Sep/2018:16:17:41 +0800 #啟動日誌,如果reload了fpm,時間會更新
start since: 5 #執行時間
accepted conn: 1 #當前池接受的請求數
listen queue: 0 #請求等待佇列,如果這個值不為0,那麼需要增加FPM的程序數量
max listen queue: 0 #請求等待佇列最高的數量
listen queue len: 128 #socket等待佇列長度
idle processes: 4 #空閒程序數量
active processes: 1 #活躍程序數量
total processes: 5 #總程序數量
max active processes: 1 #最大的活躍程序數量(FPM啟動開始計算)
max children reached: 0 #程最大數量限制的次數,如果這個數量不為0,那說明你的最大程序數量過小,可以適當調整。
slow requests: 0 #啟用了php-fpm slow-log,緩慢請求的數量
4.安裝redis
yum install redis
yum install php-redis
檢視redis.so
檢視/usr/lib64/php/modules/redis.so是否存在
然後變價redis.ini
vi /etc/php.d/redis.ini
我以前也是修改php.ini的現在好像都換出去了,你看php.d裡面有各種庫的ini檔案,我的redis.ini是自動生成的,並且裡面的vi extension = redis.so已經去過註釋了。
重啟nginx 和 php-fpm 你就可以看到redis了。