Linux部署项目 shell脚本启动 及 Centos7开放指定端口
我们首先要在linux上安装好jdk tomcat mysql 这些基本环境,这些可以在楼主的 Linux入门 里面找到。
linux部署spring项目
1. 右击项目,maven clean清理项目,maven install 将项目打成war包。

2. 查看控制台信息,找到war包生成的目录,上传到tomcat的webapps里面去。

3. 在bin目录 ./startup.sh 启动tomcat会自动解压这个包,并在tomcat/work/Catalina/localhost目录里面生成工程信息。

4. 我们刚把war包改名了,可以通过 ip:port/WEB/url 访问,不然默认是通过 ip:port/WEB-0.0.1-SNAPSHOT/url 访问。
如果是上传到ROOT目录, 访问的时候就不需要带包名称,直接 ip:port/url 就能访问了。

5. ps aux | grep tomcat 查看进程号, kill -9 pid 停止进程。

linux部署springBoot项目
打成 jar 包:springboot内置了一个tomcat,我们打成jar包之后,直接执行 nohup java -jar 包名称 & 就可以启动了。
打成war包:当我们没有采用前后端分离,页面和后台都在一个工程里面的时候就需要将项目打成war包来运行。
注意 :
1. 将项目打包方式改成war包
2. springboot默认启动内置tomcat,所以我们需要修改tomcat生命周期的作用域
3. 主函数继承SpringBootServletInitializer, 重写configure方法
4. 我用的tomcat8, 用tomcat7会报错,需要添加一个依赖,自行百度。
5. 项目放在tomcat/webapps目录下
6. 项目的war包名称必须与项目的url前缀名称一致,否则访问不到

shell脚本启动
#!/bin/sh
#指定项目路径
export project_path=/usr/local/wulei/demo
#指定jar包名称
export JAR_NAME=app.jar
#指定java环境变量
export JAVA_HOME=/usr/local/wulei/jdk8
#清空之前的启动日志
echo "" > $project_path/nohup.out
echo -e "\033[47;34;5m ======= 开始启动项目..... ======= \033[0m"
#启动脚本
nohup $JAVA_HOME/bin/java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/log/app.dump -Xms20m -Xmx20m -jar $project_path/$JAR_NAME 2>&1 &
#打印启动日志
tail -f $project_path/nohup.out
Linux开放指定端口
以centos7开放8080端口为例:
添加端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
刷新规则
firewall-cmd --reload
查看指定端口
firewall-cmd --zone=public --query-port=8080/tcp
删除指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
查看已开放得所有端口
firewall-cmd --list-ports
Linux部署项目 shell脚本启动 及 Centos7开放指定端口的更多相关文章
- centos7 开放指定端口
centos7 开放指定端口 #开放8080端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent #重载防火墙 firewall- ...
- 如何在java程序中调用linux命令或者shell脚本
转自:http://blog.sina.com.cn/s/blog_6433391301019bpn.html 在java程序中如何调用linux的命令?如何调用shell脚本呢? 这里不得不提到ja ...
- Linux生产服务器Shell脚本分享
Linux生产服务器Shell脚本分享 2012-6-6 86市场网 linux 作为一名Linux/unix系统管理员,我经常遇到人问这个问题:shell能做什么?PHP这么强大,为什么不用PHP来 ...
- Linux下添加shell脚本使得nginx日志每天定时切割压缩
Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常 ...
- linux下实现shell脚本自动连接mongodb数据库并创建索引
在linux下创建shell脚本
- 2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出
有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccc ...
- Java执行cmd命令、bat脚本、linux命令,shell脚本等
1.Windows下执行cmd命令 如复制 D:\tmp\my.txt 到D:\tmp\my_by_only_cmd.txt 现文件如图示: 执行代码: private static void run ...
- CentOS 6、CentOS7 防火墙开放指定端口
当我们在CentOS服务器中装了一些开发环境(如 tomcat.mysql.nginx 等...)时,希望能从外界访问,就需要配置防火墙对指定端口开放. CentOS 6.51.开放指定端口/sbin ...
- Linux开放指定端口命令(CentOS)
1.开启防火墙 systemctl start firewalld 2.开放指定端口 ##linux打开防火墙3389端口 firewall-cmd --zone=public --add-port= ...
随机推荐
- html area标签 语法
html area标签 语法 作用:带有可点击区域的图像映射 说明:<img> 中的 usemap 属性可引用 <map> 中的 id 或 name 属性(由浏览器决定),所以 ...
- cmake尝试检测GCC版本报错
本人尝试编译指定commit版本的MRPT库,报错如下, CMake Error at cmakemodules/script_detect_gcc.cmake: (LIST): list GET g ...
- 【Leetcode】国王挖金矿
参考该文章 https://www.cnblogs.com/henuliulei/p/10041737.html #include <iostream> #include <cstr ...
- sqli-labs(27a)
0X01测试闭合 ?id=" 报错 ?id="" 正常 0X02构造语句爆数据库名称 ?id= 和27关一样 只是 ’ 变成了 ” 其他语法就是打组合拳 0X03组合拳 ...
- layui select动态添加option
<form class="layui-form" action=""> <div class="layui-form-item pr ...
- 冲刺周三The Third Day
一.ThirdDay照片 二.项目分工 三.今日份燃尽图 四.项目进展 码云团队协同环境构建完毕 利用Leangoo制作任务分工及生成燃尽图 完成AES加解密部分代码 用代码实现对文件的新建.移动.复 ...
- Mysql锁表问题解决过程
开发中难免会遇到数据库操作锁表问题,这里说下解决过程,算是记录了. show OPEN TABLES where In_use > 0; 查看哪些表被锁了 show processlist 查看 ...
- Oracle JET Model 数据获取与使用
Oracle JET 应用程序数据可以来自生成 JSON 数据的任何 Web 数据源,例如 REST 服务,服务器发送事件(SSE)或 WebSocket .此外,Oracle JET 还提供了基于 ...
- docker常用软件安装及使用
linux安装docker: sudo wget -qO- https://get.docker.com | sh 启动docker: service docker start 搜索镜像: docke ...
- cmd 中文显示错误,解决办法
cmd窗口左上角控制按钮(就是图标)上单击-默认-选项-默认编码-936 追问 默认值是936的,但是属性里的当前代码页是437呀,怎么办 囧oz 追答 默认-选项-默认编码-936 不是属性,是 ...