如何应对宝宝的第一个叛逆期!

小说:如何应对宝宝的第一个叛逆期!作者:道龙宗伯更新时间:2019-03-25字数:85043

【内容指引】
SpringBoot项目介绍;
打包SpringBoot项目:
1.pom.xml;
2.application.properties配置;
3.application-dev.properties配置;
4.application-prod.properties配置;
5.data.sql;
6.打包设置。
将jar包部署到linux服务器:
1.将jar包从Mac上传到远程linux服务器;
2.在Mysql中创建数据库实例;
3.以生产配置的方式运行jar包。
相关技巧
1.删除数据库;
2.查看进程;
3.根据端口查进程;
4.杀死指定进程 。

一、SpringBoot项目介绍

本例用于演示打包部署的java项目有如下特点:
1.采用jar包(而不是war包的方式)的方式打包;
2.双配置:开发环境采用内置的内存数据库h2,生产环境采用Mysql数据库。前两篇已经在服务器中用Docker的方式安装了Mysql。

二、打包SpringBoot项目

1.pom.xml

需要特别说明的配置如下:
打包方式

<packaging>jar</packaging>

 

数据库相关依赖
依赖JPA、h2数据库、Mysql数据库

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

 

编译插件

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

 

以上配置都在“云开发”平台生成项目初始化代码时设定好了,无须额外修改。

2.application.properties配置

默认启用开发配置"dev"。打包时改为“prod”,启用生产配置。

#Profile设置
spring.profiles.active=dev

 

3.application-dev.properties配置

开发配置保持默认即可,无特殊说明。

4.application-prod.properties配置

需要注意的配置如下:
JPA配置
与前面Docker中运行的Mysql容器一致,这里设置数据库名为“pscms”,用户名为“root”,密码为“123456”

#JPA
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/pscms?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.hibernate.ddl-auto=update

 

端口
Tomcat端口(server.port)以及应用监控端口(management.port)不要与目标服务器上已用的端口号冲突了(必要的情况下,还需要在目标服务器的防火墙中允许这两个端口).

其它配置不用修改,保持“云开发”平台初始化的生产配置即可。

5.data.sql

这里是为Spring Security初始化两个用户的sql脚本,注意,表名一律用小写字母,否则可能发布时会报找不到表的异常。

6.打包设置

在"IntelliJ IDEA"的顶部右边选择“Edit Configurations”:

添加一个Maven配置:

取一个名称,如“cms”,然后在Command line中输入“clean package”,如下图所示:

如下图,点击“运行”按钮,执行打包:

注意
由于启用了生产环境的配置,打包前需要Mysql数据库实例“pscms”是可以正常访问的,否则会导致编译失败。

 

会生成一个名为"cms-0.0.1.SNAPSHOT.jar"的jar包,其中“cms”是本示范项目的项目名:

三、将jar包部署到linux服务器

1.将jar包从Mac上传到远程linux服务器

可以先将本项目target目录中的jar包重命名为"cms.jar":

右键拷贝jar包本地地址:

本例不上传到远程服务器,而是CentOS虚拟机。
查询指导虚拟机的ip是“192.168.10.121”,用户名是"parallels",桌面地址是“/home/parallels/Desktop”,在Mac终端中用scp拷贝jar包到虚拟机中(从虚拟机的linux终端上传jar包到远程linux服务器的方法相同)。
指令语法:scp -r 本地jar包路径 远程服务器用户名@服务器IP:远程存放jar包的路径
指令:

scp -r /Users/mac.manon/workspace/JavaProjects/mobi_weiapp_cms/target/cms.jar parallels@192.168.10.121:/home/parallels/Desktop

 

现在虚拟机桌面就有了cms.jar:

2.在Mysql中创建数据库实例:

在SpringBoot的生产配置中,我们需要连接的Mysql数据库实例为“pscms”,这里,我们在虚拟机中,登录docker创建数据库,否则运行jar报无法连接的异常。步骤如下:

登录容器:

docker exec -it first-mysql bash

登录Mysql:

mysql -u root -p

输入密码:
创建数据库:

CREATE DATABASE `pscms` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

 

创建成功后退出mysql(quit)、退出容器(exit)。

3.以生产配置的方式运行jar包

指令:

java -jar /home/parallels/Desktop/cms.jar --spring.profiles.active=prod

 

现在可以在CentOS本地火狐浏览器中用http://localhost:8888访问了,如果在Mac中访问则将localhost换为虚拟机的ip(如无法访问,则可能是防火墙的原因)。

四、相关技巧

1.删除数据库

指令:

DROP DATABASE `pscms`;

2.查看进程

如查看java的相关的进程
指令:

ps -ef|grep java


如下图,我们看到cms.jar的进程为30894

 

3.根据端口查进程

如果用方法2查询没找到cms.jar的进程时,我们可以根据该程序占用的端口“8888”查询。
指令:

netstat -lntp 8888

 

4.杀死指定进程

指令:

kill -9 进程号

 

杀死进程后,发布的SpringBoot项目就无法访问了。

 

当前文章:http://ayzwzx.cn/ask/question_51867.html

发布时间:2019-03-25 06:41:05

“说教”多了伤孩子 十二星座的灵魂年龄是多少? 生产一桶石油到底需要多少钱? 如何领悟六祖“何其自性,能生万法,万法唯心” 这样做吸引,才如家、才你家、才我家 懒是婚姻的致命伤 何谓好名字 我与凤凰相机的尴尬经历 你真的适合创业吗?答案是“未必”! 从四大名著浅说团队

88582 50997 89125 74611 25556 57278 37727 13366 44230 98955 44954 26041 66968 87208 22213 88380 22959 52045 85323 28560 44877 14815 42173

我要说两句: (0人参与)

发布