麒麟系统服务器版本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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值