预编译完成,如果你并没有通过,记得重新配置依赖。
开始编译和安装:输入以下命令
make -j32 (根据服务器核心数填写J后面数值,例服务器是32核,所以-j32)
make install (编译完成,进行安装)

注册服务:如果你是按照我的操作步骤进行编译操作的
那么需要创建一个日志目录:输入以下命令
sudo mkdir /var/cache/nginx (# 创建日志目录)
为方便启动,注册服务为:输入以下命令
vim /usr/lib/systemd/system/nginx.service
添加内容:输入以下命令
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
最后启动即可:依次输入以下命令
systemctl daemon-reload
systemctl start nginx.service
lsof -i:80

PHP安装编译:
PHP会比较麻烦,主要是依赖问题,根据Blessing Skin安装指南,我们需要PHP支持:
OpenSSL、PDO、Mbstring、Tokenizer、GD、XML、Ctype、JSON、fileinfo、zip
主要是GD模块,需要很多额外参数,尤其是freetype参数,所以这里编译需要注意。
下载PHP源码:下载PHP7.4的源码到/usr/local/src下:依次输入以下命令
cd /usr/local/src
wget 'xxxxx://xxx.php.net/distributions/php-7.4.22.tar.gz'
tar -xf php-7.4.22.tar.gz
编译依赖 Debian/Ubuntu操作系统
需要支援Nginx和MariaDB/MySQL,同时支持gd等模块 依次输入以下命令:
sudo apt-get install pkg-config (# 安装pkg-config)
sudo apt-get install openssl libssl-dev (# OpenSSL的支持)
sudo apt-get install libSQLite3-dev (# SQL支持)
sudo apt-get install zlib1g-dev (# zlib)
sudo apt-get install libcurl4-openssl-dev (# OpenSSL支持)
sudo apt-get install libpng-dev libjpeg-dev libonig-dev (# GD辅助依赖)
之后,编译安装:libxml2、freetype。
并把freetype编译安装地址下的lib/pkgconfig添加到pkg内,如:
# Freetype
export PKG_CONFIG_PATH=/usr/local/freetype/lib/pkgconfig/
CentOS系统:
首先是编译安装oniguruma,并配置到pkg内,如:
# Freetype
export PKG_CONFIG_PATH=/usr/local/freetype/lib/pkgconfig/
之后用软件包管理器安装:输入以下命令
sudo yum install libxml2 libxml2-devel (# XML 库)
sudo yum install pcre pcre-devel (# 正则库)
sudo yum install sqlite3-devel (# SQL 库)
sudo yum install libcurl-devel libpng-devel libjpeg-devel (#lib)
sudo yum install freetype-devel (# GD 依赖)
PHP预编译:输入以下命令
./configure \
--prefix=/usr/local/php7 \
--with-curl \
--with-mysqli \
--with-openssl \
--with-pdo-mysql \
--with-jpeg \
--enable-gd \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-bcmath \
--enable-xml \
--with-zip \
--enable-mbstring \
--enable-sockets \
--with-zlib \
--enable-fileinfo \
--enable-exif \
--with-freetype

如果你并没有通过,记得重新配置依赖尤其是freetype和libxml2
全部没问题后开始编译和安装:输入以下命令
make -j32 (根据服务器核心数填写J后面数值,例服务器是32核,所以-j32)
make install (编译完成,进行安装)

