Linux(二):阿里云CentOS7部署SpringBoot项目

一.安装JDK

方法一.

1.yum命令下载JDK.

系统自带了jdk,我们可以通过以下命令查看所安装的jdk:

# yum list installed | grep java

Linux(二):阿里云CentOS7部署SpringBoot项目_第1张图片

2.通过以下命令查看jdk的信息:

# java -version

3.如果我们想卸载jdk,我们可以通过以下命令:

# yum -y remove java-1.8.0-openjdk*

4.卸载完成后,会出现complete! 再查看jdk版本时,会出现以下信息.

5.我们可以通过以下命令查看yum库中的jdk安装包

# yum -y list java-1.8.0-openjdk*

6.安装jdk的命令如下:

yum -y install java-1.8.0-openjdk*

安装完成后输入相关命令即可查看jdk,如文章开头.

方法二.

1.通过以下命令进入usr目录:

# cd /usr/local

2.然后再在该目录下创建一个文件javaTools用来保存相关的开发环境

# mkdir -p javaTools

3.进入该目录

# cd javaTools/

 4.我们现在本地系统下载jdk,再上传到Linux服务器上,关于文件传输,可看此文:Linux文件互传。这里我们使用的是pscp进行文件传输。

如输入以下命令传送下载的jdk

pscp G:\jdk-8u181-linux-x64.tar.gz [email protected].***.53:/usr/local/javaTools

5.下载完成后,在该目录下输入# ls 命令即可查看文件信息

6.通过以下命令进行解压:

# tar -zxvf jdk-8u181-linux-x64.tar.gz

7.配置jdk环境变量

vi命令打开以下文件

vi /etc/profile

在该文件末尾添加环境变量如下:

JAVA_HOME=/usr/local/javaTools/jdk1.8.0_181(jdk安装路径)

 JRE_HOME=$JAVA_HOME/jre

 PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

 CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar

 export JAVA_HOME JRE_HOME PATH CLASSPATH

如下:

Linux(二):阿里云CentOS7部署SpringBoot项目_第2张图片

        添加结束后,先按esc退出,底下INSERT消失后,输入":wq"保存文件;":q!"是退出不保存;编辑过程中按"dd"是删除光标所在一整行;"x"是删除光标所在的字符;"u"为恢复上一步的操作;"ctrl+r"为恢复上一步的操作。

8.启用新的配置

# source /etc/profile

即可查看jdk版本:

Linux(二):阿里云CentOS7部署SpringBoot项目_第3张图片

 

二.下载mysql5.7

1.查看是否有mysql服务

rpm -qa | grep mysql
 
或
 
yum list installed | grep mysql

卸载mysql

# yum -y remove mysql*

2.创建文件夹

进入所创文件夹

# cd /usr/local/javaTools

创建mysql文件夹

# mkdir -p mysql

3.下载mysql

使用wget下载一个 rpm包, 然后用 rpm -ivh  xxx.rpm  安装这个软件

wget下载mysql的yum源rmp

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

安装rpm -ivh mysql57-community-release-el7-8.noarch.rpm

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

安装mysql

yum install mysql-server

4.安装完成

Linux(二):阿里云CentOS7部署SpringBoot项目_第4张图片

5.查看mysql默认密码

sudo grep 'temporary password' /var/log/mysqld.log

密码是随机生成的一个默认值

6.启动mysql,输入密码后,即可登录mysql,-u后面为用户名,即可登录

service mysqld start
# mysql -uroot -p

Linux(二):阿里云CentOS7部署SpringBoot项目_第5张图片

如果出现

进入

# vim /etc/my.cnf

最后一行加上(

skip-grant-tables
service mysqld restart  
mysql -uroot -p  

如果无法保存

1.按Esc键

2.输入  :set noreadonly

3.然后就能正常保存了,你可以输入 :wq 来保存文件了。

输入密码时直接回车跳过,设置新密码 

update mysql.user set authentication_string=password('roof') where user='root' and Host = 'localhost';

刷新权限生效

mysql> flush privileges;

7.mysql退出与登录方法

MySQL登录
mysql -u帐号 -p密码 这是登陆

mysql退出三种方法:
mysql > exit;
mysql > quit;
mysql > \q;

8.重置密码

update mysql.user set authentication_string=password('roof') where user='root' and Host = 'localhost';

如果密码复杂度过低会出现报错:Your password does not satisfy the current policy requirements。

这一步可以像第6步修改my.cnf文件那样配置,就能设置安全度低的密码。

9.设置在任意ip下被访问

mysql> grant all privileges on *.* to root@"%" identified by "密码";

刷新权限生效

mysql> flush privileges;

10.设置用户root可以在本地访问

mysql> grant all privileges on *.* to root@"localhost" identified by "密码";

11.刷新权限生效

mysql> flush privileges;

12.查看mysql内置的数据库

mysql> show databases;

Linux(二):阿里云CentOS7部署SpringBoot项目_第6张图片

13.查看mysql的字符集

mysql> show variables like '%character%';

Linux(二):阿里云CentOS7部署SpringBoot项目_第7张图片

14.存放数据库文件的目录

# cd /var/lib/mysql

15.存放mysql日志的目录

# cd /var/log

16.更新密码

mysql> use mysql;

mysql> update mysql.user set authentication_string=password('roof') where user='root';

mysql> flush privileges;

17.mysql的操作

启动 MySQL 服务:
service mysqld start
关闭 MySQL 服务:
service mysqld stop
重启 MySQL 服务:
service mysqld restart
查看 MySQL 的状态:
service mysqld status

18.创建表

创建数据库

mysql> create database springboot;

查看数据库

show databases;

切换到数据库

mysql> use springboot;

创建表

mysql> CREATE TABLE users(
    -> user_id varchar(20) primary key,
    -> user_password varchar(20) not null
    -> );

查看表信息

mysql> show columns from users;

插入数据

mysql> insert users(user_id,user_password)values('hly','123');

查看数据

mysql> select * from users;

三.下载tomcat

vim /etc/profile

1.创建文件夹

进入刚才所创建的文件

# cd /usr/local/javaTools

再创建tomcat文件夹

# mkdir -p tomcat

2.下载tomcat

wget http://archive.apache.org/dist/tomcat/tomcat-9/v9.0.0.M18/bin/apache-tomcat-9.0.0.M18.tar.gz

3.解压tomcat

tar -zxvf apache-tomcat-9.0.0.M18.tar.gz

4.配置tomcat环境变量

vim打开文件

vim /etc/profile

把配置文件添加到文件末尾

# tomcat
ATALINA_HOME=/usr/local/javaTools/tomcat/apache-tomcat-9.0.0.M18

 CATALINA_BASE=/usr/local/javaTools/tomcat/apache-tomcat-9.0.0.M18

 PATH=$PATH:$CATALINA_BASE/bin

 export PATH CATALINA_BASE

Linux(二):阿里云CentOS7部署SpringBoot项目_第8张图片

5.打开catalina.sh文件,并加入以下配置

# cd ../bin/
# vim catalina.sh
JAVA_HOME=/usr/local/javaTools/jdk1.8.0_181

  JRE_HOME=$JAVA_HOME/jre

Linux(二):阿里云CentOS7部署SpringBoot项目_第9张图片

6.启动tomcat,在bin目录下

# ./startup.sh

Linux(二):阿里云CentOS7部署SpringBoot项目_第10张图片

7.关闭tomcat

./shutdown.sh

Linux(二):阿里云CentOS7部署SpringBoot项目_第11张图片

8.tomcat默认端口为8080

打开tomcat,进入阿里云,添加自定义端口,输入域名:8080即可打开网页。

9.将tomcat加入系统服务列表

进入目录

# cd /etc/init.d

创建tomcat9服务配置文件

vi tomcat9

在文件中加入以下配置

#!/bin/bash
#!/bin/sh是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。

#!/bin/bash

   # description: Tomcat Start Stop Restart

   # processname: tomcat

   # chkconfig: 2345 20 80

JAVA_HOME=/usr/local/javaTools/jdk1.8.0_181/

   export JAVA_HOME

   PATH=$JAVA_HOME/bin:$PATH

   export PATH

   CATALINA_HOME=/usr/local/javaTools/tomcat/apache-tomcat-9.0.0.M18/

   case $1 in

   start)

     sh $CATALINA_HOME/bin/startup.sh

   ;;

   stop)
sh $CATALINA_HOME/bin/shutdown.sh

   ;;

#chmod 755 tomcat

   #chkconfig --add tomcat

   #chkconfig --level 2345 tomcat on

   #chkconfig --list tomcat

分配可执行权限

# chmod +x tomcat9

将tomcat纳入系统服务列表

# chkconfig --add tomcat9

查看当前的服务权限

# chkconfig --list

Linux(二):阿里云CentOS7部署SpringBoot项目_第12张图片

关闭 tomcat9 服务:
service tomcat9 stop
启动 tomcat9 服务:
service tomcat9 start
重启 tomcat9 服务:
service tomcat9 restart

Linux(二):阿里云CentOS7部署SpringBoot项目_第13张图片

4.部署SpringBoot项目

       Spring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven操作的可能。
        Spring Boot Maven plugin能够将Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行Spring Boot应用。
Spring Boot Maven plugin的最新版本为2017.6.8发布的1.5.4.RELEASE,要求Java 8, Maven 3.2及以后。 Spring Boot Maven

plugin的5个Goals:

  • spring-boot:repackage,默认goal。在mvn package之后,再次打包可执行的jar/war,同时保留mvn package生成的jar/war为.origin。
  • spring-boot:run,运行Spring Boot应用。
  • spring-boot:start,在mvn integration-test阶段,进行Spring Boot应用生命周期的管理。
  • spring-boot:stop,在mvn integration-test阶段,进行Spring Boot应用生命周期的管理。
  • spring-boot:build-info,生成Actuator使用的构建信息文件build-info.properties。

1.在pom.xml里面加入插件

				
					org.springframework.boot
					spring-boot-maven-plugin
					
						true
					
				

完整的build插件


		MySpringBoot

		

			

				
					org.apache.maven.plugins
					maven-compiler-plugin
					2.3.2
					
						1.8
						1.8
						UTF-8
						
					
				

				
					org.springframework.boot
					spring-boot-maven-plugin
					
						true
					
				

			
			
		
	

thymeleaf配置末尾不能加/否则打包后运行会出错

# thymeleaf
spring.thymeleaf.prefix=classpath:/templates

2.打包

右键点击项目—>Run As —>6maven build ,Goals如下,点击apple,点击Run打包.

Linux(二):阿里云CentOS7部署SpringBoot项目_第14张图片

打包后target里面有两个jar

Linux(二):阿里云CentOS7部署SpringBoot项目_第15张图片

3.cmd运行

Linux(二):阿里云CentOS7部署SpringBoot项目_第16张图片

4.上传至CentOS

1.文件上传方法

把jar包上传到服务器

执行成功

Linux(二):阿里云CentOS7部署SpringBoot项目_第17张图片

执行成功后如果关闭连接进程就会断开,我们可以在后台挂起进程,启动命令如下(进入.jar文件目录)

nohup java -jar MySpringBoot.jar >/root/myProject/springboot/springboot.log 2>&1 &

.log为日志所在的路径,查看日志

# cat springboot.log
  • linux重定向

0:标准输入

1:标准输出

2:标准错误信息输出

  • 将某个程序的错误信息输出到log文件中:./program 2>log。

标准输出还是在屏幕上,但是错误信息会输出到log文件中。

  • 也可以实现0,1,2之间的重定向

2>&1:将错误信息重定向到标准输出。

  • Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。

如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如:

# ls 1>/dev/null 2>/dev/null

将错误重定向到标准输出,然后再重定向到 /dev/null,例如:

# ls >/dev/null 2>&1

  • 在使用nohup命令的时候,经常由于输出nohup.out的路径没有写入权限,而无法使用nohup。

这是可以使用Linux重定向的方法,将nohup.out重定向至一个有写入权限的路径,或者直接扔到/dev/null中。

4.2.查看进程占用端口

4.2.1.通过端口

# netstat -apn | grep 8080

# kill -9 4610

4.2.2. 通过jar

# ps aux | grep MySpringBoot.jar

# kill -9 10623

终止进程,-9表示强迫停止进程

 

参考:

阿里云项目部署

springboot打包插件

linux服务配置

你可能感兴趣的:(linux)