将javaweb项目部署到阿里云服务器

时间:2020-12-25 13:01:09

主要步骤:
1. 购买阿里云服务器
2. 远程连接
3. 在云服务器上配javaweb环境:jdk,tomcat,MySQL
4. 将项目的war文件放到Tomcat下
关于云服务器ECS:如果还想在买服务器之后,再买域名。买的服务器时间就要至少三个月,因为剩余时间 3 个月及以上的实例才能申请备案服务号。
一、阿里云服务器
1. 我买的学生优惠版服务器,先登录阿里云官网,进行学生身份认证。因为支付宝之前已经学生认证过了,所以可以一键认证,省了很多步骤。
2. 下载阿里云app,在学生专区购买云服务器。
先选择操作系统,我这里只有Windows Server 2008 标准版SP2 32位和Ubuntu 16.04 32位两种选择。我选的Windows Server 2008 标准版SP2 32位,如图。

将javaweb项目部署到阿里云服务器

时间买的两个月的,后来因为买域名要求服务器至少三个月使用时间,又续费了一个月,发现续费也是学生价格9.9/月。
二、远程连接
1.设置密码

登录阿里云官网->控制台->云服务器ECS->实例->更多->重置密码->重启实例。这里重置的密码要记住,因为这是本地电脑远程操控服务器的密码。
在重置密码下面还有一个修改远程连接密码,但这个是6位的,这个密码还没搞懂哪里用到。如图。

将javaweb项目部署到阿里云服务器
至此完成了服务器参数的配置。
2. 远程连接服务器:
(1) win+r->输入mstsc回车->点击左下角的“显示选项”
(2) 在计算机栏中输入:公网IP,(购买的云服务器的公网IP,公网ip即为外网访问的ip地址)->在用户名栏中输入:Administrator
(3) 点击“本地资源”->详细信息->选择要共享的本地磁盘,我选的是D盘,在共享磁盘里放进去jdk(32位)、Tomcat、MySQL。
因为我们需要在远程主机上从本地拷贝相关文件,因此需要将本地某个盘共享到远程服务器中,这样服务器就可以访问共享的D盘的数据。

将javaweb项目部署到阿里云服务器 将javaweb项目部署到阿里云服务器
(4) 点击“常规”->连接,就可以连接到服务器了。中途要输入连接密码。
三、在云服务器上配javaweb环境
win+e打开“我的电脑”,在d盘中找到jdk,tomcat,MySQL。先把jdk,tomcat,MySQL复制到c盘(服务器磁盘)的一个文件夹下,再安装。如果直接在d盘安装会报错。
1. jdk:
(1)安装:https://blog.csdn.net/qq_32519693/article/details/71330930
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, 选中:Accept License Agreement再下载相应版本,其中x86表示32位系统,x64表示64位系统
命令行输入:java -version,显示安装的版本,说明安装成功。
(2)配置环境变量
新建JAVA_HOME:C:\Program Files\Java\jdk1.8.0_171(即jdk的安装路径)
编辑PATH:%JAVA_HOME%\bin; (注意原来Path的变量值末尾有没有;号,如果没有,先输入;)
新建CLASSPATH:.\;%JAVA_HOME%\lib\dt.jar;\%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\bin;(注意最前面有一点)
命令行输入:java,验证是否安装成功

将javaweb项目部署到阿里云服务器
2. tomcat
(1)安装
下载地址:http://tomcat.apache.org
一直next,jdk选择刚安装jdk的目录。安装过程需要知道JDK位置,如果系统已经正确配置了JDK,系统会自动检测到JDK的安装目录,保持默认即可。如果没有检测到JDK位置,手动指定JDK的位置
(2)配置环境变量
CATALINA_HOME:C:\Program Files\Apache Software Foundation\Tomcat 7.0(刚安装Tomcat的路径)
(3)验证
进入Tomcat安装目录下的bin,我这里是C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin,打开Tomcat7w.exe,点击"start",打开Tomcat。

将javaweb项目部署到阿里云服务器   将javaweb项目部署到阿里云服务器  
打开浏览器,输入http://localhost:8080
这里IE一直报安全提示。取消服务器系统中的IE增强的安全配置功能:https://jingyan.baidu.com/article/e2284b2b3b6785e2e7118d74.html
开始->控制面板->程序->程序和功能->打开或关闭windows功能,进入服务器管理器->安全信息->配置IP ESC->两个都选禁用。
也可直接点击“开始”旁边的按钮,进入服务器管理器。

将javaweb项目部署到阿里云服务器  将javaweb项目部署到阿里云服务器
(4) Tomcat配置外网ip
进入Tomcat安装目录->conf->server.xml->找到Host根结点->将name="localhost"改为name="外网ip"->重启Tomcat

将javaweb项目部署到阿里云服务器

网上查到重启Tomcat方法都很复杂,要很多命令行。我就很简单霸道了,先stop,再start。即先关闭Tomcat,再打开tomcat。
浏览器输入:http://外网ip:8080,可以打开Tomcat界面,则证明成功。
这里我遇到了一个问题,解决了好久。
浏览器输入http://localhost:8080后可正常显示界面。但现在无法访问外网IP:http://外网ip:8080打不开。用命令行也打不开

将javaweb项目部署到阿里云服务器

尝试了关闭防火墙,设置8080的入栈规则,但都不能解决。
作为一枚小白,最后问了阿里客服,此处为阿里点赞。才知道原因是服务器上的8080端口未监听,解决方法:通过安全组放行8080端口
云服务器ECS->实例->管理->本实例安全组->配置规则->添加安全组规则。参考:https://help.aliyun.com/document_detail/25471.html

将javaweb项目部署到阿里云服务器
3. MySQL
(1) MySQL安装:http://jingyan.baidu.com/article/375c8e1983ee1a25f3a2297f.html
(2) 导入.sql文件
开始用的Navicat for Mysql导入.sql文件,在数据库名上右键->转储SQL文件。然后将SQL文件复制到共享盘D盘,再复制到服务器磁盘C盘。在服务器的MySQL中新建同名数据库,再将.sql文件拖到数据库中。
但是因为数据量大,只导入了一部分表,且导入的表数据也有丢失。网上查的资料说用命令行可以解决数据量大的问题。
a. path变量添加:D:\Program Files (x86)\MySQL Server 5.0\bin
b. 运行命令行。mysql命令行导入sql文件:http://www.cnblogs.com/xiaoxuetu/p/3204511.html

假设数据库名为mydb,用户名root,密码123。mydb.sql目录为c:/java/mydb.sql
cmd打开命令行窗口:

mysql -uroot -p123
use mydb;
source c://java//mydb.sql;

注意命令行后面有分号。

但用mysql命令行导入sql文件,虽然表全了,还是很多中文数据丢失,部分中文乱码。报错:ERROR 1366 <HY000>:Incorrect string value。解决了半天也没解决成功,最后用最笨的方法重写添加了一遍数据。
四、将项目的war文件放到Tomcat下
1. 在项目上右键->export->war file->选择war文件的保存路径->finish
2. 将.war文件复制到服务器下tomcat目录的webapps上。启动Tomcat,在浏览器输入:http://外网ip:8080/项目目录。即可由外网访问网站。

将javaweb项目部署到阿里云服务器
五、域名
此时,访问的网站还需要用ip地址,如果想像百度一样wwww.baidu.com,就还需要再买域名。

参考:
https://blog.csdn.net/change_on/article/details/49205901
https://blog.csdn.net/zhaoyanga14/article/details/52876838
https://blog.csdn.net/qq_30865575/article/details/78273291