五分钟搭建Jetbrains家族IDE授权服务器
作为Java码农,IntelliJ IDEA可谓是N0.1的开发环境了,对框架的支持,界面,插件都是比较方便的,大大加快了开发的速度以及开发的乐趣,酷炫的界面也能大大的装一个逼
虽然这里教大家搭建授权服务器,但是月入1狗的同志还是支持一下人家嘛,毕竟都是码农。Idea购买地址:https://www.jetbrains.com/idea/buy/
对于暂时经济不宽裕的同学,你可能需要一款支持Jetbrains家族IDE授权服务器。比较明智的选择是Google一台即可,有能力的同学不妨尝试自行架设,这也就是本文的目的啦。
喝水不忘挖井人,在此向服务器软件的作者Lanyu表示衷心的感谢。
服务器下载地址:点击我(V1.3)
V1.4:
下载地址:
https://mega.nz/#!Hs4CEbRR!FteOJmJ0AfuLvTUFs3dn9xH6eESm3io2BZ5neIXTQds
解压密码:3415E428
磁力链接:magnet:?xt=urn:btih:ED1FA379ECBD34D13CB7D14B0C2B024986A6FC79&dn=IntelliJIDEALicenseServer(v1.4).tar
种子:http://ww1.sinaimg.cn/large/871e88b0gy1ffwqq566kxj205k05kq2y.jpg(保存到本地, 以zip格式打开)
V1.6
下载地址:
https://mega.nz/#!f4A2WQRB!fMNbcuSt0YxrjXclW81_GZol-g6dURrO1htqXPMYa8Q
链接:https://pan.baidu.com/s/1dFS9DaL密码: xxc2
下载后有很多版本,如果你电脑是windows,对应的使用windows后缀的,Mac OS使用darwin后缀,
os x 10.12上需要把upx加的壳脱掉,用高点的端口
brew install upx
upx –d IntelliJIDEALicenseServer_darwin_amd64
Ubuntu/centos等没有对应后缀的用linux,要注意区别32/64位,amd64是64位,386是32位。
windows下就不介绍了,点击就可以用,如果需要自定义参数,请根据采用命令行带参数运行,,参数如下:
-l 指定绑定监听到哪个IP(私人用)
-u 用户名参数,当未设置-u参数,且计算机用户名为^[a-zA-Z0-9]+$时,使用计算机用户名作为idea用户名
-p 参数,用于指定监听的端口
-prolongationPeriod 指定过期时间参数
PS:若在程序工作目录中存在IntelliJIDEALicenseServer.html文件,则返回IntelliJIDEALicenseServer.html中的内容到用户浏览器。
接下来,介绍如何部署到Linux服务器上,首先将IntelliJIDEALicenseServer_linux_amd64上传到任意目录,我这里是root目录,先将名字改了,太长
mv IntelliJIDEALicenseServer_linux_amd64 IdeaServer
接下来 需要把它运行起来,先加一个可执行权限
chmod +x IdeaServer
开始运行
/root/IdeaServer –p 1024 –prolongationPeriod 999999999999
默认运行会出现以下信息,则为成功。如果要后台运行,请使用nohup命令
我们可以通过nohup的方式实现后台运行
cd /root/
nohup ./IdeaServer –p 1024 –prolongationPeriod 999999999999 >> idea.out 2>&1 &
也可以通过supervisor实现守护进程,自启动。命令如下
vi /etc/supervisord.conf
#添加以下内容
[program:idea–server]
command = /IdeaServer –p 1027 –u Google.Inc –prolongationPeriod 999999999 –l 127.0.0.1
autostart=true
autorestart=true
startsecs=3
[supervisord]
接下来,将自己的域名采用nginx反向代理过来,nginx如以下配置
server
{
listen 80;
server_name idea.google.com;
root /home/wwwroot/;
location / {
proxy_pass http://127.0.0.1:1017;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X–Real–IP $remote_addr;
proxy_set_header X–Forwarded–For $proxy_add_x_forwarded_for;
}
access_log off; #access_log end
error_log /dev/null; #error_log end
}
这样就大功告成了!