Tomcat部署静态网站
公司架构:公司架构有5套,主机都是阿里云的ecs,基本上都是SLB做前端负载均衡,后端Tomcat,后接RDS数据库。
业务需求:需要将公司现有网站指向一个二级域名,建立一个新的静态网站,将域名指向现在公司的主网站域名。。
部署思路:对于这个需求可以建立一个新的二级域名project,将公司现有的网站重新解析到project;然后建立一个新的静态网站,将其放到SLB后端做后端服务器,然后将公司原来的
域名解析到这个新网站上。
如下图:

其中最主要的是先建立一个静态网站,下面是收到开发发来的静态网站部分截图:

首先接到这个网站,我也是蒙的,我不确定是否能在Tomcat运行,于是双击了其中一个页面,确实能打开,接下来就说具体的操作步骤:
1.快照服务器
做任何有可能影响服务器数据的操作都要备份或者快照,于是我采用了最保险的快照方式,100G的硬盘做完差不多1个小时了,但是,我还是不放心,于是又手动备份了一份。
尽管这是个测试服务器,但是安全的思路都是一样的。
[root@iZ27fv4euZ /]# cp data data.bak -ap
[root@iZ25c7fv4euZ /]# ls
bin data dev home lib64 media opt root selinux sys usr
boot data.bak etc lib lost+found mnt proc sbin srv tmp var
2.测试网站
首先要测试下,原来的站点服务器是否能够正常访问,排除部署时服务器原本的问题
[root@iZ27fv4euZ ~]# netstat -lnupt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 127.0.0.1: 0.0.0.0:* LISTEN /java
tcp 0.0.0.0: 0.0.0.0:* LISTEN /sshd
tcp 127.0.0.1: 0.0.0.0:* LISTEN /java
tcp 0.0.0.0: 0.0.0.0:* LISTEN /java
tcp 0.0.0.0: 0.0.0.0:* LISTEN /java
udp 101.200.144.159: 0.0.0.0:* /ntpd
udp 10.170.244.221: 0.0.0.0:* /ntpd
udp 127.0.0.1: 0.0.0.0:* /ntpd
udp 0.0.0.0: 0.0.0.0:* /ntpd
[root@iZ27fv4euZ ~]#
端口查完后,要打开网页看看是否能正常访问。访问没有问题后,就可以停止Tomcat服务,进行下一步。
3.清空Tomcat站点目录
[root@iZ27fv4euZ /]# cd /drta/webapps/
[root@iZ25c7fv4euZ webapps]# ls
4.将window下能正常访问的站点目录下文件全部拖入Linux服务器的Tomcat站点目录webapps下。
在这一点,我犯个错误,刚开始拖入之前,我发现Tomcat的webapps下面有好几个文件夹,如js,css,images,这些正好在我这个静态网站中也有相应的js程序,css程序,图片等,于是我在Tomcat的站点目录webapps下手动创建了这三个文件夹,并将静态资源分类放入这三个文件夹中,但是准备工作结束后,启动Tomcat,发现返回的网页并不是我所部署的网站。
于是,重新回到自己的虚拟机上,重新部署,不分文件夹了,直接全部拖入,启动Tomcat服务,结果成了。
5.ip加端口访问静态网站。

至此,静态网站在Tomcat上就部署成功了,接下来就是配置域名的工作了。
6.配置域名

进入到阿里云域名控制台,添加一个临时的二级域名mao,解析到SLB负载均衡服务器上。这个负载均衡服务器下文会提到。
再添加一个二级域名project,将其解析到公司原本的官网所在的前段SLB上,然后暂停解析,等所有工作测试完毕后,再启用解析。
7.修改SLB后端服务器

公司现有5台SLB负载均衡,于是我选用了一台架构比较简单的,后端只有一台Tomcat服务器。

在负载均衡服务器的后端服务器上将已添加的服务器移除,这里的移除并不是释放服务器,只是暂时移除SLB后端的服务器池,需要时,随时可以添加回来,当然,我这里的移除是征求过开发小伙伴的同意,没有业务,没有测试的情况下。
移除原本服务器后,将我刚才部署的那个Tomcat静态服务器添加上,作为后端服务器。
8.域名访问

经过以上的操作,基本上我们的配置基本上完成,接下来的操作就是将二级域名www解析到这个新建立的静态服务器前端SLB上;将二级域名project解析到现在官网的SLB上即可。
后记:在这部署的时候,由于开发给我的没有主页文件,主页是一个about.html的网页,访问的时候域名后面还要加上about.html,于是我想是否可以把这个文件改个名字,改成默认的主页文件index.html(改之前先备份),改完后访问,果然不用加about.html就可以访问主页,但是访问那个about.html页面的时候,发现没有找到这个网页的错误。
于是我想到刚才还有一个备份,于是将备份改成了about.html。
再次测试时,发现网站正常运行。
Tomcat部署静态网站的更多相关文章
- Docker 案例: 在容器中部署静态网站
----------------知识点------------ 容器的端口映射: docker run [-P] [-p] -P,–publish-all=true | false,大写的P表示为 ...
- Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站(一)--技术流ken
前言 在之前已经写了关于Git,Gitlab以及Ansible的两篇博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>,<Git+Gitlab+A ...
- 使用Nginx部署静态网站
这篇文章将介绍如何利用Nginx部署静态网站. 之前写过2篇有关Nginx的文章,一篇是<利用nginx,腾讯云免费证书制作https>,另外一篇是<linux安装nginx> ...
- Docker 在容器中部署静态网站
Docker 在容器中部署静态网站 在容器中部署静态网站 设置容器的端口映射 run -P``--publish-all=true|false:容器暴露的所有端口进行映射 -p``--publish= ...
- Linux下Apache服务部署静态网站------网站服务程序
文章链接(我的CSDN博客): Linux下Apache服务部署静态网站------网站服务程序
- 【笔记】nginx部署静态网站
安装nginx 本地到官网下载,然后把压缩包传到服务器上 安装三个依赖 apt-get install libpcre3 libpcre3-dev apt-get install zlib1g-dev ...
- 使用Apache服务部署静态网站2019-7-5
使用Apache服务部署静态网站 第1步:把镜像挂载到系统中 第2步:使用vim文件编辑器创建YUM仓库的配置文件 [root@study ~]# vim /etc/yum.repos.d/abc.r ...
- 《Linux就该这么学》培训笔记_ch10_使用Apache服务部署静态网站
<Linux就该这么学>培训笔记_ch10_使用Apache服务部署静态网站 文章最后会post上书本的笔记照片. 文章主要内容: 网站服务程序 配置服务文件参数 SELinux安全子系统 ...
- Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站(一)
在之前已经写了关于Git,Gitlab以及Ansible的两篇博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>,<Git+Gitlab+Ansi ...
随机推荐
- jquery 中json数组的操作(转)
在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行,看网页的DOM对象中好像J ...
- 【Java面试题】60 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?
接口可以继承接口.抽象类可以实现(implements)接口,抽象类可以继承具体类.抽象类中可以有静态的main方法. 问: 抽象类是否可继承实体类 (concrete class) 答: 抽象类是 ...
- SharePoint 2013 一次性上传文件大小限制
默认是250MB,最大一次上传文件不超过2G The defaut size is 250MB and maximun upload size is 2047MB. It's can't greate ...
- 下次不用找了,all language code
语言 ID 语言 ID 决定网站中网页文本(例如“网站设置”页上的文本)使用的语言.创建网站时可用的语言取决于在服务器或服务器场中安装的语言模板包.基于 Windows SharePoint Serv ...
- MathType公式编辑器快捷键操作
快捷键操作是最常见的操作方式,MathType软件系统提供大量的快捷键操作供用户使用.使用MathType公式编辑器快捷键操作可节省大量的操作的时间,本教程将详解MathType快捷键操作. 放大或缩 ...
- VC++ :传统剪贴板的延迟提交技术
传统剪贴板存在的局限 传统剪贴板有一个局限性:剪贴板上的所有数据都要保存在内存上. 对于文本字符串和其它简单数据类型,可以快速有效地传递.但是,对于比较大的数据,清空剪贴板之前,数据都要占用较大的内存 ...
- linux中,查看某个命令是来自哪个RPM包或者是通过哪个RPM包安装的
需求描述: 今天在测试ssh命令到底是哪个RPM包,安装之后生成的,找了一些文档 在这里进行记录下,主要是rpm -qf命令的使用,查询文件在哪个包里. 操作过程: 1.通过whereis 定位ssh ...
- Java类的设计----多态性及其应用
多态性及其应用 多态性 多态—在Java中,子类的对象可以替代父类的对象使用一个变量只能有一种确定的数据类型一个引用类型变量可能指向(引用)多种不同类型的对象 Person p = new Stude ...
- swift开发之 -- ? 和 ! 的作用
记录下这个知识点: 一般我们在一下两种情况会遇到 ? 和 !的使用 1,声明变量时 var number:Int? var str:String? 2,在对变量进行操作时 number?.hasVal ...
- hadoop程序MapReduce之average
需求:求多门课程的平均值. 样板:math.txt zhangsan 90 lisi 88 wanghua 80 china.txt zhangsan 80lisi 90wanghua 88 输出:z ...