Kylin(麒麟)V10系统安装WebLogic 12C

Kylin(麒麟)V10系统安装WebLogic 12C

目录

前言

一、JDK环境

二、安装WebLogic

1. 下载安装包

2. 开始安装


前言

先说下服务器的情况:我的环境是国产化环境,所以和之前的X86架构有些区别之处。

CPU是华为鲲鹏(Kunpeng)ARM64(aarch64)指令集架构,所以操作系统是:Kylin Linux Advanced Server V10 (ARM64) 。

由此我们在安装其他软件的时候也要注意这一点了,需要下载安装ARM64(aarch64)指令集架构的软件了,不然会会报指令集不符的相关错误提示。


一、JDK环境

Kylin V10系统默认安装匹配的是OpenJDK。

这里我安装WebLogic 12C时使用的是Oracle JDK。当然OpenJDK应该也是可以的。

JDK要求:WebLogic 12.2.1.4 需要 JDK 8(1.8.0_131及以上版本)

下载地址:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

-- 下载后安装jdk-8u211-linux-arm64-vfp-hflt.tar.gz

在你自建的linux用户下新建java文件,将下载的文件上传到新建的java文件夹下,然后在java文件夹下执行:tar zvxf  jdk-8u211-linux-arm64-vfp-hflt.tar.gz(注意看是否需要root用户权限执行)

-- 配置环境变量

我这里配置普通用户级的JDK环境,不影响root下的全局JDK环境。

su - testuser(自建用户),编辑~/.bashrc文件。

vi ~/.bashrc 后的配置内容:

#取消系统默认JDK环境变量
unset JAVA_HOME
unset JRE_HOME
unset CLASSPATH

#配置新JDK环境变量(优先级高于默认JDK了)
export JAVA_HOME=/home/testuser/java/jdk1.8.0_211
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH  #新JDK的bin目录放在最前面
export JAVA_HOME JRE_HOME CLASSPATH PATH

保存退出后执行:
source ~/.bashrc #使文件生效

二、安装WebLogic

1. 下载安装包

AI介绍:

根据Oracle官方认证,WebLogic 12.2.1.4+已正式支持:
Kylin Linux Advanced Server V10 (ARM64/x86-64) 

Go to the Oracle Technology Network (OTN) website: (WebLogic 12.2.1.4+下载)
https://www.oracle.com/middleware/technologies/weblogic-server-downloads.html

让我总结一下可能的来源:
Oracle OTN(免费用于开发,需要帐户)
Oracle支持(适用于签订支持合同的客户)
Oracle电子交付(面向授权客户)
Docker Hub(用于使用Docker容器进行开发)

2. 开始安装

-- 系统架构确认

uname -m
# Kylin V10有x86_64和aarch64架构
# 确保下载对应架构的WebLogic安装包

--依赖包安装

yum install -y libXext libXrender libXtst glibc-devel binutils gcc make elfutils-libelf-devel libaio

--内核参数调整(可先跳过,我跳过)

# 修改/etc/sysctl.conf增加参数
fs.file-max = 65536
kernel.shmmax = 4294967295

--安装界面乱码问题处理(可先跳过,我跳过)

export LANG=en_US.UTF-8

--创建组,用户,安装目录,目录拥有者授权

groupadd gstu
useradd -g gstu testuser
passwd testuser(给testuser设置密码)
mkdir -p /home/testuser/weblogic/Oracle
chown -R testuser:gstu /home/testuser

切换到你新建的用户su - testuser

1. 上传fmw_12.2.1.4.0_wls_lite_generic_ARM_OCI.jar到/home/testuser/weblogic目录

2. 创建响应文件 (静默安装)

vi wls_install.rsp  --添加以下内容

[ENGINE]
Response File Version=1.0.0.0.0
[GENERIC]
ORACLE_HOME=/home/testuser/weblogic/Oracle
INSTALL_TYPE=WebLogic Server
DECLINE_SECURITY_UPDATES=true
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

说明:
ORACLE_HOME=/home/testuser/weblogic/Oracle--这个配置最后一层Oracle目录不能提前建立好,安装时候会自动创建。否者会安装报错。

3. 执行静默安装(注:wls_install.rsp和oraInst.loc文件执行时,指定全路径)

说明:
-ignoreSysPrereqs:跳过 ARM 架构检查 (因官方可能未正式认证)
安装日志路径:/opt/oracle/oraInventory/logs/install*.log

安装过程中要求创建 产品清单位置指针文件,你可以按照说明在/etc目录上创建(root权限),也可以自己在合适的地方创建。
本人是在自己创建的用户下创建的,位置和wls_install.rsp这个文件一致。在/home/testuser/weblogic目录下。最好是在执行 静默安装 前一并设置好了。在执行安装
vi oraInst.loc --编辑产品清单位置指针文件,添加以下内容

inventory_loc=/home/testuser/weblogic/oraInventory
inst_group=gstu
说明:
inventory_loc#产品目录清单
inst_group#用户组名称

执行静默安装命令:

java -jar fmw_12.2.1.4.0_wls_lite_generic_ARM_OCI.jar -silent -responseFile /home/testuser/weblogic/wls_install.rsp -ignoreSysPrereqs -invPtrLoc /home/testuser/weblogic/oraInst.loc

说明:
安装过程中出现  检查交换空间:swap, 某些系统先决条件检查失败。必须在满足这些要求后才能继续。 处理方式如下:快速创建swap(无需分区)

free -m 先查看swap空间大小
--切换到root用户:sudo -i 
--执行分配1G:fallocate -l 1G /swapfile

--如果不行则使用:
dd if=/dev/zero of=/swapfile bs=1M count=1024
chmod 600 /swapfile #安全授权
mkswap /swapfile #格式化为swap
swapon /swapfile #启用swap

--开机自动挂载:echo '/swapfile swap swap defaults 0 0' >> /etc/fstab #>>是将内容追加到/etc/fstab文件后面,不覆盖前内容
--验证:free -m

4. 配置环境变量

vi ~/.bashrc --编辑用户环境变量文件,添加下面内容

export ORACLE_HOME=/home/testuser/weblogic/Oracle
export PATH=$ORACLE_HOME/oracle_common/common/bin:$PATH

保存退出后执行:
source ~/.bashrc #使文件生效

5. 创建域 (Domain)

创建Python脚本(我脚本的创建位置:$ORACLE_HOME/oracle_common/common/bin下),

vi create_domain.py --添加下面内容

#readTemplate('/home/testuser/weblogic/Oracle/wlserver/common/templates/wls/wls.jar')
readTemplateForUpdate('/home/testuser/weblogic/Oracle/wlserver/common/templates/wls/wls.jar') 
cd('Servers/AdminServer')
set('ListenAddress','')
set('ListenPort',7001)
cd('/')
cd('Security/base_domain/User/weblogic')
cmo.setPassword('********')
setOption('OverwriteDomain', 'true')
writeDomain('/home/testuser/weblogic/Oracle/Middleware/user_projects/domains/base_domain')
closeTemplate()
exit()

Python脚本代码说明:
readTemplateForUpdate() --已更新模式加载模板并配置/修改域。读取weblogic的基础模板wls.jar文件的路径,根据你自己的安装目录更改。
cd('Servers/') --切换到WLST的配置路径到Servers/AdminServer,用于修改管理服务器(AdminServer)的属性
set('ListenAddress','') --设置AdminServer的监听地址为空,表示会监听该主机的所有网络接口,访问其任意IP都行。
cd('/') --回到WLST的根配置路径,用于切换到其他配置节点。
cd('Security/base_domain/User/weblogic') --切换到base_domain域下的weblogic用户安全配置路径,准备修改该用户(weblogic)的密码。
setOption('OverwriteDomain', 'true') --true允许覆盖已存在的base_domain域目录,执行writeDomain() 时会直接覆盖原有域配置。 
writeDomain() --将修改后的域配置写入指定的目录,生产/更新base_domain域。根据你自己的安装目录更改,我这里是在ORACLE_HOME家目录Oracle下创建一系列文件夹Middleware/user_projects/domains/base_domain
closeTemplate() --关闭已加载的模板,释放相关资源。
exit() --退出WLST脚本执行环境

6. 执行脚本

$ORACLE_HOME/oracle_common/common/bin/wlst.sh create_domain.py

添加防火前规则,放行7001端口被访问:firewall-cmd --permanent --add-port=7001/tcp
nohup ./startWebLogic.sh > tmpweblogic.log 2>&1 & --后台启动weblogic
http://10.225.115.45:7001/console--页面访问控制台


就这样吧

Read more

Instruct vs Thinking模式怎么选?Qwen3-VL-WEBUI提供最佳实践路径

Instruct vs Thinking模式怎么选?Qwen3-VL-WEBUI提供最佳实践路径 在多模态大模型逐步渗透到智能办公、自动化测试、教育辅助和内容生成等关键场景的今天,用户对AI能力的要求早已超越“能看图说话”的初级阶段。真正决定体验上限的是:面对不同复杂度任务时,模型能否做出最优响应策略? 阿里通义实验室推出的 Qwen3-VL 系列模型,通过内置 Instruct 与 Thinking 两种推理模式,首次将“快反应”与“深思考”系统化地集成于同一技术框架下。而基于该模型构建的镜像 Qwen3-VL-WEBUI,不仅实现了开箱即用的部署体验,更提供了清晰的工程化路径,帮助开发者精准匹配应用场景。 本文将结合 Qwen3-VL-WEBUI 镜像的实际能力,深入剖析 Instruct 与 Thinking 模式的本质差异、适用边界及协同机制,并给出可落地的选型建议与优化方案。 1. 技术背景:为何需要双模式设计? 传统多模态模型往往采用单一架构处理所有输入——无论问题是“这张图里有什么?”还是“请分析视频中人物行为背后的动机”,都走相同的推理流程。

前端老哥必看:window.print只打半截?一招搞定HTML实际高度打印不踩坑

前端老哥必看:window.print只打半截?一招搞定HTML实际高度打印不踩坑

前端老哥必看:window.print只打半截?一招搞定HTML实际高度打印不踩坑 * 前端老哥必看:window.print只打半截?一招搞定HTML实际高度打印不踩坑 * 别整那些虚的,咱们直接开唠 * 这玩意儿到底是个啥妖魔鬼怪 * 浏览器打印机制那点不为人知的秘密 * CSS里的print媒体查询,是救星还是坑货? * 深挖底层逻辑,把打印机按在地上摩擦 * height: auto失效?布局塌陷的锅谁来背 * 强制分页符的正确打开方式 * 动态内容高度计算,别让JS骗了打印机 * 隐藏的overflow: hidden和fixed定位 * 这招好用是好用,但也有翻车的时候 * 优点当然是爽啊 * 缺点也得认,有些坑真的躲不掉 * 实战场景大乱斗 * 电商后台订单详情打印 * 财务报表长表格打印 * 简历生成器实战 * 电子发票和物流面单 * 遇到报错别慌,老司机的排查套路 * 打印出来是空白?

高效OCR识别新选择|DeepSeek-OCR-WEBUI本地部署指南

高效OCR识别新选择|DeepSeek-OCR-WEBUI本地部署指南 1. 为什么你需要一个本地OCR系统? 你有没有遇到过这样的情况:手头有一堆扫描件、发票、合同或者老照片,想要提取里面的文字,却发现复制粘贴根本不管用?传统OCR工具要么识别不准,要么不支持复杂排版,更别说手写体或模糊图像了。这时候,你就需要一个真正“聪明”的OCR系统。 而今天要介绍的 DeepSeek-OCR-WEBUI,正是这样一个能看懂图、识得字、还能说清楚内容的智能OCR解决方案。它基于国产自研的大模型技术,不仅中文识别精准,还自带可视化界面,部署后直接通过网页操作,像用手机App一样简单。 更重要的是——它是可以完全私有化部署的。你的数据不会上传到任何云端,所有处理都在本地完成,安全又高效。无论是企业文档自动化,还是个人资料数字化,都是理想选择。 2. DeepSeek-OCR-WEBUI 是什么? 2.1 核心能力一览 DeepSeek-OCR-WEBUI 并不是一个简单的文字识别工具,而是一套完整的图像理解与文本提取系统。它的背后是 DeepSeek 团队开源的高性能 OCR 大模

扣子Coze实现ChatSDK的会话隔离(纯前端,萌新必看)

项目背景 使用coze提供的代码在网页插入智能体后,发现不同用户之间没有实现会话隔离(可以互相看到对话记录)。 虽然官方文档里也给了解决方案 ,但写的很粗略,对低代码用户非常不友好,而且示例代码给的还是python的,岂不是说要再部署个后端才能实现。 本文提供一个前端实现用户隔离的方案。 实现原理 先来看官方提供的代码: <script src="https://lf-cdn.coze.cn/obj/unpkg/flow-platform/chat-app-sdk/1.2.0-beta.10/libs/cn/index.js"></script> <script> new CozeWebSDK.WebChatClient({ //创建一个智能体界面 config: { bot_id: '**********', // 智能体ID