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 ...
随机推荐
- php 删除目录
<?php /* 自定义的删除函数,可以删除文件和递归删除文件夹 */ function my_del($path)//自定义my_del函数,函数有一个参数($path).当调用my_del( ...
- python读写word文档
读: from docx import Document dir_docx = 'F:\Eclipse\workspace\Spider\cnblogs_doc\mytest - 副本.docx' d ...
- e679. 浮雕化图像
This example demonstrates a 3x3 kernel that embosses an image. Kernel kernel = new Kernel(3, 3, new ...
- Unity3D深入浅出 -创造 物理材质(Physics Materials)
在Unity3d中已经配置好了5种常用的物理材质,Bouncy.Ice.Metal.Rubber.Wood,在菜单中依次选择Assets - Import Package - Physics Mate ...
- MongoDB基础入门视频教程
MongoDB基础入门视频教程http://www.icoolxue.com/album/show/98
- oracle查询一个用户下的所有表
select table_name from all_tables where owner_name=upper('scott'); 用户名一定要大写//
- MathType使用中的四个小技巧
MathType是一种比较常见的数学公式编辑器,常常与office搭配着使用,我们在使用的时候有一些要注意的小技巧,下面我们就来给大家介绍介绍MathType使用中的四个小技巧? 技巧一:调整工具栏显 ...
- Java 实现选择排序
选择排序: 原理:依次从数组最左边取一个元素,与之后的位置上的元素比較,假设大于/小于(取决于须要升序排还是降序排).则保存较大/较小元素的索引 当一轮比較后,将保存的较大/较小元素的索引与 这轮開始 ...
- mybatis由浅入深day01_8输出映射_8.1resultType输出类型(8.1.1输出简单类型_8.1.2输出pojo对象和pojo列表_8.1.3输出hashmap)
8 输出映射 8.1 resultType(输出类型) 使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功. 如果查询出来的列名和pojo中的属性名全 ...
- day17<集合框架+>
集合框架(HashSet存储字符串并遍历) 集合框架(HashSet存储自定义对象保证元素唯一性) 集合框架(HashSet存储自定义对象保证元素唯一性图解及代码优化) 集合框架(HashSet如何保 ...