编译安装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 nginx
或chkconfig --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都安装完成了