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 ...
随机推荐
- android 编译 app
有些编写的app需要放到android的源码中进行编译.放置的路径packages/apps/ 编译方法,参考 http://blog.csdn.net/luoshengyang/article/de ...
- Google Analytics10条有用教程(转)
几乎每个网站都会统计自身的浏览状况:日IP.PV.跳出率.转换率.浏览者属性等等.了解这些数据有助于更好地了解浏览者的属性.知道网站在什么地方存在缺陷,为更好地提供服务.提高网站收入都有所帮助. 对于 ...
- centos7命令总结
1,查看cpu信息 lscpu 2,网络配置 ip route 查看路由 nmcli nmcli connection show 显示所有连接 nmcli connection show ...
- 同一种类型的两个对象赋值,用反射。再也不用点属性了。。。。(适用于ef)
/// <summary> /// 给对象赋值的方法(不赋地址)(同一个类型),含过滤 /// </summary> /// <typeparam name=" ...
- 刚刚完成了在vs2013中通过 ef连接mysql数据库的工作。感觉没有想象中的简单。试了n次终于成功。故记录成功的方法,希望可以帮到大家
分两种情况,如果你是用entity framework 5.0的时候 mysql-connector-net的版本不是很重要. MySQL For VisualStudio的版本也不重要 (这个不装就 ...
- SVN中Revert changes from this revision 跟Revert to this revision
譬如有个文件,有十个版本,假定版本号是1,2,3,4,5,6,7,8,9,10. Revert to this revision: 如果是在版本6这里点击“Revert to this revisio ...
- retinex相关代码汇总
混合方法 SSR.m matlab代码,本来是RGB,改成了处理灰度图像的. %%%%%%%%%%%%%%%RGB normalisation%%%%%%%%%%%%%%%%%%%%%% %its c ...
- 扩展方法和Lambda之练习手记
扩展方法是我们日常开发当中所经常简化代码,提高性能和代码可读性的一个重要开发手段. 扩展方法是一个只能在静态类中声明的静态方法 Lambda 是一个表达式 ,学会了 可以使代码简洁,也是装13的利器. ...
- APP的缓存文件放在哪里?
只要是需要进行联网获取数据的APP,都会在本地产生缓存文件.那么,这些缓存文件到底放在什地方合适呢?系统有没有给我们提供建议的缓存位置呢?不同的缓存位置有什么不同呢? 考虑到卸载APP必须删除缓存 在 ...
- source insight 如何建工程--以及快捷方式查找调用函数方法
在source insight的view菜单中点出relation window,然后右键点relation window,选relation window properties,然后把view re ...