zoukankan      html  css  js  c++  java
  • 系统服务部署入门

    系统服务部署入门

    说到服务部署,想必绝大多数程序员都做过linux和windows上的部署。博主在这里简单介绍一下java应用的部署,至于tomcat服务器,docker容器,docker+jenkins下的部署,博主有时间再进行讲解。

    linux部署

    远程连接工具

    博主使用的远程连接工具时xshell 和 xtfp,xftp用于平时的文件上传和下载。需要的小伙伴可以扫描微信公众号二维码,然后发送xshell进行文件的下载。xshell界面如下图所示:
    xshell界面

    应用环境

    博主这里的应用环境是centos8。

    部署环境

    后台方式运行

    在测试环境下,对于springboot应用,博主一般喜欢使用nohup的命令运行jar包。

    #忽略输入,以后台的方式运行jar,并把标准输出重定向到nohup.out文化
    nohup java -jar userweb.jar &
    

    这里需要注意的是使用xshell工具时,不能直接关闭连接,需要使用exit的方式。不然使用nohup方式运行的程序会被终止,而需要使用exit命令退出程序。

    exit退出

    系统服务

    将程序做成系统服务的好处是 如果当电脑重启时,电脑会自动启动这些服务。这里我们以nginx的系统脚本为例。

    [Unit]
    #服务的简单描述
    Description=The nginx HTTP and reverse proxy server
    #启动以来,需要一下服务启动之后再启动nginx
    After=network.target remote-fs.target nss-lookup.target
    [Service]
    #启动类型为守护进程的方式
    Type=forking
    #pid文件路径
    PIDFile=/run/nginx.pid
    # Nginx will fail to start if /run/nginx.pid already exists but has the wrong
    # SELinux context. This might happen when running `nginx -t` from the cmdline.
    # https://bugzilla.redhat.com/show_bug.cgi?id=1268621
    #启动服务前执行的命令
    ExecStartPre=/usr/bin/rm -f /run/nginx.pid
    ExecStartPre=/usr/sbin/nginx -t
    #启动命令
    ExecStart=/usr/sbin/nginx
    #重载加载nginx配置
    ExecReload=/bin/kill -s HUP $MAINPID
    KillSignal=SIGQUIT
    TimeoutStopSec=5
    KillMode=mixed
    #分配独立的空间
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    

    windows部署

    在windows上运行jar包时,可以不用后台程序的方式运行,只是运行jar包的窗口不能被关闭。

    系统服务

    博主在windows上将jar包部署成系统服务使用的是nssm工具。nssm这个工具十分简单,通过简单的几个步骤就可以将我们的jar包部署系统服务。需要工具的小伙伴可以发送nssm获取文件的下载地址。

    安装服务

    #直接指定可执行文件与参数
    nssm install service-name java -jar user.jar
    
    #以界面方式选择可执行文件,并配置参数
    nssm install service-name
    

    启动服务

    nssm start service-name
    

    停止服务

    nssm stop service-name
    

    卸载服务

    nssm remove service-name
    

    博主微信公众号

  • 相关阅读:
    codeforces 669C C. Little Artem and Matrix(水题)
    codeforces 669B B. Little Artem and Grasshopper(水题)
    oracle drop table recyclebin恢复
    odu恢复drop表--不通过logmnr挖掘object_id
    odu恢复drop表--通过logmnr挖掘object_id
    odu恢复delete 表
    GO学习-(7) Go语言基础之流程控制
    GO学习-(6) Go语言基础之运算符
    GO学习-(4) Go语言基础之变量和常量
    GO学习-(3) VS Code配置Go语言开发环境
  • 原文地址:https://www.cnblogs.com/chenhaoblog/p/13442460.html
Copyright © 2011-2022 走看看