公司架构:公司架构有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部署静态网站的更多相关文章

  1. Docker 案例: 在容器中部署静态网站

    ----------------知识点------------ 容器的端口映射: docker  run  [-P] [-p] -P,–publish-all=true | false,大写的P表示为 ...

  2. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站(一)--技术流ken

    前言 在之前已经写了关于Git,Gitlab以及Ansible的两篇博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>,<Git+Gitlab+A ...

  3. 使用Nginx部署静态网站

    这篇文章将介绍如何利用Nginx部署静态网站. 之前写过2篇有关Nginx的文章,一篇是<利用nginx,腾讯云免费证书制作https>,另外一篇是<linux安装nginx> ...

  4. Docker 在容器中部署静态网站

    Docker 在容器中部署静态网站 在容器中部署静态网站 设置容器的端口映射 run -P``--publish-all=true|false:容器暴露的所有端口进行映射 -p``--publish= ...

  5. Linux下Apache服务部署静态网站------网站服务程序

    文章链接(我的CSDN博客): Linux下Apache服务部署静态网站------网站服务程序

  6. 【笔记】nginx部署静态网站

    安装nginx 本地到官网下载,然后把压缩包传到服务器上 安装三个依赖 apt-get install libpcre3 libpcre3-dev apt-get install zlib1g-dev ...

  7. 使用Apache服务部署静态网站2019-7-5

    使用Apache服务部署静态网站 第1步:把镜像挂载到系统中 第2步:使用vim文件编辑器创建YUM仓库的配置文件 [root@study ~]# vim /etc/yum.repos.d/abc.r ...

  8. 《Linux就该这么学》培训笔记_ch10_使用Apache服务部署静态网站

    <Linux就该这么学>培训笔记_ch10_使用Apache服务部署静态网站 文章最后会post上书本的笔记照片. 文章主要内容: 网站服务程序 配置服务文件参数 SELinux安全子系统 ...

  9. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站(一)

    在之前已经写了关于Git,Gitlab以及Ansible的两篇博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>,<Git+Gitlab+Ansi ...

随机推荐

  1. javascript删除字符串最后一个字符

    搜到很多无用的答案,这对新手来讲是很耗费时间的事情,我把正确的方法贴出来,以便有的新手不再踩这个坑. JavaScript slice() 方法 定义和用法 slice() 方法可提取字符串的某个部分 ...

  2. imx6 qt 24bpp RGB

    imx6运行qt,在24bit的LVDS接口屏上显示时,显示效果与实际的不同.蓝色变成了黄色. 本来应该显示成蓝色: 实际上去显示成了黄色: 而其他绿色的图标并没有改变,只是蓝色和黄色互换了. 猜想应 ...

  3. netsnmp编译动态库

    .编译动态库 将写完的snmp代理程序编译生成动态库 gcc -c -fpic telnetConfig.c -o telnetConfig.o -I/usr/local/net-snmp/inclu ...

  4. erlang 自定义函数的初步应用

    一.模块内调用 1> AA=fun(BB)-> io:format("this is test args ~s~n",[BB]) end.#Fun<erl_eva ...

  5. 一个不错的在线的js调试器

    一个不错的在线的js调试器,可见即可得: http://jsbin.com/

  6. 【Java面试题】28 简述synchronized和java.util.concurrent.locks.Lock的异同 ?

    主要相同点:Lock能完成synchronized所实现的所有功能 主要不同点:Lock有比synchronized更精确的线程语义和更好的性能.synchronized会自动释放锁,而Lock一定要 ...

  7. shell脚本中特定符合变量的含义

    shell脚本中特定符合变量的含义: $#   传递到脚本的参数个数 $*    以一个单字符串显示所有向脚本传递的参数.与位置变量不同,此选项参数可超过9个 $$    脚本运行的当前进程PID号 ...

  8. oracle之trunc(sysdate)

    --截取后得到的仍为date数据类型 select trunc(sysdate) from dual;--2017-03-13 00:00:00select trunc(sysdate+1) from ...

  9. leetCode 33.Search in Rotated Sorted Array(排序旋转数组的查找) 解题思路和方法

    Search in Rotated Sorted Array Suppose a sorted array is rotated at some pivot unknown to you before ...

  10. Java精选笔记_集合【Set(集合)接口】

    Set(集合)接口 简介 同样继承自Collection接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行功能上的扩充,只是比Collection接口更加严格了. ...