通过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/

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

posted @ 2019-08-27 12:30  iMisty  阅读(4623)  评论(0编辑  收藏  举报