最近做一个银行的项目,银行的服务器是鲲鹏ARM架构的服务器,并且是麒麟v10的系统,这里记录一下在无法访问外网安装 php 和 adminer 的方法。
其他文章:
鲲鹏 ARM 架构 麒麟 Lylin v10 安装 Node 和 NVM (离线)-CSDN博客
鲲鹏 ARM 架构 麒麟Lylin v10 安装 Nginx (离线)-CSDN博客
鲲鹏 ARM 架构 麒麟 Lylin v10 安装 Pm2 (离线)-CSDN博客
鲲鹏 ARM 架构 麒麟 Lylin v10 安装 Mysql8.3 (离线)-CSDN博客
下载 adminer-4.8.1-mysql.php
官网:https://www.adminer.org/#download
下载 php-8.3.4.tar.xz
官网:https://www.php.net/downloads.php
下载 libxml2-2.12.6.tar.xz
官网:https://gitlab.gnome.org/GNOME/libxml2/-/releases
下载 zlib-1.3.1.tar.gz
官方:https://github.com/madler/zlib/releases
下载 openssl-3.2.1.tar.gz
官方:https://github.com/openssl/openssl/releases
下载 curl-8.7.1.tar.gz
官网:https://curl.se/download.html
下载 sqlite-version-3.45.2.tar.gz
官网:https://github.com/sqlite/sqlite/tags
下载 autoconf-latest.tar.xz
官网:https://ftp.gnu.org/gnu/autoconf/
下载 automake-1.16.5.tar.xz
官网:https://ftp.gnu.org/gnu/automake/
下载 onig-6.9.9.tar.gz
官网:https://github.com/kkos/oniguruma/tags
把下载的压缩包上传到服务器的root目录下
安装 libxml2 PHP 需要 libxml2 来解析 XML 数据
tar -xvf libxml2-2.12.6.tar.xz
cd libxml2-2.12.6
./configure --prefix=/usr/local
make
make install
安装 zlib PHP 需要 zlib 来支持 Gzip 模块
tar -xvf zlib-1.3.1.tar.gz
cd zlib-1.3.1
./configure --prefix=/usr/local
make
make install
安装 openssl PHP 需要 openssl 来支持 SSL 模块
tar -zxvf openssl-3.2.1.tar.gz
cd openssl-3.2.1
./config --prefix=/usr/local
make
make install
设置环境变量,不设置的话curl、sqlite、autoconf、automake、oniguruma、php等命令可能无法执行
LD_LIBRARY_PATH 告诉系统在哪里查找动态链接库,这里是告诉系统在 /usr/local/lib 目录查找动态链接库
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
PKG_CONFIG_PATH 用于帮助 pkg-config 工具找到库的元数据文件
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
PATH 用于告诉系统在哪里查找可执行文件
export PATH=/usr/local/bin:$PATH
安装 curl-8.7.1.tar.gz,PHP 需要 curl 来支持 cURL 扩展
--with-ssl 选项是为了启用 SSL 支持,这通常是需要的。需要安装 OpenSSL 库来支持 SSL。
tar -xvf curl-8.7.1.tar.gz
cd curl-8.7.1
./configure --prefix=/usr/local --with-ssl=/usr/local --with-openssl
make
make install
安装 sqlite PHP 需要 sqlite 来支持 SQLite 数据库
tar -xvf sqlite-version-3.45.2.tar.gz
cd sqlite-version-3.45.2
./configure --prefix=/usr/local
make
make install
安装 autoconf-latest.tar.xz,PHP 需要 autoconf 来支持自动配置
tar -xvf autoconf-latest.tar.xz
cd autoconf-2.72
./configure --prefix=/usr/local
make
make install
安装 automake-1.16.5.tar.xz,PHP 需要 automake 来支持自动构建
tar -xvf automake-1.16.5.tar.xz
cd automake-1.16.5
./configure --prefix=/usr/local
make
make install
安装 oniguruma-6.9.9.tar.gz,PHP 需要 oniguruma 来支持正则表达式
tar -xvf onig-6.9.9.tar.gz
cd onig-6.9.9
# 运行configure脚本
./configure --prefix=/usr/local
make
make install
安装 php
tar -xvf php-8.3.4.tar.xz
cd php-8.3.4
./configure --prefix=/usr/local --with-mysqli=mysqlnd --enable-fpm --with-zlib=/usr/local --with-curl=/usr/local --with-openssl=/usr/local --with-libxml-dir=/usr/local --enable-mbstring --with-pdo-mysql --with-sqlite3=/usr/local
make
make install
配置 PHP-FPM
复制 php-fpm.d/www.conf.default 到 php-fpm.d/www.conf
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
查看 web 服务器用户和用户组,我这里工作进程是nobody用户
ps -eo user,group,comm | grep nginx
修改 php-fpm.d/www.conf 文件中的 user 和 group 为 web 服务器用户和用户组
vi /usr/local/etc/php-fpm.d/www.conf
修改以下三行,一般默认就是 nobody,端口默认9000
user = nobody
group = nobody
listen = 127.0.0.1:9000
查看 php-fpm.conf 文件路径
find / -name php-fpm.conf
复制 php-fpm 配置文件到 /usr/local/etc/ 目录下
cp /root/php-8.3.4/sapi/fpm/php-fpm.conf /usr/local/etc/
测试 PHP-FPM 配置是否正确
/usr/local/sbin/php-fpm -t
启动 PHP-FPM
/usr/local/sbin/php-fpm
确认 PHP-FPM 是否启动成功,如果 netstat 命令输出结果中包含 9000 端口,则表示 PHP-FPM 启动成功
netstat -tulnp | grep php-fpm
如果 netstat 不可用,可以使用 ss 命令
ss -tulnp | grep php-fpm
重启 PHP-FPM
/usr/local/sbin/php-fpm -s reload
配置 Nginx 服务,可以看我另一个文章 nginx 离线安装
把下载的 adminer-4.8.1-mysql.php 文件上传到 /home/www/wwwroot/baswei 目录下
对所有文件设置权限为 644(即文件所有者可以读取和写入,文件所有组可以读取,其他用户可以读取)。
sudo find /home/www/wwwroot/baswei -type f -exec chmod 644 {} \;
查看 Nginx 配置文件路径
find / -name nginx.conf
修改 Nginx 配置文件
vi /usr/local/nginx/conf/nginx.conf
在 http 模块中添加以下内容
server {
listen 8090;
server_name 123.60.220.94;
root /home/www/wwwroot/baswei;
index adminer-4.8.1-mysql.php;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
验证 Nginx 配置是否正确
nginx -t
重启 Nginx
nginx -s reload
访问 http://123.60.220.94:8090/adminer-4.8.1-mysql.php