windows系统部署springboot项目及绑定域名

我的原文为:http://note.youdao.com/noteshare?id=c3ccea255affd2c5d79231d67fa29103&sub=187AEEEA5CF34531A2C23156088EDEF9

一、配置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基础的类库。

 

参考文章:https://www.cnblogs.com/myhome123/articles/7244470.html

 

二、运行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 包下的。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值