这次上面又给发布了个任务 ,搞一个中间件管理的后台,开放两个接口
一个是用于认证,一个用于流量上传,
由于只有3天时间,时间太过紧迫,于是前后端设计都自己来做
前端页面找了个bootstrap的页面来搞
我在这里找了个demo开始用
http://sudasuta.com/bootstrap-admin-templates.html
然后用了热部署
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
在pom.xml里加上这个开发工具
我的开发工具是IDEA 2017
在setting 里面搜索complier 把自动编译勾上
然后按Shift+Ctrl+Alt+/,选择Registry
把complier.automake.allow.when.app.runing 勾上
重启一下IDEA和项目就可以自动编译了.
ctrl+s 保存按下后,idea处理会重启springboot 速度挺快的 一般都是1s,2s的样子,
但是经常 会有起不来的情况,那么就要手动按重启按钮了
或者mvn spring-boot :run
在开发过程中有遇到如何生成随机32位字符串的问题.
/**
* 生成32位编码
* @return string
*/
public static String getUUID(){
String uuid = UUID.randomUUID().toString().trim().replaceAll("-", "");
return uuid;
}
用UUID工具包就好了.
然后在数据库设计中某个字段要是唯一一个的
ALTER TABLE `t_user` ADD unique(`username`);
t_user 是表名, username是要唯一得到字段,就好了
然后spring boot 启动经常占用端口
我们可以把端口改了 application.properties 文件里写 server.port=9000
然后将spring boot 项目打包
<groupId>springboot</groupId>
<artifactId>springboot-mybatis</artifactId>
<version>1.0.1-SNAPSHOT</version>
<name>MiddleWareManage</name>
<packaging>jar</packaging>
在pom.xml文件里packaging 可以改WAR 或着JAR
<build>
<plugins>
<!--下面是将应用打包发布需要增加的插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后这里要设置一下打包
然后终端输入命令
mvn package
它会在
Building jar: E:\middlewareManage\target\springboot-mybatis-1.0.1-SNAPSHOT.jar
然后这就是你打好的包
然后上传到服务器上面
我用的secureCRT 上传用的是rz命令,它会自动跳一个选择文件窗口,你选择上传就好了
上传好了之后开始运行,
我一开始才用的是
java -jar spring-boot-1.0-SNAPSHOT.jar
这种方式, 发现可以运行的, 但是当我关掉终端的时候这个程序就停止了.
可恨, 然后当然是搜索如何让程序在后台运行,要一直运行的那种,不受到程序就不关的那种
结果发现.用nohup ,或者& 的方法就可以
java -jar spring-boot-1.0-SNAPSHOT.jar > runLog.file 2>&1 &
更新,发现用这个命令关闭终端还是会关掉进程所以
nohup java -jar springboot-mybatis-1.0.1-SNAPSHOT.jar > runLog.file
2>&1 &
用nohup命令就好
spring-boot-1.0-SNAPSHOT.jar是你的 包名
然后这个runLog.file 是你运行时记录的日志
tail -f 100 runLog.file
查看实时滚动的数据
vi runLog.file
vim 编辑器就不多说了
:$ 跳到最后
:wq 保存退出
:q! 强制退出
ctrl+F 往前一页
ctrl+B 往后一页
INS//insert 启用编辑
不是编辑模式下双击D键 删除该行
我想关掉后台运行的 Spring Boot 的服务 我该怎么做呢:
ps aux | grep spring | xargs kill -9
ps aux 是找出现在所有运行的进程
grep spring 是找出这些进程中名字是带有spring 字样的
xargs 将这个前面找到的名字传给后面这个kill -9这个命令
kill -9 就是强制删除进程了.
好了今天就说这么多吧, 刚得到消息..这个管理器不是那么简单的,会有很多中间件来请求我,我听到这个想法的第一个反应是DDOS攻击?? 我总算开始要用多线程来解决问题了.
希望别出错..