一、配置java运行环境

  1. 下载jdk。例如:jdk-10.0.2_windows-x64_bin.exe
  2. 安装jdk.

直接双击运行jdk exe可执行文件。按步骤安装即可。在安装过程中会生成两个安装路径:

jdk和jre。需要记录下jdk的路径,后面再配置环境变量的时候用到。

3. 配置环境变量

新建JAVA_HOME 变量,值为安装jdk路径。

在系统环境变量的Path中添加JAVA_HOME对应路径下的bin。如下:

 

4.用命令检验是否安装成功。

 

【注】jre和jdk的区别:

JRE(java runtime environement) java运行时环境,用来运行java程序

JDK(java development kit) java开发工具包,包含JRE。因此下载jdk即可。

JDK是Sun Microsystems针对Java开发员的产品,JSP运行环境需要JDK的支持。JDK 是整 个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。

 

 

二、运行jar包

1、使用命令来运行jar 包:

a、cmd切换到jar包所在文件夹

b、执行命令:java -jar xxx.jar

c、在浏览器中输入ip地址(或者localhost)及端口号,即可访问站点

缺点:使用这种方式的明显缺点就是不能关闭命令窗口,关闭则意味着站点关闭。

2、新建windows服务运行jar包

使用winsw(winsw 是一个可以将任何应用程序注册成windows服务的软件。源码:https://github.com/kohsuke/winsw/releases) 第三方程序将jar包制作 成windows服务运行站点。

只做方式如下:

a、在github上西在WinSW.NET4.exe 和sample-minimal.xml文件。

b、将上述下载的文件和jar包放到同一个目录下。

c、将上述下载的.exe和.xml文件重命名为相同的名字。

d、修改.xml文件配置。如下:

<configuration>
<!--安装成Windows服务后的服务名-->
<id>jobAdminServiceID</id>
<!--显示的服务名称-->
<name>jobAdminService</name>
<!--对服务的描述-->
<description>job managerment system</description>
<!--这里写java的路径,如何配置了环境变量直接写"java"就行-->
<executable>java</executable>
<!--运行jar的命令 -jar后面的是项目名;-Dfile.encoding=utf-8:指定文件编码方式为utf8,解决读取配置文中文乱码问题-->
<arguments>-Dfile.encoding=utf-8 -jar xxl-job-admin-2.1.0-SNAPSHOT.jar</arguments>
<!--日志模式-->
<logmode>rotate</logmode>
</configuration>

d、cmd命令切换到jar包所在目录,执行windows服务安装命令:xxx.exe install (卸载服务:xxx.exe uninstall)

比如:

注:在运行中输入 services.msc 命令打开windows服务管理窗口;

可以重启电脑,检查服务是否自动启动。

e、运行服务:net start 服务名称; 停止服务:net stop 服务名称;

 

如果安装不正确,可以在jar包所在目录查看日志:

 

注:可以将如上安装windows 服务的命令编写成批处理命令(说明:可执行的后缀为bat的文件。方法:新建.txt文本文件,写入批处理命令后修改后缀名为bat即可)。每次发布后,一键发布。

批处理命令内容为:

@echo on

net stop jobAdminService

jobAdminService.exe uninstall

jobAdminService.exe install

net start jobAdminService

jobAdminService 是自定义的。【危险】上面批处理命令会使cpu瞬间飙升,慎用。有什么办法优化一下的,还请知道的朋友赐教啊。

 

f、输入ip地址及端口号(如果是80端口可以忽略),访问站点

 

参考文档:https://www.jianshu.com/p/af90db4b54e3

 

 

三、springboot项目绑定域名

在第二步骤已经将springboot web站搭好了。下面我们将使用nginx对web站点进行绑定域名。

1、开通一个可以让外网访问的域名。

2、下载inginx安装包,并成功安装。

双击nginx.exe 启动nginx。如果80端口被占用,需要修改nginx.conf中的 端口号。

在浏览器中输入localhost:8005 ,出现如下页面即为安装成功。

 

3、在nginx.conf 中配置代理。代码如下:

server {
listen 9000;
server_name xxx.com;
location / {
#代理转发的路径
proxy_pass http://4.102.0.146:9500;
#如果springboot站点涉及到跳转,则必须加如下配置。才能保证url一直是配置的域名。否则
#跳转后可能变为ip地址
proxy_set_header Host $http_host;
}

 

4、如果springboot web站点是需要经过sso授权,且使用的是cookie保存登陆凭证,则必须修改源码:在将登陆凭证存入ip地址及端口域中,也要存入xxx.com (我的实现方式是将xxx.com配置到properties文件中,这样可以灵活部署)

 

set(domain=null);//写入的cookie域名就是ip地址
set(domain=xxx.com)//指定域名

 

源码:

 

/**
* 保存
*
* @param response
* @param key
* @param value
* @param maxAge
*/
private static void set(HttpServletResponse response, String key, String value, String domain, String path, int maxAge, boolean isHttpOnly) {
Cookie cookie = new Cookie(key, value);
if (domain != null) {
cookie.setDomain(domain);
}
cookie.setPath(path);
cookie.setMaxAge(maxAge);
cookie.setHttpOnly(isHttpOnly);
response.addCookie(cookie);
}

注:此处Cookie类是 javax.servlet.http 包下的。