最近自己部署了一个Spring Boot开源项目,在部署这个项目中也是有很多问题自己没有遇到过很疑惑,我没有修改任何的代码。我的目的就是把它发布部署到我的java服务器上面,而且要用域名访问的那种、还要是根目录可以访问。可能你们会觉得奇怪,为什么要强调在根目录下访问。我先简单说根目录访问时这样的:域名+端口,而非根目录访问:域名+端口+项目名称。很多时候80端口作为默认端口,我们在访问的时候不需要写的,但是做个javaEE开发的都知道Tomcat的默认端口是8080。

而我为什么强调在根目录下访问,因为我要部署的项目是war文件,它是由maven生成出来的。至于maven怎么war文件我这里不做过多的解释,自己自行查阅资料。而war文件放到webapps文件夹中会自动对应的war文件夹,访问的时候就必须带上那个文件夹的名称。例如我要部署的是myblog.war文件,那么自己部署到webapps文件夹中,我就要这样访问www.chesg.cn/myblog,但是我只想根目录下访问www.chesg.cn。有人还会说,自己把解压后的myblog文件夹内容放到webapps/ROOT文件夹中,不就行了吗?这种做法我试过,一直提示404错误,这是方法是常见的根访问目录设置,但是它要求你的项目文件是普遍的javaee项目。maven生成的war项目不行。

下面我将详细介绍下部署的过程,自己作为刚接触javaEE的新人,在做项目中遇到的挫折我觉得都是宝贵经历,有必要记录下来。所以我这里做一下自己的部署记录吧,以后也有个回顾,如有不合理需要整改之处,欢迎大家可以给我留言。
部署准备:javaJDK1.7,Tomcat7.0,MySQL5.8,当然你也可以用javaee集成环境,我就是用的集成环境,反正要可运行的javaWeb项目,linux环境的服务器(我用的是阿里云的Linux服务器) ,除此之外你还需要一个域名。例如我的域名chesg.cn
步骤:  
1. 导入myblog.war到webapps文件夹中 
2. 域名解析到当前服务器ip地址  
3. 用域名加项目名访问项目  
4. 配置Tomcat中conf目录下server.xml文件
5. 重启Tomcat服务器

第一步:导入myblog.war到webapps文件夹中 

首先我们可以用xshell远程工具登录服务器,输入命令:cp -r myblog.war /home/tomcat/apache-tomcat-8.5.8/webapps

雷小天博客

说将myblog.war复制一份到webapps文件夹中。

第二步:域名解析到当前服务器ip地址

打开阿里云账号找到你要解析的域名解析到你自己的服务器上即可,这步骤其实很简单,记录类型都是A、主机记录分别是@和www,记录值就是你服务器的公网ip地址,其他默认即可。

雷小天博客

第三步:用域名加项目名访问项目  

这个步骤为什么要访问?其实就是要让服务器自己帮你解压myblog.war文件,让它在webapps文件夹中生成同名一个文件夹myblog。当然你也可以自己手动解压的。输入命令:jar -xf myblog.war,解压之后可以看到

雷小天博客

第四步:配置Tomcat中conf目录下server.xml文件  

这个步骤非常重要,是部署到根目录的关键所在。我们需要打开server.xml文件进行编辑,文件的位置在/home/tomcat/apache-tomcat-8.5.8/conf中。

首先确保80端口开发,再修改tomcat端口为80,默认的为8080

雷小天博客

修改<Engine/>标签的defaultHost为需要访问的域名(必须要保证你的域名可以的前提下)

雷小天博客

修改<Host/>标签的name为 需要访问的域名,并在host标签内配置<context>标签<context path="" docBase=""> docBase配置你的部署的项目的所在路径+项目名

雷小天博客

第五步:重启Tomcat服务器

以上步骤配置完成后,输入www.chesg.cn访问域名根目录即可访问成功

雷小天博客