nginx+springBoot

使用ngixn反向代理+静态资源分离

上次已经说过方向代理,这次使用动静(文件)分离。如下:

location ^~ /static/ {
	root /usr/local/nginx/;    
}
			
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ {
        root /usr/local/nginx/;
	expires      30d;
}
location ~ ^/(WEB-INF)/ { //设置禁止访问
	 deny all;
}

这里把静态文件例如css、js、jsp等放在root指定根目录下这样nginx就不会代理到服务端而是自己直接加载文件返回Clint。

Springboot

由于SpringBoot内嵌web容器所以linux不需安装tomcat、jetty等直接以执行jar文件就行(springboot部署的时候是jar包只有编译的class文件,传统项目需要发布到tomcat等服务器中国才能运行,所以里面包含各种jsp、依赖、html等所以用war包)  

  1. 打包上传后直接执行jar  (java -jar app.jar)OK可以访问但是关闭当前窗口linux会自动杀死进程
  2. 可以使用(java -jar app.jar &)命令保持连接 但是当shell终端关闭时候也会杀死进程
  3. 然后就需要使用(nohup java -jar app.jar &)挂起后台服务
  4. 为了不用每次输命令我们可以编写一段sh脚本  touch xx.sh(linux新建sh文件)
1:start.sh
     nohup java -jar dp.jar &
2:stop.sh
     #!/bin/bash
     PID=$(ps -ef | grep dp.jar | grep -v grep | awk '{ print $2 }')
     if [ -z "$PID" ]
     then
         echo Application is already stopped
     else
         echo kill $PID
         kill $PID
     fi
3:restart.sh
     #!/bin/bash
     echo stop application
     source stop.sh
     echo start application
     source start.sh

Then 授权
chmod +x start.sh
chmod +x stop.sh
chmod +x restart.sh    


5.Then就可以使用sh脚本执行 stop|start|restart命令了

6.我这里提示创建log输出文件只需在app.jar包所在文件夹创建nohup.out文件即可

发表评论

电子邮件地址不会被公开。 必填项已用*标注