CentOS7编译安装Nginx、PHP8.3
所属分类:Linux | 发布于 2025-01-03
这篇内容里面有的写的是全路径,有的用变量代替,如$INSTALLDIR,可根据实际情况替换变量即可。
安装Nginx 1.26.2
安装依赖包
yum -y install gcc-c++ pcre-devel zlib-devel openssl openssl-devel curl-devel
执行安装命令
tar zxvf nginx-1.26.2.tar.gz
cd nginx-1.26.2
./configure --prefix=/sangfor/server/nginx --with-http_ssl_module --with-http_realip_module --with-http_stub_status_module
make
make install
启动文件与配置文件
# 这两个文件都是定制的,你那里没有
# 启动文件
cp conf/nginx /etc/init.d/nginx
chmod +x /etc/init.d/nginx
# 配置文件
cp conf/nginx.conf $INSTALLDIR/nginx/conf/nginx.conf
安装PHP 8.3
目前PHP最新版本是8.4.2,无奈CentOS7还不支持PHP 8.4,我这里遇到的问题是libxml2的依赖包升不上去,导致无法安装。
安装依赖包
下面这里面可能有已经不需要的包,懒得检查了,就这样。
yum -y install gcc gcc-c++ make cmake libxml2 libxml2-devel pcre pcre-devel zlib zlib-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel autoconf
安装libicu依赖包
这个依赖包之前好像没见过,这里单独列出来
yum -y install libicu libicu-devel
安装必须依赖oniguruma
这个包好像是必须手动编译安装。
tar zxvf oniguruma-6.9.5.tar.gz
cd oniguruma-6.9.5
./autogen.sh
./configure --prefix=/usr
make
make install
cp /usr/lib/pkgconfig/oniguruma.pc /usr/lib64/pkgconfig/
安装必须依赖libzip
# 这里好像yum直接安装即可
yum -y install libzip
# 下面这个是手动编译安装的,但是在编译安装php的时候还是报错
wget https://libzip.org/download/libzip-1.2.0.tar.gz
tar zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure --prefix=/usr
make && make install
cp /usr/lib/pkgconfig/libzip.pc /usr/lib64/pkgconfig/
执行编译安装命令
./configure --prefix=/sangfor/server/php \
--with-config-file-path=/sangfor/server/php/etc \
--enable-fpm \
--enable-mbstring \
--with-zip \
--enable-ftp \
--enable-soap \
--enable-pcntl \
--enable-sockets \
--with-zlib \
--with-mhash \
--with-gettext \
--enable-gd \
--with-mysqli \
--with-pdo-mysql \
--with-curl \
--with-openssl \
--enable-intl
make
make install
这里去掉了之前一直会有的参数--with-xmlrpc、--with-freetype-dir、--with-jpeg-dir、--with-png-dir,印象中php7都可以制定这些参数,不知道是不是php8改版了,现在已经没有动力追究到底了。
启动文件
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
配置文件
# 这个是我这里特定的,你那里可能没有
cp conf/php.ini $INSTALLDIR/php/etc/php.ini
cp conf/php-fpm.conf $INSTALLDIR/php/etc/php-fpm.conf
cp conf/www.conf $INSTALLDIR/php/etc/php-fpm.d/www.conf