欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-03 08:58:44
...

一.安装JDK

方法一.

1.yum命令下载JDK.

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

# yum list installed | grep java

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

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

# java -version

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

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

# yum -y remove java-1.8.0-openjdk*

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

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

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 aaa@qq.com***.53:/usr/local/javaTools

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

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

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项目

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

8.启用新的配置

# source /etc/profile

即可查看jdk版本:

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

 

二.下载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项目

5.查看mysql默认密码

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

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

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

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

service mysqld start
# mysql -uroot -p

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

如果出现

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

进入

# 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 aaa@qq.com"%" identified by "密码";

刷新权限生效

mysql> flush privileges;

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

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

11.刷新权限生效

mysql> flush privileges;

12.查看mysql内置的数据库

mysql> show databases;

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

13.查看mysql的字符集

mysql> show variables like '%character%';

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

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

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

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项目

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项目

6.启动tomcat,在bin目录下

# ./startup.sh

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

7.关闭tomcat

./shutdown.sh

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

8.tomcat默认端口为8080

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

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

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项目

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

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

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里面加入插件

				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
					<configuration>
						<executable>true</executable>
					</configuration>
				</plugin>

完整的build插件

<build>
		<finalName>MySpringBoot</finalName>

		<pluginManagement>

			<plugins>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>2.3.2</version>
					<configuration>
						<source>1.8</source>
						<target>1.8</target>
						<encoding>UTF-8</encoding>
						<!--配置本地jar包在项目的存放路径 -->
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
					<configuration>
						<executable>true</executable>
					</configuration>
				</plugin>

			</plugins>
			
		</pluginManagement>
	</build>

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

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

2.打包

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

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

打包后target里面有两个jar

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

3.cmd运行

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

4.上传至CentOS

1.文件上传方法

把jar包上传到服务器

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

执行成功

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

执行成功后如果关闭连接进程就会断开,我们可以在后台挂起进程,启动命令如下

# 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

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

# kill -9 4610

4.2.2. 通过jar

# ps aux | grep MySpringBoot.jar

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

# kill -9 10623

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

 

参考:

阿里云项目部署

springboot打包插件

linux服务配置