编译安装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命令生成
在编译时发现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
我的下载目录:
/disk2/soft_pack/
进入下载目录解压
cd /disk2/soft_pack/ tar -zxvf nginx-1.18.0.tar.gz进入解压目录
cd ./cd nginx-1.18.0
编译
./configure --prefix=http://www.likecs.com/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