nx许可证服务器的值,说穿了就是“端口@主机名”这一串:客户端填 28000@服务器计算机名(或IP),服务器端在许可证文件的 SERVER 行和 lmtools 里把主机名、MAC地址、端口三者对齐,值就对上了,剩下的都是排查细节。
先把三个值分清楚:主机名、端口、许可证文件
很多人在“值怎么设置”上绕不出来,是因为把三个层面的东西混成了一件事,NX 用的是 FlexNet 授权机制,一个许可证服务器对外暴露的信息其实只有三样。
- 主机名:许可证文件
SERVER行里的那台机器名,也可以是 IP,但必须和客户端能解析到的名字一致。 - 端口:
lmgrd主进程监听的端口,默认28000;供应商守护进程ugslmd通常配在28001。 - 许可证文件:
splm.lic或ugslic.txt这类文本文件,里面写明了SERVER、VENDOR、USE_SERVER和具体的授权特性行。
客户端要填的那个“值”,只有两种写法:
28000@server01(推荐,指向远程服务器)- 直接指向一个
.lic文件的完整路径,文件里用USE_SERVER表示去连文件里声明的那台服务器。
判断标准很简单:客户端能不能用,取决于它拿到的这串值能不能找到服务器、服务器能不能验证到有效授权,缺一环就报错。
NX许可证服务器地址怎么配置?先分清是填给谁看
地址配置不是一个动作,而是两个动作:服务器端配“我是谁”,客户端配“我去找谁”,这两边的值必须互相咬合。
服务器端:许可证文件里的 SERVER 行
打开许可证文件,前几行通常长这样:
SERVER server01 001122334455 28000
VENDOR ugslmd PORT=28001
USE_SERVER
server01是计算机名,建议和系统属性里的名字完全一致,别带多余后缀。001122334455是网卡 MAC 地址,去掉冒号和横杠,十二位连续字符。28000是主端口,后面VENDOR行再单独给ugslmd分配28001。
改完文件后必须做两件事:在 lmtools 的 Config Services 里确认 lmgrd.exe、许可证文件、日志文件三个路径都指向正确位置;再到 Start/Stop/Reread 选项卡点一次 ReRead License File,让新值生效,只改文件不重读,等于没改。
客户端:环境变量是主流做法
Windows 客户端上,NX12 及以后版本认的是 SPLM_LICENSE_SERVER,旧版本认 UGII_LICENSE_FILE,设置路径:系统属性 → 高级 → 环境变量 → 新建系统变量。
- 变量名:
SPLM_LICENSE_SERVER - 变量值:
28000@server01
如果服务器有多台做冗余,值可以写成 28000@server01;28000@server02,Windows 下用分号分隔,这里有个常被忽略的点:主机名解析不通时,值填得再对也没用,客户端 hosts 文件里加一行 168.1.100 server01,能省掉大量“连不上”的排查时间。
用环境变量还是用许可证文件,怎么选
| 方式 | 适用场景 | 注意点 |
|---|---|---|
环境变量 28000@host |
局域网集中授权、客户端数量多 | 改一次全局生效,适合统一运维 |
指向 .lic 文件路径 |
单机调试、临时借用授权 | 文件路径不能含中文和空格 |
客户端本地 USE_SERVER 文件 |
服务器地址经常变 | 换服务器只需换文件 |
行业共识认为,超过十台客户端的团队优先走环境变量加集中部署,维护成本最低。
NX许可证服务器端口号是多少,能不能改
默认值就是 28000,ugslmd 的供应商端口一般配 28001,这两个不是随便定的,是 Siemens 安装包在生成许可证文件时的默认约定。
端口能不能改?能,但没必要,真要改,改三处:许可证文件 SERVER 行末尾的端口、VENDOR 行的 PORT=、客户端环境变量里的端口号,三处不一致,服务端起得来、客户端连不上,这是最典型的“假成功”。
更常见的问题是端口被占用:
netstat -ano | findstr 28000
查到 PID 后去任务管理器对一下,多半是上一次没关干净的 lmgrd.exe 或 ugslmd.exe 残留进程,结束进程再启动服务即可,防火墙侧也要放行:服务器入站规则里给 lmgrd.exe 和 ugslmd.exe 加白名单,或者直接放行 TCP 28000、28001。
验证服务是否真的在对外提供授权,用这条命令最直接:
lmutil lmstat -c 28000@server01 -a
能看到 Users of 开头的授权占用列表,说明链路通了;报 Cannot connect to license server,问题就在主机名解析、端口或防火墙三者之一。
NX12许可证服务器设置在哪,和老版本有什么不同
NX12 是个分水岭,这个版本开始,客户端授权入口从 UGII_LICENSE_FILE 迁移到 SPLM_LICENSE_SERVER,安装器里也有独立的许可证配置页,实际运维中经常遇到老机器升级后两个变量同时存在、值还不一样,NX 会按优先级取一个,结果就是“明明配了却提示无授权”。
处理办法:只保留 SPLM_LICENSE_SERVER,把旧的 UGII_LICENSE_FILE 删掉,如果公司里新旧版本并存,两个变量可以同时留,但值必须指向同一台服务器和同一个端口。
版本选择与成本:正版NX许可证服务器部署要花多少钱
这是采购和 IT 都关心的问题,NX 的正版授权按模块订阅,价格和选配的功能包强相关,据公开的渠道报价口径,单模块年费通常在数万元量级,做完整的设计制造一体化部署,整体投入往往达到数十万元,浮动授权的单价又高于节点锁定。
NX 浮动许可证和节点锁定许可证的区别,直接决定服务器值怎么配:
- 浮动许可证:授权挂在服务器上,客户端通过
28000@主机名动态借还,人多人少按并发算,适合项目制团队。 - 节点锁定许可证:授权绑死某台机器的 MAC 地址,不需要连服务器,值那栏填本地许可证文件路径即可。
从地域看,长三角和珠三角的制造企业更倾向浮动授权加集中服务器部署,因为人员流动大、工位不固定,按并发买更划算;中小型加工厂则常见节点锁定,省掉一台常开的服务器和运维人力。
填错值的典型报错对照
| 现象 | 大概率原因 | 处置 |
|---|---|---|
Cannot connect to license server |
主机名解析失败或端口不通 | 加 hosts、查防火墙 |
License server machine is down |
服务没起或进程残留 | lmtools 重启服务 |
Invalid hostid |
MAC 地址写错或网卡变更 | 核对有线网卡物理地址 |
Feature not found |
许可证文件里没这条授权 | 核对特性行和到期日 |
| 启动 NX 无提示直接退出 | 新旧环境变量冲突 | 只保留一个变量 |
排查顺序建议固定下来:先 lmstat 确认服务端活着,再 ping 主机名 确认解析,telnet 主机名 28000 确认端口通,三步走完,九成问题能定位。
nx许可证服务器值常见问答
问:服务器换了机器,客户端要改哪些值?
答:改两处,服务器端重新生成许可证文件里的 SERVER 行(新主机名加新 MAC 地址),客户端把 SPLM_LICENSE_SERVER 的值换成新主机名,如果新旧机器 IP 不变,也可以在客户端 hosts 里把老主机名指向新 IP,客户端一个值都不用动。
问:值填 IP 和填计算机名有区别吗?
答:功能上等价,稳定性上有差别,填 IP 的好处是不依赖名称解析,缺点是服务器换网段就得全员改值;填主机名的好处是 IP 变了只改 hosts,缺点是解析环节多了一个故障点,内网环境固定 IP 的话,业内专家指出填 IP 更省心。
问:许可证文件里的端口和客户端填的端口必须一样吗?
答:必须是同一个 lmgrd 端口,客户端那串 28000@host 里的数字,找的就是主进程。ugslmd 的 28001 是服务端内部转发用的,客户端不需要填,也填不进去,两边对不上,服务端日志会显示握手失败。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/774545.html


