springboot项目部署到windows服务器

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

如何将java项目部署到nginx java部署到windows_服务器

二、购买阿里云服务器

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

如何将java项目部署到nginx java部署到windows_tomcat_02

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

如何将java项目部署到nginx java部署到windows_tomcat_03

可以设置共享d盘资源

如何将java项目部署到nginx java部署到windows_服务器_04

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

如何将java项目部署到nginx java部署到windows_如何将java项目部署到nginx_05

四、给服务器配置jdk

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

  1. 搜索jdk,进入Oracle官网
  2. 点击JDK download
  3. 选择合适的版本和位数,此处以JDK11,win10,x64为例
  4. 下载完成后打开exe
  5. 打开cmd,输入java -version查看是否安装成功
  6. 这是安装好的场景,如果没有,可能需要配置环境变量
    此电脑–>属性->高级系统设置->环境变量->编辑
    添加好jdk的bin目录之后,一路点确认

五、配置Tomcat

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

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

如何将java项目部署到nginx java部署到windows_服务器_06

如何将java项目部署到nginx java部署到windows_服务器_07

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

如何将java项目部署到nginx java部署到windows_tomcat_08

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

如何将java项目部署到nginx java部署到windows_windows_09

六、安装mysql和navicat

一定要注意密码!

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

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

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

如何将java项目部署到nginx java部署到windows_spring boot_10

如何将java项目部署到nginx java部署到windows_如何将java项目部署到nginx_11

七、启动Tomcat

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

如何将java项目部署到nginx java部署到windows_windows_12

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

如何将java项目部署到nginx java部署到windows_服务器_13

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

如何将java项目部署到nginx java部署到windows_tomcat_14

八、一些踩坑记录!

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

问题1

如果访问正常路径404了

如何将java项目部署到nginx java部署到windows_如何将java项目部署到nginx_15

解决:修改启动类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

如何将java项目部署到nginx java部署到windows_tomcat_16

问题3

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

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

如何将java项目部署到nginx java部署到windows_如何将java项目部署到nginx_17

自定义加入8080端口

如何将java项目部署到nginx java部署到windows_spring boot_18

问题4

如果本地sql和服务器sql