先说环境:
- 首先我的项目是一个springBoot项目,使用的编辑器是IDEA
- 我的本机环境是:Windows10, JDK 1.8.0, MySQL 8.0, tomcat
1.购买服务器
首先我是在阿里云上购买的服务器,可以点击这个阿里云优惠链接,看看最近是否有优惠,如果是新用户,可以使用新手礼包,更优惠一些。当然也可以选择其他的同类型产品。
在买服务器的时候,肯定会让你选择系统的:常用的就是Windows与Linux,选择哪个就看你熟悉那个了。我这篇文章的选择是Windows 2019
1.1 设置服务器的安全组(也可以使用默认的安全组)
配置路径:控制台->打开侧边栏的云服务器ECS->选择实例与镜像的实例->查看目前打开的实例是否是你要处理的实例(如果有多个实例的话,一定要看清楚)->打开网络与安全下的安全组->点击配置规则即可
下图是我的设置:你可以按照你的需求配置。
1.2 远程连接服务器
- 在购买完服务器后,打开你的阿里云控制台,复制你的服务器的公网IP。
- 打开自己电脑的软件:“远程桌面连接”(不需下载,自带的),在计算机那一栏填写复制的公网IP地址,点击 "显示选项”,就可以看到本地资源,打开本地资源勾选剪贴板。
- 在“本地资源”中,打开“详细信息”。在“驱动器“下面选择一个分区(这个被选择的分区就可以在远程电脑端可见,这样就可以互相复制东西了)
- 点击“连接”,输入用户名及密码。这里的用户名:windows默认是Administrator;Linux默认是root。密码是你的实例密码:在你购买服务器的时候,就会发送到手机上的(如果不记得,可以在阿里云里面修改实例密码(不是远程连接密码),点击:如何修改ECS实例的用户密码)
2. 准备工作
2.1 下载并安装好项目所需环境
首先你需要下载你的项目跑起来所需要的环境:拿我的项目举例,我需要下载:JDK、Tomcat、MySQL、以及MySQL依赖的Microsoft Visual C++ 2015。对应的版本建议与你本机的版本一致。(你可以在服务器的电脑上直接下载环境,也可以在你的本机下载好,然后将软件通过连接助手传送过去)
2.2 将项目打包
我使用的的是通过 IDEA将项目打包,以下步骤通用于Maven工程
-
打开项目的pom.xml,看看有没有下面这句:
<packaging>war<packaging>
,没有的话加上。(tips:因为是web工程,所以建议是打包成war包)
-
通过点击 Build -> Build Project,将项目进行编译
-
点击 Maven Projects -> 你的maven项目 -> package 进项打包。打包结束后,你就可以在 项目名/target 下找到对应的war包了。
-
拿到打包好的war包,打开cmd,进入war包所在目录下,运行
java -jar xxx.war
,如果项目完美运行。说明war包没有问题。 -
记住你的war包所在的目录
2.3 准备sql文件(如果项目没有用到数据库就不用了)
如果你的项目有数据库的需要
-
如果本机有可以连接数据库的软件,如Navicat,可以使用它连接的服务器数据库,然后将需要的数据复制过去。(这个方法需要你的服务器开放3306端口,在安全组配置。使用Navicat连接阿里云ECS服务器上的MySQL数据库)
-
也可以在本机上将需要将对应的数据库抽取成 .sql 文件,然后在服务器上运行就可以。(参考文章:MySQL命令行下执行.sql脚本)
3. 在服务器运行项目
- 将 打包好的war 放入到 tomcat 的 webapps 目录下。(如果是项目内置了Tomcat,这一步就不需要了,你想放在哪个目录下都可以)
- 启动cmd进入到 war包所在目录,输入:
java -jar xxx.war
启动war包。(一定要在本机上确定自己的war包是能运行的),如果各项服务都启动了,war包就是可以正常运行的。 - 先在服务器端的网页上通过
localhost:8080/项目名
访问项目,确保项目能正常访问。然后在本机上输入:服务器公网:8080/项目名
访问项目
4. 补充
如果在服务器上可以打开网页,但是在本机上打不开,怎么处理?
- 确保服务器端的防火墙没有问题
- 可以看看这篇文章:无法通过公网访问阿里云服务器Tomcat下部署的项目
5. 域名绑定
- 进入控制台->打开侧边栏->点击域名
-
选择“解析”
-
点击新手引导
-
在记录值中填写你的服务器的公网IP地址
-
简单绑定就完成了,这样你就可以在本机输入你的域名访问项目了。(如果你的项目访问需要在路径上添加8080端口,那么换成域名后也需要在后面添加8080端口)
-
如果是大陆的服务器,想要域名可以长期访问,还需要备案哦!
6. 访问项目去除掉8080端口
- 如果使用到了外部的Tomcat,那么就需要修改Tomcat目录下/conf/server.xml,将端口号改为80
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/>
- 如果是内置的Tomcat,要想除掉8080端口,在项目的配置文件中设置端口号为80,就可以了。比如我的配置文件是application.yml,在其后面添加:
server:
port: 80