将springboot项目部署到windows服务器全过程记录

springboot项目部署到windows服务器

一、将项目打包成war包,在maven中clean,package,然后找到war包地址

image-20210911102615905

二、购买阿里云服务器

此处白嫖了一个两周的高校计划服务器,记住公网ip,以后将用这个ip访问网页

image-20210912141319280

三、在本地远程连接到服务器

image-20210912141517830

可以设置共享d盘资源

image-20210912145836344

在弹出来的密码框里输入密码,并且信任该远程计算机

image-20210912141640552

四、给服务器配置jdk

这里以jdk11为例,最好在选择版本的时候选jdk1.8!因为要和tomcat版本相对应,我当时都是把jdk11卸载了重新安装的jdk1.8

  1. 搜索jdk,进入Oracle官网

    image-20210521121334351

  2. 点击JDK download

    image-20210521121518531

  3. 选择合适的版本和位数,此处以JDK11,win10,x64为例

    image-20210521122000743

  4. 下载完成后打开exe

    image-20210521124037196
  5. 打开cmd,输入java -version查看是否安装成功

    image-20210521124326205

  6. 这是安装好的场景,如果没有,可能需要配置环境变量

    此电脑–>属性->高级系统设置->环境变量->编辑

    添加好jdk的bin目录之后,一路点确认

    image-20210521124637474

五、配置Tomcat

用于将我们的项目发布到外网,然后我们就可以使用之前的外网ip访问我们的远程服务器了

首先,进入官网,选择好版本。注意!!jdk版本和tomcat版本一定要对应,比如pom.xml规定了java version是1.8,则对应tomcat8,如果java version是1.9,则对应tomcat9

image-20210917160957439

image-20210917161039369

直接把zip文件在文件夹里解压就好

image-20210917161137355

在环境变量里配置一下 JAVA_HOME 和 CATALINA_HOME,分别对应jdk和tomcat下载目录

image-20210917161401365

六、安装mysql和navicat

一定要注意密码!

服务器上mysql的密码一定要和项目里面配置的账号密码一致,我就是这里没配好,导致一直运行项目时数据库连接报错,还有就是一定要认真看报错信息,我每次运行都是页面404,一直没看报错信息,最后才发现是数据库密码不对的问题

安装好mysql和navicat,可以将我们的导出的blog.sql文件导入,看能不能连接

方法:新建数据库 → 运行SQL文件

image-20210918000518644

image-20210918000629305

七、启动Tomcat

把我们之前准备好的blog.war文件复制到服务器中,再复制到 apache-tomcat-8.5.70 → webapps 目录下面

image-20210917235853053

打开 apache-tomcat-8.5.70 → bin → startup.bat,启动tomcat

image-20210918000006182

要是成功的话,应该可以在服务器的 http://localhost:8080/blog/ 访问到你部署的网页了

image-20210918000141446

八、一些踩坑记录!

很难相信我整整部署了三天才成功,感觉把全网的有的没的坑都踩了一遍,就是尝试了网上说的各种解决方案,每次启动tomcat后访问blog页面都还是404,每次都是everytime!最后一天差点要放弃了,真的真的马上就要放弃了,可就在我万念俱灰的时候突然成功了,于是决定一定要把这个过程记录下来,虽艰辛但确实学到了很多

问题1

如果访问正常路径404了

image-20210913201128807

解决:修改启动类BlogApplication,继承SpringBootServletInitializer,然后重写configure方法

@SpringBootApplication
public class BlogApplication extends SpringBootServletInitializer {
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return super.configure(builder);
	}
	public static void main(String[] args) {
		SpringApplication.run(BlogApplication.class, args);
	}
}

pom.xml文件中加入servlet依赖

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <scope>provided</scope>
</dependency>
问题2

运行项目连接Mysql时出现警告:Establishing SSL connection without server’s identity verification is not recommende

解决:在url里面添加useSSL=false

image-20210917234411993

问题3

服务器部署web项目服务器可以访问,外网访问不了

在你的阿里云服务器找到你的实例列表,更多 → 网络安全组 → 安全组配置

image-20210917162310983

自定义加入8080端口

image-20210917162440747

问题4

如果本地sql和服务器sql

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值