News:近期会再次更新文章

自己搭建IntelliJ IDEA授权服务器

忧郁之子 3805 0 条

本文转载自:欧阳 | 博客 https://blog.ouyanglol.com/
自己搭建IntelliJ IDEA授权服务器7.png
感谢
首先说明,服务器文件不是我写的,我也是从lanyu大神那里搬过来的。我这里只是详细介绍一下如何使用。
lanyu大神博客:http://blog.lanyus.com/archives/174.html

下载服务器文件

IntelliJIDEALicenseServer文件下载:
https://pan.baidu.com/s/1w3n-KLDqYEWCYJMMf6C-0g
密码:zmya
下载地址:https://github.com/a252937166/new-idea-server.git

本地授权
找到对应系统的文件,以1017端口运行。
比如如果你是windows系统,打开cmd.exe,进入服务器文件目录,运行
IntelliJIDEALicenseServer_windows_amd64.exe -p 1017
在最新版本的jetbrains系列产品中,直接使用http://127.0.0.1:xxxx是不行的,127.0.0.1已经被jetbrains封杀了,另外激活地址中现在也不能暴露端口,不然也无法成功激活,所以我们要把它映射为其他地址。
自己搭建IntelliJ IDEA授权服务器1.png
运行natapp.exe。
自己搭建IntelliJ IDEA授权服务器2.png
图中红色框中地址就是你1017端口对应的外网地址,这个地址不会被封。
在授权窗口填入对应地址。
自己搭建IntelliJ IDEA授权服务器3.png
点击Activte,激活成功。

natapp我这里就只提供了windows的客户端,因为我觉得玩linux,肯定都会nginx,随便转发到一个域名就行了,也用不到这个工具了。我的natapp是默认映射的1017,在其他平台一定要用这个工具,或者windows下想要以其他端口启动的同学,建议大家去natapp官网注册一个账号,申请一个免费渠道,然后得到authtoken,替换一下config.ini里的内容就行了,很简单,这里就不详细说明了。

建议大家最好还是自己申请一个authtoken吧,因为有时我可能会因为项目,用这个工具映射其他端口。
关于没有网络的解决办法:以80端口启动,然后修改系统的hosts文件,映射一个域名对应127.0.0.1就行了。比如windows下,进入C:\Windows\System32\drivers\etc,修改hosts,添加一句127.0.0.1 mymymy.com,保存,然后在激活页面,填入http://mymymy.com就行了。
远程服务器授权
本地启动最麻烦的就是每次开机都要先启动服务器,才能打开IDEA,如果自己有服务器的同学,我建议可以把IDEA授权服务挂在到服务器上,这样只要你的远程服务器不挂掉,就可以永久授权了。
关于windows我就不多讲了,我这里讲一下linux系统如何配置。

关于内存消耗

几乎不消耗内存的,我服务器2G内存,我查了一下,显示只占用0.2%。
自己搭建IntelliJ IDEA授权服务器4.png
启动和停止脚本

启动脚本

start.sh:

#!/bin/sh
rm -f tpid
nohup ../IntelliJIDEALicenseServer_linux_amd64 > info.log 2>&1 &
echo $! > tpid

这里 ../IntelliJIDEALicenseServer_linux_amd64我使用的是相对路径,这取决于start.sh相对于执行文件的路径,因为我把start.sh放在bin目录里面,bin和IntelliJIDEALicenseServer_linux_amd64同级。如果想把bin放到其他位置,那么只需要把../IntelliJIDEALicenseServer_linux_amd64改为IntelliJIDEALicenseServer_linux_amd64的绝对路径就行了,nohup是后台运行的意思,千万不能去掉,不然只要你关闭shell工具,服务也就自然停止了。

停止脚本
stop.sh:

#!/bin/sh
tpid=`cat tpid | awk '{print $1}'`
if [ ${tpid} ]; then
 tpid=`ps -aef | grep $tpid | awk '{print $2}' |grep $tpid`
 if [ ${tpid} ]; then
  kill -9 $tpid
 fi
fi
> tpid

测试使用

启动
进入start.sh所在目录,一般从远程拷到服务器上的文件是没有执行权限的,所以我们先给文件添加执行权限。

chmod +x start.sh

顺便把stop.sh的权限也加了。

chmod +x stop.sh

然后启动脚本:

./start.sh

同级目录下会生成info.log文件,里面有启动信息。
查看info.log,看下端口是多少
自己搭建IntelliJ IDEA授权服务器5.png
很明显,也是1017端口。
我们只需在license server address填入服务器地址和端口就行了。
如果有域名的话,可以通过nginx把域名+/idea映射到1017端口下,我就是这样做的(具体操作这里就不多说了,搜一下nginx的nginx.conf就行了)。

最新版已经不支持激活地址中带有端口号了,一定要用nginx的80端口做一下映射。
自己搭建IntelliJ IDEA授权服务器6.png
停止

./stop.sh

这没什么好说的。

自定义参数
我们可以在IntelliJIDEALicenseServer_linux_amd64后面接一些参数搭建只属于自己的服务器。

-l 指定绑定监听到哪个IP(私人用)
-u 用户名参数,当未设置-u参数,且计算机用户名为^[a-zA-Z0-9]+$时,使用计算机用户名作为idea用户名
-p 参数,用于指定监听的端口
-prolongationPeriod 指定过期时间参数,一般不设置

举个例子:

IntelliJIDEALicenseServer_linux_amd64 -p 1000 -u ooo

这样你的激活端口就变成了1000,而且注册信息会显示Your copy licensed to ooo,这里-u后面不支持中文,我测过了。

服务器主页
我们可以在启动文件(比如linux就是IntelliJIDEALicenseServer_linux_amd64,windows就是IntelliJIDEALicenseServer_windows_amd64.exe)的同级目录新建一个IntelliJIDEALicenseServer.html文件,那么在浏览器访问服务器地址的时候,就会访问到IntelliJIDEALicenseServer.html的内容,如果没有IntelliJIDEALicenseServer.html,回访not found字符串。
如果使用脚本文件启动,比如start.sh,请把IntelliJIDEALicenseServer.html放在脚本文件的同级目录。
目前可用的授权服务器地址(由于某些原因就不直接发出来了,看图片吧)
自己搭建IntelliJ IDEA授权服务器7.png

发表我的评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
欢迎光临轩宇网工作室