云计算百科
云计算领域专业知识百科平台

麒麟系统服务器版本x86架构&arm架构部署过程

麒麟系统x86架构项目部署

1、安装jdk

解压jdk

# 解压jdk
tar -zxvf jdk-8u441-linux-x64.tar.gz

配置环境变量

# 配置环境变量
vi /etc/profile
# 在文件末尾追加以下内容
export JAVA_HOME=/opt/java/jdk1.8.0_441
export CLASSPATH=.:$JAVA_HOME/bin/
export PATH=.:$JAVA_HOME/bin:$PATH

多jdk版本示例

export JAVA_HOME=/opt/jdk/jdk1.8.0_172
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

# java17 environment
export JAVA17_HOME=/opt/jdk/jdk-17.0.13
export CLASSPATH=.:$JAVA17_HOME/bin/
export PATH=.:$JAVA17_HOME/bin:$PATH

# 多 JDK 版本示例关键(起别名以达到共存目的)
alias java=${JAVA_HOME}/bin/java
alias java17=$JAVA17_HOME/bin/java

使配置生效并测试环境

source /etc/profile
java -version
=======确认配置已生效=======
echo $JAVA_HOME
echo $PATH
=======确认配置已生效=======
java17 -version (多JDK 版本示例,java17为alias处配置的别名)

2、安装mysql

解压mysql

tar -Jxvf mysql-8.0.31-linux-glibc2.17-x86_64-minimal.tar.xz

修改文件目录名称

mv mysql-8.0.31-linux-glibc2.17-x86_64-minimal mysql

进入解压后的目录

cd mysql

创建数据库文件存放的文件夹。这个文件夹将来存放每个数据库的库文件

mkdir mysqldb

mysql安装目录赋予权限

chmod -R 777 /opt/mysql

创建mysql组和用户

groupadd mysql

创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)

useradd -r -g mysql -s /bin/false mysql

** 将用户添加到组中**

chown -R mysql:mysql ./

修改mysql配置文件

vim /etc/my.cnf

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/opt/mysql
# 设置mysql数据库的数据的存放目录
datadir=/opt/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 忽略大小写
lower_case_table_names=1
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

进入mysql 安装目录下

cd /opt/mysql/bin/

安装mysql,并记住初始化随机密码 -aGfz#XhB0d=

./mysqld –initialize –console

进入/opt/mysql/support-files/目录

cd /opt/mysql/support-files/

**启动mysql服务 **

./mysql.server start

如果第一次启动,当初始化执行会有报错,此时不要担心,重新给mysql安装目录赋予一下权限后,再次执行

chmod -R 777 /opt/mysql
./mysql.server start

将mysql添加到系统进程中

cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld

设置mysql自启动

chmod +x /etc/init.d/mysqld
systemctl enable mysqld

登录mysql (mysql -uroot -p’-aGfz#XhB0d=')

mysql -uroot -p(备注:输入刚刚默认的密码要加上引号)

执行/opt/mysql/bin/mysql -u root -p报错/opt/mysql/bin/mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

# 检查系统中是否已有 libtinfo.so.6
ls /lib/x86_64-linux-gnu/libtinfo.so.6
# 如果有,将其软链接为 libtinfo.so.5
sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.5
# 然后尝试再次运行 MySQL 客户端:
/opt/mysql/bin/mysql -u root -p

修改root用户登录密码

alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1008611';

设置允许远程登录

use mysql
update user set user.Host='%'where user.User='root';
flush privileges;

执行sql文件

source /opt/qkl/2025.4.13zn-blockchain.sql;

3、安装nginx

解压缩nginx-1.26.3.tar.gz安装包

tar -zxvf nginx-1.26.3.tar.gz

编译nginx,进入到解压后的nginx目录,依次运行如下命令(每一行代表一个命令)

./configure
make
make install

执行./configure报错./configure: error: C compiler cc is not found

# 先将下载好的nginx-build-debs包,复制到离线机器上,然后执行命令安装gcc相关依赖
cd /opt/nginx-build-debs
sudo dpkg -i *.deb

安装完后重新执行上面Nginx 的编译流程

cd ../nginx-1.26.3
./configure
make
make install

编译完成后nginx默认安装在**/usr/local/nginx** 路径下

配置nginx

worker_processes 1;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;

server {
listen 90;
server_name localhost
charset utf-8;

# windows dist存放在nginx的位置
location / {
root html/dist;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
# 访问地图资源
location /biying/ {
alias html/TMS/;
try_files $uri $uri/ /index.html;
index index.html index.htm;

# 启用CORS,防止跨域
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
}
# 配置反向代理 proxy_pass 需要改成自己后端的ip端口
location /dev-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8889/;
proxy_read_timeout 3600; # 单位为秒
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

}

配置环境变量

# 配置环境变量
vi /etc/profile
# 在文件末尾追加以下内容
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

使配置生效并测试环境

source /etc/profile
nginx -v

设置nginx服务开机自启动

# 创建 systemd 服务文件
sudo vi /etc/systemd/system/nginx.service
# 在nginx.service文件中添加以下内容
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

启用并启动服务

sudo systemctl enable nginx
sudo systemctl start nginx

防火墙问题

# 查看防火墙是否已经放行了 Nginx 使用的端口(默认为 80 和 443)
firewall-cmd –zone=public –list-ports
# 如果未放行端口,输入一下命令放行端口
firewall-cmd –zone=public –add-port=80/tcp –permanent # 放行 HTTP 端口
firewall-cmd –zone=public –add-port=443/tcp –permanent # 放行 HTTPS 端口
# 重新加载防火墙配置以使更改生效
firewall-cmd –reload
# 如果仍然无法访问,可以尝试重启防火墙服务
systemctl restart firewalld

4、安装python

解压python

tar -xf Python-3.8.9.tar.xz

安装python开发依赖包

# 先将下载好的python_deps包,复制到离线机器上,然后执行命令安装python相关依赖
cd /opt/python_deps
sudo dpkg -i *.deb

配置编译参数-加上优化与自定义安装路径(不覆盖系统 Python)

cd Python-3.8.9
make clean# 清理旧构建,重新配置
./configure –enable-optimizations –prefix=/usr/local/python3.8
make
make install

配置环境变量

# 配置环境变量
vi /etc/profile
# 在文件末尾追加以下内容
export PATH="/usr/local/python3.8/bin:$PATH"

如果想彻底 替代系统默认的 python 命令,还可以加一个软链接

mv /usr/bin/python /usr/bin/python.bak # 备份一下系统自带的 python
ln -s /usr/local/python3.8/bin/python3 /usr/bin/python
ln -s /usr/local/python3.8/bin/pip3 /usr/bin/pip

使配置生效并测试环境

source /etc/profile
python -V
pip3 -V (也可以创建软连接用pip命令: ln -s /usr/local/bin/pip3 /usr/local/bin/pip)

5、安装matlab

解压zip

mkdir MATLAB_Runtime_R2020b
unzip MATLAB_Runtime_R2020b_Update_8_glnxa64.zip -d MATLAB_Runtime_R2020b

编译matlab

cd MATLAB_Runtime_R2020b
sudo ./install -mode silent -agreeToLicense yes -destinationFolder /opt/matlab_runtime/r2020b

配置环境变量

vi /etc/profile
# 在文件末尾追加以下内容
export LD_LIBRARY_PATH=/opt/matlab_runtime/v99/runtime/glnxa64:/opt/matlab_runtime/v99/bin/glnxa64:$LD_LIBRARY_PATH

使配置生效并测试环境

source /etc/profile
echo $LD_LIBRARY_PATH

6、确保登录 shell 会自动加载 /etc/profile

vi ~/.bashrc
# 添加内容并保存
source /etc/profile

麒麟系统arm架构项目部署

关闭防火墙

sudo systemctl stop firewalld

永久关闭防火墙

sudo systemctl disable firewalld

1、通过qemu安装麒麟系统ARM版本

创建虚拟磁盘

qemu-img create -f qcow2 E:\\kylinarm64\\kylindisk.qcow2 50G

注册虚拟机 new

qemu-system-aarch64.exe ^
-m 8192 ^
-cpu cortex-a72 ^
-smp 8,sockets=4,cores=2 ^
-M virt ^
-bios e:\\kylinarm64\\QEMU_EFI.fd ^
-device VGA ^
-device nec-usb-xhci ^
-device usb-table ^
-device usb-kbd ^
-drive if=none,file=e:\\kylinarm64\\kylindisk.qcow2,id=hd0 ^
-device virtio-blk-device,drive=hd0 ^
-drive if=none,file=e:\\kylinarm64\\Kylin-Server-V10-SP3-2403-Release-20240426-arm64.iso,id=cdrom,media=cdrom ^
-device virtio-scsi-device ^
-device scsi-cd,drive=cdrom ^

启动虚拟机- TAP网络桥接方式

qemu-system-aarch64.exe ^
-m 8192 ^
-cpu cortex-a72 ^
-smp 8,sockets=4,cores=2 ^
-M virt ^
-bios e:\\kylinarm64\\QEMU_EFI.fd ^
-device VGA ^
-device nec-usb-xhci ^
-device usb-tablet ^
-device usb-kbd ^
-drive if=none,file=e:\\kylinarm64\\kylindisk.qcow2,id=hd0 ^
-device virtio-blk-device,drive=hd0 ^
-net nic ^
-net tap,ifname=tap0,script=no,downscript=no

启动虚拟机-NAT网络直连方式

qemu-system-aarch64.exe ^
-m 8192 ^
-cpu cortex-a72 ^
-smp 8,sockets=4,cores=2 ^
-M virt ^
-bios e:\\kylinarm64\\QEMU_EFI.fd ^
-device VGA ^
-device nec-usb-xhci ^
-device usb-tablet ^
-device usb-kbd ^
-drive if=none,file=e:\\kylinarm64\\kylindisk.qcow2,id=hd0 ^
-device virtio-blk-device,drive=hd0 ^
-netdev user,id=net0,hostfwd=tcp::2222-:22 ^
-device virtio-net-device,netdev=net0

转发多个端口启动虚拟机

-netdev user,id=net0,hostfwd=tcp::2222-:22,hostfwd=tcp::90-:90,hostfwd=tcp::8889-:8889,hostfwd=tcp::9000-:9000 ^

2、安装虚拟网卡

下载地址:https://openvpn.net/community-downloads/

安装openvpn-connect,修改网卡名称为tap0,将物理机的网络共享给虚拟网卡tap0

3、进行网络配置设置固定ip

参考:https://blog.csdn.net/qq_42055933/article/details/135497642?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5-135497642-blog-131632280.235^v43^pc_blog_bottom_relevance_base5&spm=1001.2101.3001.4242.4&utm_relevant_index=8

4、安装jdk

解压jdk

# 解压jdk
tar -zxvf jdk-8u441-linux-aarch64.tar.gz

配置环境变量

# 配置环境变量
vi /etc/profile
# 在文件末尾追加以下内容
export JAVA_HOME=/opt/jdk1.8.0_441
export CLASSPATH=.:$JAVA_HOME/bin/
export PATH=.:$JAVA_HOME/bin:$PATH

多jdk版本示例

export JAVA_HOME=/opt/jdk/jdk1.8.0_172
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

# java17 environment
export JAVA17_HOME=/opt/jdk/jdk-17.0.13
export CLASSPATH=.:$JAVA17_HOME/bin/
export PATH=.:$JAVA17_HOME/bin:$PATH

# 多 JDK 版本示例关键(起别名以达到共存目的)
alias java=${JAVA_HOME}/bin/java
alias java17=$JAVA17_HOME/bin/java

使配置生效并测试环境

source /etc/profile
java -version
=======确认配置已生效=======
echo $JAVA_HOME
echo $PATH
=======确认配置已生效=======
java17 -version (多JDK 版本示例,java17为alias处配置的别名)

5、安装mysql

卸载mariadb

yum remove mariadb-server mariadb

检查是否还有未删除的包

rpm -qa | grep mariadb
yum remove mariadb-connector-c-3.0.6-9.ky10.aarch64
yum clean all

删除MariaDB的数据目录和配置文件

rm -rf /var/lib/mysql/
rm -rf /etc/my.cnf

解压mysql

tar -zxvf mysql-8.0.31-linux-glibc2.17-aarch64.tar.gz

修改文件目录名称

mv mysql-8.0.31-linux-glibc2.17-aarch64 mysql

进入解压后的目录

cd mysql

创建数据库文件存放的文件夹。这个文件夹将来存放每个数据库的库文件

mkdir mysqldb

mysql安装目录赋予权限

chmod -R 777 /opt/mysql

创建mysql组和用户

groupadd mysql

创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)

useradd -r -g mysql -s /bin/false mysql

** 将用户添加到组中**

chown -R mysql:mysql ./

修改mysql配置文件

vim /etc/my.cnf

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/opt/mysql
# 设置mysql数据库的数据的存放目录
datadir=/opt/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 忽略大小写
lower_case_table_names=1
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

进入mysql 安装目录下

cd /opt/mysql/bin/

安装mysql,并记住初始化随机密码 k;EQgy((o9nY

./mysqld –initialize –console

进入/opt/mysql/support-files/目录

cd /opt/mysql/support-files/

**启动mysql服务 **

./mysql.server start

如果第一次启动,当初始化执行会有报错,此时不要担心,重新给mysql安装目录赋予一下权限后,再次执行

chmod -R 777 /opt/mysql
./mysql.server start

将mysql添加到系统进程中

cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld

设置mysql自启动

chmod +x /etc/init.d/mysqld
systemctl enable mysqld

将 mysql 加入环境变量

vim /etc/profile
export PATH=$PATH:/opt/mysql/bin
source /etc/profile

登录mysql (mysql -uroot -p’k;EQgy((o9nY’)

mysql -uroot -p(备注:输入刚刚默认的密码要加上引号)

修改root用户登录密码

alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1008611';

设置允许远程登录

use mysql
update user set user.Host='%'where user.User='root';
flush privileges;

执行sql文件

source /opt/qkl/2025.4.13zn-blockchain.sql;

6、安装nginx

解压缩nginx-1.26.3.tar.gz安装包

tar -zxvf nginx-1.26.3.tar.gz

编译nginx,进入到解压后的nginx目录,依次运行如下命令(每一行代表一个命令)

cd ../nginx-1.26.3
./configure
make
make install

编译完成后nginx默认安装在**/usr/local/nginx** 路径下

配置nginx

worker_processes 1;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;

server {
listen 90;
server_name localhost
charset utf-8;

# windows dist存放在nginx的位置
location / {
root html/dist;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
# 访问地图资源
location /biying/ {
alias html/TMS/;
try_files $uri $uri/ /index.html;
index index.html index.htm;

# 启用CORS,防止跨域
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
}
# 配置反向代理 proxy_pass 需要改成自己后端的ip端口
location /dev-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8889/;
proxy_read_timeout 3600; # 单位为秒
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

}

配置环境变量

# 配置环境变量
vi /etc/profile
# 在文件末尾追加以下内容
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

使配置生效并测试环境

source /etc/profile
nginx -v

设置nginx服务开机自启动

# 创建 systemd 服务文件
sudo vi /etc/systemd/system/nginx.service
# 在nginx.service文件中添加以下内容
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

启用并启动服务

sudo systemctl enable nginx
sudo systemctl start nginx

防火墙问题

# 查看防火墙是否已经放行了 Nginx 使用的端口(默认为 80 和 443)
firewall-cmd –zone=public –list-ports
# 如果未放行端口,输入一下命令放行端口
firewall-cmd –zone=public –add-port=80/tcp –permanent # 放行 HTTP 端口
firewall-cmd –zone=public –add-port=443/tcp –permanent # 放行 HTTPS 端口
# 重新加载防火墙配置以使更改生效
firewall-cmd –reload
# 如果仍然无法访问,可以尝试重启防火墙服务
systemctl restart firewalld

7、安装python

解压python

tar -xf Python-3.8.9.tar.xz

配置编译参数-加上自定义安装路径(不覆盖系统 Python)

cd Python-3.8.9
make clean# 清理旧构建,重新配置
./configure –prefix=/usr/local/python3.8
make -j$(nproc)
make install

配置环境变量

# 配置环境变量
vi /etc/profile
# 在文件末尾追加以下内容
export PATH="/usr/local/python3.8/bin:$PATH"

如果想彻底 替代系统默认的 python 命令,还可以加一个软链接

mv /usr/bin/python /usr/bin/python.bak # 备份一下系统自带的 python
ln -s /usr/local/python3.8/bin/python3 /usr/bin/python
ln -s /usr/local/python3.8/bin/pip3 /usr/bin/pip

使配置生效并测试环境

source /etc/profile
python -V
pip3 -V (也可以创建软连接用pip命令: ln -s /usr/local/bin/pip3 /usr/local/bin/pip)

8、安装matlab(Linux没有对应arm版本)

解压zip

mkdir MATLAB_Runtime_R2020b
unzip MATLAB_Runtime_R2020b_Update_8_glnxa64.zip -d MATLAB_Runtime_R2020b

编译matlab

cd MATLAB_Runtime_R2020b
sudo ./install -mode silent -agreeToLicense yes -destinationFolder /opt/matlab_runtime/r2020b

配置环境变量

vi /etc/profile
# 在文件末尾追加以下内容
export LD_LIBRARY_PATH=/opt/matlab_runtime/v99/runtime/glnxa64:/opt/matlab_runtime/v99/bin/glnxa64:$LD_LIBRARY_PATH

使配置生效并测试环境

source /etc/profile
echo $LD_LIBRARY_PATH

9、确保登录 shell 会自动加载 /etc/profile

vi ~/.bashrc
# 添加内容并保存
source /etc/profile

赞(0)
未经允许不得转载:网硕互联帮助中心 » 麒麟系统服务器版本x86架构&arm架构部署过程
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!