1.首先查看端口是否占用(80为例)
netstat -lnp|grep 80
[root@iZ2ze9t1mjnpzcj22wic23Z ~]# netstat -lnp|grep 80
tcp6 0 0 :::80 :::* LISTEN 20991/java
出现占用:kill掉
kill 20991
重新运行netstat -lnp|grep 80 查看,发现已经杀死 了
2.打jar包时注意
@SpringBootApplication
public class MyblogApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MyblogApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(MyblogApplication.class, args);
}
}
继承SpringBootServletInitializer类,并重写他的configure方法,然后在pom.xml文件当中给自己打的jar包取一个名字,方便后面配置
#build里面配置
<build>
<finalName>myblog</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
war包和jar包一样 只需加上
<packaging>war</packaging>
3.去tomcat的conf目录下的Server.xml中配置
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!--<Context path="" docBase="xie" reloadable="true" />-->
#加上下面这一句,docBase里面为上面配置的jar或者war名字,去掉后缀
<Context path="" docBase="myblog" reloadable="true" />
</Host>
</Engine>
</Service>
</Server>
4.在linux中运行jar时关闭后停止问题
开启守护进程,让其在后台运行
nohup java -jar myblog.jar &
会报错如下:
[root@iZ2ze9t1mjnpzcj22wic23Z webapps]# nohup: ignoring input and appending output to ‘nohup.out’
原因是没有写入权限,就算用sudo chmod给文件加权限也没用。
解决办法
nohup java -jar myblog.jar > /dev/null 2> /dev/null &
这样他会给你输入到 /dev/null 这个特别的文件下面,它像一个linux黑洞,所有重定向到它的信息都会自动消失。
但是如果你的输入日志很重要的话就不建议重定向到/dev/null中了。
如果是war包,将war放到webapp目录下,重启一下tomcat,tomcat会自动解析war包