前后端分离的Web在windows下部署

朋友有个应用是前后端分离的应用,后端为springboot开发的,前端为vue开发的;spring boot开发的直接是个可运行的jar,前端的vue开发的是在nginx下开发的,其中应用还依赖于mysql,redis,这些应用全部要在windows下部署,问我会不会部署,就研究下,有了这篇文章。
在windows下如何封装运行的那,网上没有个综合的例子,参考网上的例子,来写下这种前后端分离的程序在windows下如何配置服务和自动运行。

一 redis在windows作为服务部署

reids 的做windows的服务器比较简单,就从简单的开始吧,redis是3.0.501版本,运行如下:
配置好redis.windows.conf ,一定要记得配置密码,无密码可能会受到攻击。一般我们需要配置自动启动,可以在windows下服务配置。
后运行:

 ./redis-server.exe --service-install redis.windows.conf

默认是没有启动的,可以用:

#启动服务
redis-server --service-start

停止服务:

redis-server --service-stop

卸载服务

redis-server --service-uninstall

二. Nginx作为windows服务运行

Nginx 要作为windows服务运行的时候,需要winSW这个开源工具,可以到:
winSW下载。

2.1 windows下常用nginx命令

#在nginx.exe 目录,下面命令会弹窗一闪而过,正常
#注意路径下不能用中文
start nginx
#检测
tasklist /fi "imagename eq nginx.exe"
#优雅停止
nginx -s quit
#停止
nginx.exe -s stop
#重新加载配置
nginx.exe -s reload 

windows下常用命令:

#windows下查看开启端口
netstat -ano
#查找pid对应进程
tasklist | find "6128"
#查看服务名称
tasklist /svc |find "6128"
#通过服务名称查看显示名称,显示名称在服务里面查找
wmic service where name = "dosvc" get displayname

2.2 利用winsw来安装windows服务

这个前提条件要安装.NET框架,下载地址:https://www.microsoft.com/en-gb/download/details.aspx?id=49981

winsw: https://github.com/kohsuke/winsw/releases
选择:WinSW.NET4.exe或WinSW.NET2.exe

  • 将WinSW.NET4.exe改名为nginx-service.exe
  • 新建:nginx-service.xml 配置文件,如下:

  nginx
  Nginx Service
  High Performance Nginx Service
  G:\LMS\lmswindows\nginx-1.17.7\nginx-1.17.7\logs
  
    10240
    8
  
  G:\LMS\lmswindows\nginx-1.17.7\nginx-1.17.7\nginx.exe
  -p G:\LMS\lmswindows\nginx-1.17.7\nginx-1.17.7
  G:\LMS\lmswindows\nginx-1.17.7\nginx-1.17.7\nginx.exe
  -p G:\LMS\lmswindows\nginx-1.17.7\nginx-1.17.7 -s stop
     
     Automatic

  • 安装服务,记得是要管理员身份运行cmd。
#安装
nginx-service.exe install
#启动
nginx-service.exe start
#状态
nginx-service.exe status
#停止
nginx-service.exe  stop
  • 网站内容复制到当前nginx目录下面的html中即可。
    通过nginx配置自动启动,就解决了前端启动的问题。

三. SpringBoot的Jar 配置成服务

Spring Boot 的Jar,我们作为调试或运行的时候,可以通过Java - jar xxx.jar的方式运行,会显示命令行,关闭后不能运行,那么如何配置成服务那。

3.1 采用winsw安装服务

  • 将WinSW.NET4.exe改名成你要安装的服务名字比如lms.exe
  • 将jar的名字也改名成lms.jar
  • 新建一个lms.xml的配置文件,配置如下:
 
     lms
     lms
     LMS service.
     
     
     java
     -jar "G:\LMS\lmswindows\lms\lms.jar"
     
     Automatic
     
     %BASE%\log
     rotate
 
  • 安装服务
#安装服务
lms install
#运行服务
lms start
#停止服务
lms stop
#卸载服务
lms uninstall
#状态查看
lms status

亲测,成功运行,不过这个有个遗憾就是必须要有NET框架,在windows10 下我用WinSW.NET4.exe
通过配置spring boot的jar的启动就解决了后台的自动启动问题。

你可能感兴趣的:(前后端分离的Web在windows下部署)