后端JAVA项目上云笔记

**

后端JAVA项目上云笔记

**

    入学前为老师打工,从一个对后端毫不了解的小白,到一个仍然毫不了解却能写代码的小白。

后端编写参考资料
** B站视频:https://www.bilibili.com/video/BV1sJ411579s?share_source=copy_web
后端上云参考资料
** 创建新的用户

1. https://blog.csdn.net/u014264373/article/details/88560207
2. https://www.cnblogs.com/irisrain/p/4324593.html

** 环境配置**
1. 安装java8:云服务器安装jdk1.8详细步骤_猫街上的钻石女王的博客-CSDN博客_云服务器安装jdk
2. 安装mysql,远程连接数据库:腾讯云服务器安装mysql_喑的博客-CSDN博客_腾讯云服务器安装mysql
云服务器安装MySQL详细指南__William_Cheung的博客-CSDN博客_云服务器安装mysql

** 代码打包**
1. 用Spring Boot进行后端开发(一):将Spring Boot项目部署到腾讯云服务器(CentOS)并且成功运行_m0_37640648的博客-CSDN博客
2. JAVA后端一键部署服务_点点的博客-CSDN博客_java一键部署

正式笔记

这次项目里我直接使用学长的云服务器,所以需要在云服务器上新建一个自己的账户
连接云服务器:

  1. 使用Xshell和Xftp
  2. 直接在Xshell里建立会话即可,Xshell里可以直接打开Xftp

服务器常用命令

  1. ls 查看此目录下所有文件夹的名称

  2. cd … 返回上一个文件夹

  3. cd // 返归根目录

  4. cd file 查看指定的文件夹 (file是你自己指定的文件夹的名称)

  5. tar zxvf file 解压你指定的gz包 (file是你自己指定的gz包的名称)

  6. vi file 修改文件,(file是指定修改的文件名称)

  7. :wq保存并退出,用于修改文件

创建新的用户:

  1. 创建另一个组:sudo groupadd 【组名】
  2. 添加用户,分配组,配置用户文件路径:sudo useradd -d 【用户登录时的起始目录】 -g 【用户所属分组】 -s 【用户登陆后所使用的shell】-m 【用户名】
  3. 设置密码:sudo passwd 【用户名】
    ps:写命令的时候,不用带上【】

配置Java8:

  1. 官网下载JDK 1.8 linux版本,记住,要tar格式的

  2. 打开xftp,建立连接后,直接把tar包拖进目标文件夹,进行上传

  3. cd进入目标路径,使用命令:tar -zxvf 【包名】对包进行解压

  4. 配置环境变量:
    1.当前用户

    vim ~/.bashrc
    (i:进入编辑,esc键:进入正常模式,:wq:保存并退出) 插入

    export JAVA_HOME=/usr/lib/java/JDK/jdk8
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=. : : :${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH

    2.所有用户

    sudo vi /etc/profile
    (i:进入编辑,esc键:进入正常模式,:wq:保存并退出) 插入

    export JAVA_HOME=/usr/lib/java/JDK/jdk8
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=. : : :${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    ps:当遇到readonly错误时,使用:wq!进行强制保存,一般来说也能够修改成功,如果实在不行,建议使用root账号

安装mysql:
暂时先看上面的教程吧,我使用的云服务器是学长的,已经有了数据库,日后遇到,再回来写
使用navicat远程连接mysql:
直接新建连接,写好ip和用户名密码即可连接,然后就可以在navicat上远程操控云服务器上的数据库啦,贼方便!

代码打包
由于jar包比war包对于小白而言方便很多,不用在云服务器上安装tomcat,所以打的是jar包。
具体区别看这里

使用intelliJ idea进行打包
将pom.xml文件中的<packaging>war</packaging>删除,从而将打包方式由war改为jar
此教程的第六点

云服务器运行代码

  1. 使用xftp上传jar包
  2. 让代码运行:在包所在的路径下使用命令java -jar 包名.jar
  3. 让代码一直运行:执行命令 nohup java -jar XXXX.jar &,其中XXXX.jar表示代码包,nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。其中&表示当前窗口关闭后,程序后台运行,每一次运行的结果都会保存在nohup.out文件,输入exit退出终端窗口。没有&就会变为在当前ssh窗口,关闭窗口或执行Ctrl+C退出程序运行。
  4. 关闭过程:执行命令ps -ef | grep java,列出java执行的后台进程,接下来执行kill -9 xxxx关闭进程,其中-9表示无条件关闭。
  5. 直接退出xhsell连接,退出连接不代表程序退出运行,但是无法得知每一次访问后端的数据过程与连接出现问题。

本次教程结束,日后会继续更新!

过程中遇到的问题:

  1. 文件名内不能够带有冒号。
  2. 文件路径最后要带上“\”以表示存储在最后一个文件夹内。
  3. 云服务器环境最好与本地环境一致,低版本的数据库不能够返回空值。
  4. 函数内的参数顺序最好与数据库一致,否则不知道会在哪里出错。
  5. Mapper层对数据库的操作只想返回最多一条信息时,在sql语句末尾加上limit 1。
  6. 注解很重要,需要学习,当代码逻辑没有问题,却找不到出错原因的时候,大概率是注解没加。
  7. 当想要同时使用@RequestParam和@RequestBody时,就两个都不用,就可以了。
  8. @RequestParam可以多用,但@RequestBody只能用一个。
  9. 所有的Controller层都需要加上@RestController注解。
  10. @RequestMapping用于在Controller层指定接口路径名。
  11. Service层的所有实体类必须要加上@Service注解。
  12. 所有实现接口的实体类都要加上@Override注解用于接口实现的检验
  13. @Autowired 是一个注释,它可以对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配的工作。当该类有一个自动构造方法时,可以不使用这个注解,但如果没有就必须加上,详细参考@Autowired注解总结 - 简书 (jianshu.com)
  14. 在进行参数类型和参数名字更新时,需要注意Controller层接受的参数在修改参数名字的时候,相应的set函数内的接受的参数的名字要和postman中发送的参数名字相同。
  15. 有必要学习一下数据库的语句知识,可以提高速度
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值