1. 程式人生 > 其它 >LNMP編譯部署之php

LNMP編譯部署之php

1、環境準備

  虛擬機器:centos 7 ip:192.168.137.128

  php-7.4.8.tar.gz

2、開始安裝

  新增php使用者,用於執行php-fpm程序

  useradd php -s /sbin/nologin

  

  解壓php原始碼包

  tar -zxf php-7.4.8.tar.gz

  

  安裝依賴包

  yum install libxml2-develsqlite-devel libcurl-devel oniguruma-devel libpng-devel libjpeg-devel freetype-devel libzip-devel openssl-devel -y

  編譯引數參考

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mhash --with-openssl --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv --with-zlib --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-bcmath --enable-shmop --enable-sysvsem --enable-gd --with-jpeg --with-freetype --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-opcache --enable-fpm --with-fpm-user=php --with-fpm-group=php --without-gdbm --enable-fast-install --disable-fileinfo

  編譯沒有問題就開始安裝

[root@swarm-node1 php-7.4.8]# make && make install 

  

  編譯安裝完成

  

  複製相關配置檔案到php安裝路徑

  啟動指令碼:php-7.4.8/sapi/fpm/init.d.php-fpm

[root@swarm-node1 fpm]# cp init.d.php-fpm /usr/local/php/

  php.ini配置檔案:php-7.4.8/php.ini-production 

[root@swarm-node1 php-7.4.8]# cp php.ini-production /usr/local/php/etc/php.ini

  建立php-fpm.conf配置檔案

  進到php的安裝路徑下面的etc

[root@swarm-node1 etc]# pwd
/usr/local/php/etc
[root@swarm-node1 etc]# 
[root@swarm-node1 etc]# ls
php-fpm.conf.default  php-fpm.d  php.ini
[root@swarm-node1 etc]# cp php-fpm.conf.default php-fpm.conf

  

  進入php-fpm.d目錄,將裡面的檔案也重新命名一下

[root@swarm-node1 php-fpm.d]# pwd
/usr/local/php/etc/php-fpm.d
[root@swarm-node1 php-fpm.d]# 
[root@swarm-node1 php-fpm.d]# ls
www.conf.default
[root@swarm-node1 php-fpm.d]# 
[root@swarm-node1 php-fpm.d]# cp www.conf.default www.conf

  

  啟動php-fpm

  執行init.d.php-fpm啟動指令碼,啟動php-fpm

[root@swarm-node1 php]# bash init.d.php-fpm start

  

  測試安裝是否成功,可結合nginx配置一個index.php 寫一個phpinfo的測試頁面

  nginxlocation 段配置檔案

    location ~ \.php$ {

            root           html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

            include        fastcgi.conf;

        }

  index.php 配置檔案

[root@swarm-node1 html]# cat index.php 
<?php
phpinfo()
?>
[root@swarm-node1 html]# 
[root@swarm-node1 html]# 

  啟動nginx,訪問網頁