NSF Back-end Dev Engineer

aarch64+php7+svm

2023-03-21
nsf

aarch64架构安装php7和svm,这里以centos7系统为例

1.系统安装

如果你的主机架构为aarch,那么直接安装centos7即可,如果你的系统架构为x86,下面以windows10系统为例,在windows下安装qemu

资源准备

window10版本的qemu直接下载官网的exe安装包即可: https://www.qemu.org/download/

CentOS镜像下载地址: http://mirrors.huaweicloud.com/centos-altarch/7.9.2009/isos/aarch64/

QEMU_EFI.fd文件下载地址: http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/

OpenVPN下载地址:

https://scc.ustc.edu.cn/sw/OpenVPN-2.5.8-I604-amd64.msi

配置网络

用于配置qemu虚拟机网络

  1. 在Windows主机上安装TAP网卡驱动: 安装openvpn,在网络连接中,会看到一个新的网卡,属性类似于TAP-Win32 Adapter…,将其名称修改为tap0。
  2. 将tap0虚拟网卡和Windows上连接互联网的真实网卡桥接: 选中这两块网卡,右键,桥接。此时,Windows主机将不能连接互联网,需要在网桥上配置IP地址和域名等信息,才能使Windows主机连接互联网。

创建qemu虚拟机

安装qemu

"D:\Program Files\qemu\qemu-img.exe" create -f qcow2 D:\6.VirtualMachine\CentOS7_aarch64\centos7-aarch64.qcow2 50G

"D:\Program Files\qemu\qemu-system-aarch64.exe" ^
-m 4096 -cpu cortex-a72 -smp 4,threads=1,sockets=1,cores=4 -M virt ^
-bios D:\6.VirtualMachine\CentOS7_aarch64\QEMU_EFI.fd ^
-net nic -net tap,ifname=tap0 ^
-device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd ^
-drive if=none,file=D:\6.VirtualMachine\CentOS7_aarch64\centos7-aarch64.qcow2,id=hd0 ^ 
-device virtio-blk-device,drive=hd0 ^
-drive if=none,file=D:\14.Downloads\CentOS-7-aarch64-Minimal2009.iso,id=cdrom,media=cdrom ^
-device virtio-scsi-device -device scsi-cd,drive=cdrom

参数介绍

  • -m 4096 表示分配给虚拟机的内存最大4096MB
  • -cpu cortex-a72 指定CPU类型,还可以选择cortex-a53、cortex-a57等
  • -smp 4,cores=4,threads=1,sockets=1 指定虚拟机最大使用的CPU核心数等
  • -M virt 指定虚拟机类型为virt,具体支持的类型可以使用 qemu-system-aarch64 -M help 查看
  • -bios D:\6.VirtualMachine\CentOS7_aarch64\QEMU_EFI.fd 指定UEFI固件文件
  • -net nic -net tap,ifname=tap0 启用网络功能
  • -device VGA 启用VGA视图,对于图形化的Linux这条很重要
  • -device nec-usb-xhci -device usb-kbd -device usb-mouse 启用USB鼠标等设备
  • -drive if=none,file=D:\6.VirtualMachine\CentOS7_aarch64\centos7-aarch64.qcow2,id=hd0 指定硬盘镜像文件
  • -drive if=none,file=D:\14.Downloads\CentOS-7-aarch64-Minimal2009.iso,id=cdrom,media=cdrom 指定光驱使用镜像文件
  • -device virtio-scsi-device -device scsi-cd,drive=cdrom 指定光驱硬件类型

执行后正常安装centos7,配置网络即可

启动虚拟机

其实就是从上面的创建虚拟机中,删减了cdrom相关配置,如此即可从文件中启动

"D:\Program Files\qemu\qemu-system-aarch64.exe" ^
-m 4096 -cpu cortex-a72 -smp 2,sockets=1,cores=2 -M virt ^
-bios D:\6.VirtualMachine\CentOS7_aarch64\QEMU_EFI.fd ^
-device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd ^
-drive if=none,file=D:\6.VirtualMachine\CentOS7_aarch64\centos7-aarch64.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 ^
-device virtio-scsi-device ^
-net nic -net tap,ifname=tap0

2.安装php7

选择源码安装

安装依赖

yum -y install gcc automake autoconf libtool make
yum -y install gcc gcc-c++ glibc
yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap-devel

安装php7

wget https://www.php.net/distributions/php-7.3.15.tar.gz
tar -zxvf php-7.3.15.tar.gz
cd php-7.3.15
./configure \
    --prefix=/usr/local/php \
    --exec-prefix=/usr/local/php \
    --bindir=/usr/local/php/bin \
    --sbindir=/usr/local/php/sbin \
    --includedir=/usr/local/php/include \
    --libdir=/usr/local/php/lib/php \
    --mandir=/usr/local/php/php/man \
    --with-config-file-path=/usr/local/php/etc \
    --with-mysql-sock=/var/lib/mysql/mysql.sock \
    --with-mhash \
    --with-openssl \
    --with-mysqli=shared,mysqlnd \
    --with-pdo-mysql=shared,mysqlnd \
    --with-gd \
    --with-jpeg-dir \
    --with-png-dir \
    --with-iconv \
    --with-zlib \
    --enable-zip \
    --enable-inline-optimization \
    --disable-debug \
    --disable-rpath \
    --enable-shared \
    --enable-xml \
    --enable-bcmath \
    --enable-shmop \
    --enable-sysvsem \
    --enable-mbregex \
    --enable-mbstring \
    --enable-ftp \
    --enable-pcntl \
    --enable-sockets \
    --with-xmlrpc \
    --enable-soap \
    --without-pear \
    --with-gettext \
    --enable-session \
    --with-curl \
    --with-freetype-dir \
    --enable-opcache \
    --enable-fpm \
    --with-fpm-user=www \
    --with-fpm-group=www \
    --without-gdbm \
    --enable-fileinfo \

    --disable-fileinfo

编译安装

cat /proc/cpuinfo| grep "processor"| wc -l
make -j[后跟CPU数量] && make install

建立软链接

ln -s /usr/local/php/sbin/php-fpm /usr/local/bin
ln -s /usr/local/php/bin/php /usr/bin/php
php -v

正常输出php版本即安装完成

3.安装svm

安装libsvm

wget http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz
mv libsvm.cgi\?+http\:%2F%2Fwww.csie.ntu.edu.tw%2F~cjlin%2Flibsvm+tar.gz libsvm-3.3.tar.gz
tar xvzf libsvm-3.1.tar.gz
cd libsvm-3.3/
make lib
cp libsvm.so.2 /usr/lib/libsvm.so
cp libsvm.so.2 /usr/lib/

安装php-svm

wget https://pecl.php.net/get/svm-0.1.9.tgz
tar zxvf svm-0.1.9.tgz
cd svm-0.1.9
phpize
./configure --with-php-config=/usr/local/php/bin/php-config;
make && make install;

修改php.ini,添加以下行

extension=/xxx/svm.so # 你的php-svm解压后modules下svm.so路径

上一篇 python多任务

下一篇 python

Comments

Content