5分钟搭建一个license服务器

作为一个码农对那些优良的开发工具爱不释手,它们对框架的支撑、界面、插件都是那末的优良,大大加快了开发的速度和开发的乐趣,酷炫的界面也能大大的装一个逼。写到这里大家应该能猜到我说的是啥了,没错,就是JetBrains出品的全系列IDE开发工具,比如IntelliJ IDEA、PyCharm等等。

对暂时经济不宽裕的同窗,比较明智的选择是Google一台active服务器便可,有才能的同窗无妨尝试自行架设,这也就是本篇文章的目标啦。

喝水不忘挖井人,在此向服务器软件的著作Lanyu表现衷心的感激。

点击→ Lanyu的博客

服务器

在上面的博客页面有下载地址,支撑很多的操作体系平台,这里我选的是linux64位的。更新这篇文章的时候最新版是v1.6版。

接下来,介绍如何安排到Linux服务器上,首先将xxxServer_linux_amd64上传到任意目录,我这里是 /root/work/ 目录,先将名字改了,太长了

1
mv xxxServer_linux_amd64 xnServer

接下来 须要把它运行起来,先加一个可履行权限

1
chmod +x xnServer

运行

1
/root/work/xnServer -p 1027 -u yidao -prolongationPeriod 999999999 -l 127.0.0.1

默许运行会出现以下信息,则为胜利(省略)。如果要后台运行,请应用nohup命令。

启动参数解释:

  1. -l 指定绑定监听到哪一个IP
  2. -u 用户名参数,当未设置-u参数,且盘算机用户名为^[a-zA-Z0-9]+$时,应用盘算机用户名作为idea用户名
  3. -p 参数,用于指定监听的端口
  4. -prolongationPeriod 指定过期时光参数

守护过程

如果你应用的是CentOS7,直接用systemd方法。

新建一个服务配置/etc/systemd/system/xnserver.service,内容以下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=XnServer
After=syslog.target network.target

[Service]
Type=simple

ExecStart=/root/work/xnServer -u yidao -prolongationPeriod 999999999 -l 127.0.0.1 &
ExecStop=/bin/kill -HUP $MAINPID

User=root
Group=root

[Install]
WantedBy=multi-user.target

保存以后,履行systemctl enable xnserver.service,开机便可启动。

然后也能够手动启动:systemctl start xnserver

nginx配置

接下来,将自己的域名采取nginx反向代理过来。

首先去域名解析那儿添加一个子域名active.xncoding.com,然后修改/etc/nginx/nginx.conf配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
listen 80;
server_name active.xncoding.com;
root /var/www/html/;

location / {
proxy_pass http://127.0.0.1:1027;
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
}

重启nginx service nginx restart

然后激活服务器地址就填http://active.xncoding.com便可。

如果嫌nginx麻烦,也不须要配置,直接用ip地址加端口号也是一样:http://xx.xx.xx.xx:1027/

IDE设置

点击 Help -> Register.. -> 选中Licence Server,然后填入上面的激活地址便可。