zoukankan      html  css  js  c++  java
  • 通过idea生成可运行jar包并且部署到服务器

    通过idea生成jar包

    点击 File -> Project Structure 再如下图所示操作
    img
    选择主类(也就是Main函数所在的类),选择一个manifest.mf文件目录
    img
    创建一个jar包的实例,引入/排除相关的依赖和jar
    img
    编译一下,然后去输出目录找到所需要的jar包
    img

    执行 java -jar XXX.jar [param1] [param2] 执行jar包 (没有参数可以省略)

    部署到服务器

    普通网络应用部署

    • 安装Java环境 yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel

    • 将部署的包推送到服务器 ,推送到用户目录scp ROOT.war root@imisty.cn:~

    • 打开防火墙 ,开放指定的端口

    • 打开阿里云实例安全组,设置端口的访问规则;

    域名解析

    • 在域名控制台点击解析,然后配置好解析设置
      img

    • 复制分配的DNS服务器地址

    • 配置DNS服务器地址
      img

    • 最后一步也是非常关键的一步 ,在解析控制台,勾选配置好的添加记录,然后点击启用即可

    • 终端输入命令啊 dig www.imisty.cn,查看域名和端口的对应关系,验证解析的结果

    linux前台运行和后台运行

    • java -jar xxxx.jar执行,会占用当前的终端, 当我们退出putty或终端的时候,xxxx.jar这个程序也会停止。

    • 为了保证程序能够一直运行,应该改为这样运行:nohup java -jar xxx.jar& 命令,则程序会在后台一直运行,

    • 值得注意的是,此时程序控制台输出会被转移到nohup.out文件中,这个nohup.out文件的位置就在jar包的当前文件夹内。

    执行命令说明

    • & 命令 : 加在一个命令的最后,可以把这个命令放在后台执行
    • nohup 不挂断运行命令
      • nohup ./imisty.sh &
      • nohup ./test &

    查看当前后台运行的命令

    • jobs 查看当前终端后台执行的任务,换了终端就看不到了,而ps命令用于查看瞬间进程的状态,可以看到别的终端运行的后台进程;

    • 关闭当前后台运行的命令,kill命令,结束进程,如果后台有多个命令

      1. 通过jobs命令查看jobnum,然后执行 kill %jobnum

      2. 通过ps命令查看进程号PID,然后执行 kill %PID

      3. 如果是前台进程的话,直接执行 Ctrl+c 就可以终止了

    • 前后台进程的切换和控制

      • fg命令 将后台中的命令调至前台继续运行,如果后台有多个命令,可以先用jobs查看 jobnum ,然后用 fg %jobnum将选中的命令调出;
      • Ctrl + Z 将一个前台正在执行的命令放到后台,并且处于暂停状态;
      • bg 将一个在后台暂停的命令,变成在后台继续执行,如果后台中有多个命令,可以先用jobs查看jobnum,然后用 bg %jobnum 将选中的命令调出继续执行。

    扩展Centos7 防火墙相关的命令

    • 查看端口占用情况 netstat -lnp |grep 8002 , netstat -tunlp |grep 端口号

    1.启动防火墙
    systemctl start firewalld

    2.禁用防火墙
    systemctl stop firewalld

    3.设置开机启动
    systemctl enable firewalld

    4.停止并禁用开机启动
    sytemctl disable firewalld

    5.重启防火墙
    firewall-cmd --reload

    6.查看状态
    systemctl status firewalld或者 firewall-cmd --state

    7.查看版本
    firewall-cmd --version

    8.查看帮助
    firewall-cmd --help

    9.查看区域信息
    firewall-cmd --get-active-zones

    10.查看指定接口所属区域信息
    firewall-cmd --get-zone-of-interface=eth0

    11.拒绝所有包
    firewall-cmd --panic-on

    12.取消拒绝状态
    firewall-cmd --panic-off

    13.查看是否拒绝
    firewall-cmd --query-panic

    14.将接口添加到区域(默认接口都在public)
    firewall-cmd --zone=public --add-interface=eth0(永久生效再加上 --permanent 然后reload防火墙)

    15.设置默认接口区域
    firewall-cmd --set-default-zone=public(立即生效,无需重启)

    16.更新防火墙规则
    firewall-cmd --reload或firewall-cmd --complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态 添加规则,第二个需要断开连接,类似重启服务)

    17.查看指定区域所有打开的端口
    firewall-cmd --zone=public --list-ports

    18.在指定区域打开端口(记得重启防火墙)
    firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)

    小确幸

    每一丝灵感都值得被记录,每一笔记录都是成长,每一点成长都值得欢呼

    博主个人站: www.imisty.cn
    CSDN博客: https://blog.csdn.net/lookinthefog
    博客园 :https://imist.cnblogs.com/

    希望能够认识一些热爱技术的小伙伴,欢迎友链接哟

  • 相关阅读:
    *** 82 删除排序链表中的重复元素II
    83 删除排序链表中的重复元素
    61 旋转链表
    ASP.NET MVC3 ModelState.IsValid为false的问题
    ServletContext
    ServletConfig
    Servlet线程安全
    Servlet的一些细节(2)
    Servlet的一些细节(1)
    Servlet的接口实现类
  • 原文地址:https://www.cnblogs.com/imist/p/11417646.html
Copyright © 2011-2022 走看看