springboot项目发布到服务器(mac版window版通用)

文章目录

        • 一、配置阿里云服务器
        • 二、用idea将springboot项目打成war包形式
            • 1.将pom.xml中的打包方式修改为war
            • 2.在pom.xml中添加依赖
            • 3.在pom.xml中添加一下代码,意思是导出的war包的名字,例如我导出的war包名字为tmall
            • 4.修改src/main/java下的Application启动项
            • 5.打成war包
        • 三、Linux安装jdk
        • 四、安装mysql环境(5.6版本)
            • 1.安装
            • 2.启动mysql服务并验证端口是否被占用,分别输入:
            • 3.修改mysql的用户名和密码
            • 4.设置大小写不敏感
            • 5.解决中文乱码问题
            • 6.授权远程登录
        • 五、Tomcat的安装
        • 六、将war包放入tomcat的webapps的文件夹下

一、配置阿里云服务器

开放3306,8080,80这三个端口
springboot项目发布到服务器(mac版window版通用)_第1张图片
springboot项目发布到服务器(mac版window版通用)_第2张图片

二、用idea将springboot项目打成war包形式

1.将pom.xml中的打包方式修改为war
<groupId>com.yjy</groupId>
	<artifactId>springbootTmall</artifactId>
	<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
2.在pom.xml中添加依赖
<!--部署成war包时开启↓↓↓↓-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
	<scope>provided</scope>
</dependency>
<!--部署成war包时开启↑↑↑↑-->
3.在pom.xml中添加一下代码,意思是导出的war包的名字,例如我导出的war包名字为tmall
<build>
	<finalName>tmall</finalName>
</build>
4.修改src/main/java下的Application启动项
@SpringBootApplication
public class Application extends SpringBootServletInitializer implements WebApplicationInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application){

        return application.sources(Application.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
}
5.打成war包
①若之前打过war想重新打成war包则点击clean ②若之前没有打过war包则直接点击package

springboot项目发布到服务器(mac版window版通用)_第3张图片

三、Linux安装jdk

①下载Linux版本的jdk到本地电脑,格式为.tar.gz,通过软件将下载好的jdk放入Linux服务器/usr/local/java的文件夹下(java文件夹需要自己建立)
(我用的mac电脑,使用的软件为Royal TSX(简单教程,官网下载),window据说Xshell比较好用,至于windows的上传文件所用到的软件自己去找,使用起来应该也很简单)
      例如:

a.我下载的是jdk-8u144-linux-x64.tar.gz,通过软件上传到/usr/local/java文件夹后,通过软件进入到服务器的命令界面(阿里云服务器可以直接从网页中进去,当然我们也可以使用刚才上述的两款软件连接远程的服务器,然后从软件中进入到服务器的系统中)

b.在命令行中输入 cd /usr/local/java进入到java文件夹下

c.输入命令tar zxvf jdk-8u144-linux-x64.tar.gz解压安装包

d.解压完成后输入cd /etc/进入etc文件夹,文件夹中有一个profile文件

e.输入 vim profile编辑profile文件,在最后一行输入以下内容(你的jdk是什么版本替换掉内容里的版本)

export JAVA_HOME=/usr/local/java/jdk1.8.0_144
export JRE_HOME=/usr/local/java/jdk1.8.0_144/jre
export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH


f.最后可以使用java -version查看已安装的java版本,出现以下内容即安装成功
springboot项目发布到服务器(mac版window版通用)_第4张图片

四、安装mysql环境(5.6版本)

1.安装

注意:yum上mysql的资源有问题,所以不能仅仅之用yum。在使用yum之前还需要用其他命令获取mysql社区版
依次输入以下命令

cd /

mkdir /temp

cd /temp

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

rpm -ivh mysql-community-release-el7-5.noarch.rpm

yum install mysql mysql-server mysql-devel -y

2.启动mysql服务并验证端口是否被占用,分别输入:

systemctl start mysql.service

netstat -anp|grep 3306
在这里插入图片描述

3.修改mysql的用户名和密码

     mysql在5.7版本之后会自动创建一个初始密码,所以我们需要先跳过初始密码验证,然后修改密码,最后通过修改后的密码进入数据库
     ① 检查mysql服务是否启动,如果启动,关闭mysql服务
          ps -ef | grep -i mysql

          service mysql stop

     ② 修改mysql的配置文件my.cnf
          -my.cnf配置文件的位置,一般在/etc/my.cnf,在配置文件中[mysqld]字段的底下添加一行字符串skip-grant-tables,作用是登录mysql的时候跳过密码验证

          执行命令vim /etc/my.cnf,然后按i,作用是使文件变成编辑模式,之后可以输入内容,内容输入完成后按Esc键,然后按:wq保存

     ③ 添加命令后重启mysql并进入mysql

          service mysqld start

          mysql -u root

     ④ 连接mysql这个数据库,修改用户密码(123456是你要设置的新密码)

          use mysql;

          update user set password=password("123456") where user="root";

          flush privileges;

          exit

          ⑤ 重启mysql服务,先将之前加在配置文件里面的skip-grant-tables代码注释或删除掉,然后重启mysql服务,就可以使用刚刚设置的密码登录了

          service mysql start

          mysql -u root -p

4.设置大小写不敏感

Linux MySQL默认是大小写敏感的,但是windows上的Mysql默认是非大小写敏感的,所以JDBC代码有的表名是大写,有的是小写的,一旦运行起来就会因为大小写不一致导致无法识别表名。 为了解决这个矛盾,就需要把MySQL的大小写敏感修改为非敏感。 解决办法如下:
修改etc文件夹下的 my.cnf 文件
添加代码lower_case_table_names=1到 [mysqld]下面

修改完要重启 mysql服务,否则不生效
service mysqld stop
service mysqld start
service mysqld restart (重启)

5.解决中文乱码问题

      修改 etc下的 my.cnf文件,添加如下代码

[mysqld]  
port = 3306
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = utf8

[mysql]
no-auto-rehash


保存完记得重启服务
service mysqld restart

6.授权远程登录

      -先登录mysql,mysql -uroot -p123456,处于 mysql> 状态,然后输入下面两条代码

         添加用户
         GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
         刷新:
         FLUSH PRIVILEGES;
这两条代码执行完,本地的navicat便可以用此用户名和密码远程便登录mysql
用户名 :root
密码: 123456

7.Navicat本地登录
springboot项目发布到服务器(mac版window版通用)_第5张图片

五、Tomcat的安装

1.将下载好的apache-tomcat-8.5.51.tar.gz放入/usr/local/中,然后解压

tar xzf apache-tomcat-7.0.82.tar.gz

2.修改文件夹的名字为tomcat(不修改也可以)

mv apache-tomcat-8.5.51 tomcat

3.对tomcat文件夹下的bin文件夹进行权限设置

chmod u+x *.sh

4.启动tomcat,并查看8080端口是否占用

./startup.sh

netstat -anp|grep 8080

springboot项目发布到服务器(mac版window版通用)_第6张图片
5.查看tomcat启动日志

① 先切换到ltomcat的ogs文件夹下

cd usr/local/tomcat/logs

② 查看日志记录是否启动成功

tail -f catalina.out

      若出现如下错误:
springboot项目发布到服务器(mac版window版通用)_第7张图片
      解决办法如下:

1.打开文件
/usr/java/jdk1.8.0_181-amd64/jre/lib/security/java.security
在文件中找到securerandom.source=file:/dev/random设置项,将其改为:
securerandom.source=file:/dev/./urandom,然后记得保存!!!

springboot项目发布到服务器(mac版window版通用)_第8张图片
springboot项目发布到服务器(mac版window版通用)_第9张图片

2.完成修改后关闭tomcat并查看Tomcat是否已经关闭

./shutdown.sh

ps -ef|grep java

若出现以下类似的信息说明tomcat还没关闭,可以用 kill -9 22681 杀死进程

springboot项目发布到服务器(mac版window版通用)_第10张图片

若出现以下结果则是杀死成功

在这里插入图片描述

3.杀死成功后运行代码重新启动tomcat,并查看日志发现启动成功

六、将war包放入tomcat的webapps的文件夹下

将idea打成war包通过软件直接传入的tomcat的webapps的文件夹下,tomcat会自动将war包解析成文件夹,我们可以直接通过服务器的公网地址访问我们的项目了
springboot项目发布到服务器(mac版window版通用)_第11张图片
需要注意的是我们访问的公网IP地址后还要加一个tomcat解析完war后的那个文件夹的名称
springboot项目发布到服务器(mac版window版通用)_第12张图片

你可能感兴趣的:(springboot项目发布到服务器(mac版window版通用))