編譯安裝php+nginx詳細步驟


編譯安裝php+nginx

服務器: 阿里雲centos7

安裝php

下載: wget https://www.php.net/distributions/php-7.3.19.tar.gz

我的下載目錄: /disk2/soft_pack/

解壓:tar -zxvf php-7.3.19.tar.gz

進入解壓目錄:cd ./php-7.3.19/

提前先把安裝依賴,避免一會兒反復編譯安裝

yum -y install gcc
yum -y install libxml2-devel
yum -y install openssl-devel
yum -y install bzip2 bzip2-devel
yum -y install libpng libpng-devel
yum -y install libzip

開始編譯php
注意: 沒有configure的先使用phpize命令生成

./configure --prefix=/usr/local/php73 \
--with-config-file-path=/usr/local/php/etc/php73\
--with-curl \
--with-bz2 \
--enable-libxml \
--with-openssl \
--enable-bcmath \
--enable-pcntl \
--enable-sockets \
--enable-zip \
--enable-soap \
--with-gettext \
--with-zlib \
--enable-xml \
--enable-fpm \
--with-gd \

在編譯時發現libzip版本過低,重新安裝libzip(沒有提示libzip的版本問題時可忽略)

#先刪除舊版本
yum remove -y libzip
#下載編譯安裝
wget https://nih.at/libzip/libzip-1.2.0.tar.gz
#解壓
tar -zxvf libzip-1.2.0.tar.gz
#進入解壓目錄
cd libzip-1.2.0
#編譯安裝
./configure
make && make install

編譯報錯: /usr/local/include/zip.h:59:21: fatal error: zipconf.h: No such file or dire

#解決
cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h

編譯完成后安裝:
make && make install

查看php版本
/usr/local/php73/bin/php -v

使用ln -s /usr/local/php73/bin/php /usr/local/bin/php后,直接使用php -v查看

成功獲取版本信息,安裝成功

PHP 7.3.19 (cli) (built: Jul  4 2020 17:35:16) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.19, Copyright (c) 1998-2018 Zend Technologies

配置php-fpm:

#進入之前解壓的安裝包目錄
cd /disk2/soft_pack/php-7.3.19/
#在編譯包里面把php.ini-production拷貝到php安裝目錄
cp ./php.ini-production /usr/local/php73/php.ini
#復制啟動腳本
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
#添加執行權限
chmod +x /etc/init.d/php-fpm 
#添加php-fpm配置文件
cp /usr/local/php73/etc/php-fpm.conf.default /usr/local/php73/etc/php-fpm.conf
cp /usr/local/php73/etc/php-fpm.d/www.conf.default /usr/local/php73/etc/php-fpm.d/www.conf

查看是否安裝完成:ps -ef|grep php-fpm

php-fpm命令(開啟/重啟/停止):
/etc/init.d/php-fpm start/restart/stop

添加開機啟動
chkconfig --add php-fpm
查看是否添加成功
chkconfig | grep php-fpm

如圖:

2,3,4,5登錄為開啟狀態,表示添加成功,如果為關閉狀態可以用chkconfig php-fpm on開啟

安裝nginx

下載:wget http://nginx.org/download/nginx-1.18.0.tar.gz

我的下載目錄:
/disk2/soft_pack/

進入下載目錄解壓

cd /disk2/soft_pack/
tar -zxvf nginx-1.18.0.tar.gz 

進入解壓目錄
cd ./cd nginx-1.18.0

編譯

./configure --prefix=/usr/local/nginx \
--with-stream \
--with-stream_ssl_module \
--with-http_ssl_module \
--with-http_v2_module \
--with-threads

安裝
make && make install

添加全局命令
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

查看nginx信息: nginx -V

nginx命令:

nginx 啟動
nginx -s stop 是快速關閉,不管有沒有正在處理的請求。
nginx -s quit 是一個優雅的關閉方式,Nginx在退出前完成已經接受的連接請求。
nginx -s reload 重載配置

啟動ngxin后通過ip訪問:

nginx安裝成功

nginx開機自啟動
設置自啟動我們只需要創建/etc/init.d/ngxin文件,把官方提供的代碼放進去修改執行程序和配置文件的目錄,然后加入chkconfig管理列表,利用chkconfig命令添加自啟動即可
這里有官方提供的一個腳本:https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/
詳細步驟如下:
創建並編輯文件: vim /etc/init.d/nginx

將官方提供的腳本放入/etc/init.d/nginx

腳本中這兩項修改成自己的路徑

nginx="/usr/local/nginx/sbin/nginx"	# 執行程序
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"	#配置文件

如圖:

添加執行權限
chmod +x /etc/init.d/nginx

添加chkconfig管理列表
chkconfig --add /etc/init.d/nginx

設置開啟啟動
chkconfig nginx on

查看是否設置成功
chkconfig | grep nginxchkconfig --list

如圖:

配置nginx識別php文件
添加配置
vim /usr/local/nginx/conf/nginx.conf

        location ~ \.php$ {
                root /usr/local/nginx/html;     #網站目錄
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

現在去創個php文件試試

echo "<?php phpinfo();?>">>/usr/local/nginx/html/phpinfo.php

瀏覽器訪問xxx.xxx.xxx.xxx/index.php:

到這里php和nginx都安裝完成了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM