将javaweb项目部署到阿里云服务器
主要步骤:
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位,如图。
时间买的两个月的,后来因为买域名要求服务器至少三个月使用时间,又续费了一个月,发现续费也是学生价格9.9/月。
二、远程连接
1.设置密码
登录阿里云官网->控制台->云服务器ECS->实例->更多->重置密码->重启实例。这里重置的密码要记住,因为这是本地电脑远程操控服务器的密码。
在重置密码下面还有一个修改远程连接密码,但这个是6位的,这个密码还没搞懂哪里用到。如图。
至此完成了服务器参数的配置。
2. 远程连接服务器:
(1) win+r->输入mstsc回车->点击左下角的“显示选项”
(2) 在计算机栏中输入:公网IP,(购买的云服务器的公网IP,公网ip即为外网访问的ip地址)->在用户名栏中输入:Administrator
(3) 点击“本地资源”->详细信息->选择要共享的本地磁盘,我选的是D盘,在共享磁盘里放进去jdk(32位)、Tomcat、MySQL。
因为我们需要在远程主机上从本地拷贝相关文件,因此需要将本地某个盘共享到远程服务器中,这样服务器就可以访问共享的D盘的数据。
(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,验证是否安装成功
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。
打开浏览器,输入http://localhost:8080
这里IE一直报安全提示。取消服务器系统中的IE增强的安全配置功能:https://jingyan.baidu.com/article/e2284b2b3b6785e2e7118d74.html
开始->控制面板->程序->程序和功能->打开或关闭windows功能,进入服务器管理器->安全信息->配置IP ESC->两个都选禁用。
也可直接点击“开始”旁边的按钮,进入服务器管理器。
(4) Tomcat配置外网ip
进入Tomcat安装目录->conf->server.xml->找到Host根结点->将name="localhost"改为name="外网ip"->重启Tomcat
网上查到重启Tomcat方法都很复杂,要很多命令行。我就很简单霸道了,先stop,再start。即先关闭Tomcat,再打开tomcat。
浏览器输入:http://外网ip:8080,可以打开Tomcat界面,则证明成功。
这里我遇到了一个问题,解决了好久。
浏览器输入http://localhost:8080后可正常显示界面。但现在无法访问外网IP:http://外网ip:8080打不开。用命令行也打不开
尝试了关闭防火墙,设置8080的入栈规则,但都不能解决。
作为一枚小白,最后问了阿里客服,此处为阿里点赞。才知道原因是服务器上的8080端口未监听,解决方法:通过安全组放行8080端口
云服务器ECS->实例->管理->本实例安全组->配置规则->添加安全组规则。参考:https://help.aliyun.com/document_detail/25471.html
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文件,虽然表全了,还是很多中文数据丢失,部分中文乱码。解决方法参考这里
四、将项目的war文件放到Tomcat下
1. 在项目上右键->export->war file->选择war文件的保存路径->finish
2. 将.war文件复制到服务器下tomcat目录的webapps上。启动Tomcat,在浏览器输入:http://外网ip:8080/项目目录。即可由外网访问网站。
五、域名
此时,访问的网站还需要用ip地址,如果想像百度一样wwww.baidu.com,就还需要再买域名。
1. 买域名
阿里云->全部导航->产品->域名与网站->域名与网站->查询想要注册的域名有没有被注册->购买域名
在购买域名时,要先把信息模板的信息填完整,然后付款。之后进行实名认证。
实名认证时一直上传图片不成功,开始的报错是只支持jpg、bmp格式的图片,但格式已经是jpg的。后来又从控制台重新进入实名认证界面,上传图片的报错信息为:图片实际类型为:png,只允许上传类型为jpg,bmp。
因为截图时默认保存的是png格式,手动改的jpg格式。改为:在截图时,直接将图片保存为jpg格式,上传成功。
网上也有说用IE或阿里云APP的,可以试试。
2. 域名备案(剩余时间 3 个月及以上的实例才能申请备案服务号)
步骤阿里云的官网介绍的很清楚,按官网一步一步走就可以了。我是4月19日备案,5月7号通过备案审查。大概用了多半个月的时间。
3. 解析
参考阿里云的解析教程:https://help.aliyun.com/document_detail/44620.html?spm=a2c4g.11186623.2.8.FBRdtq
验证是否解析成功:
在服务器打开cmd,用ping连接域名,如图,说明解析成功。
然后配置Tomcat,就可以通过域名访问网站了,参考这里。
参考:
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