小型网站项目完整部署流程(Windows操作系统)
背景
在工作中遇到基于Java开发的网站项目,第三方公司提供打包好的.war文件包,提供的是基于Linux操作系统的部署文档。但是手头只有一台阿里云Windows服务器,因此对比之进行一步步部署,接下来的就是一路靠自己。通过安装多个依赖的中间件软件,调整后台程序配置文件中的多个参数完成了整个后台程序的成功部署。
多个依赖的中间件
排名不分安装顺序先后,但是最好按照所示步骤安装,每个中间件安装好后立即进行测试,成功后进行下一个中间件的安装。期间遇到的服务端口都保持缺省即可。
- JDK
1.8(运行平台) - RabbitMq 采用最新版本即可(要先安装
OTP)(订阅消息) - MySQL
5.7(持久存储) - Tomcat
8.5(网站服务器容器) - Redis 采用最新版本即可(中间缓存)
环境搭建流程
1. Java环境安装及配置
在Oracle官网下载安装JDK1.8,参照这篇博客windows系统下安装JDK8进行Java配置相关环境。
2. Tomcat安装及配置
在Tomcat官网下载安装Tomcat8.5,接着对其进行安全加固,其余不需要修改。
- 删除文档和示例程序
【操作目的】删除示例文档
【加固方法】删除webapps/docs、examples、manager、ROOT、host-manager - 禁止列目录
【操作目的】防止直接访问目录时由于找不到默认页面而列出目录下的文件
【加固方法】打开web.xml,将listings 改成false
3. MySQL安装及配置
在Oracle官网下载MySQL5.7安装包,选择只安装Server模块部分即可,安装好后,配置环境变量,接着输入以下命令进行验证是否能够登录成功
mysql -u root -p
最后导入预写的sql文件进行建库和建表,常用的数据库操作命令参照这篇博客Mysql常用命令行大全。
4. Redis安装及配置
具体按照步骤参见这篇博客windows下Redis的安装和使用,添加新的用户名和密码,用于网站配置文件的参数设置。
5. RabbitMq安装及配置
在安装RabbitMq之前,要先安装OTP(Open Telecom Platform),接着安装Rabbit Server,RabbitMq的学习可以参考这篇博客。
项目部署具体步骤
1. 将war包改为zip包打开
将war包的后缀改为.zip再用压缩程序打开
2. 找到 \WEB-INF\classes,修改程序配置文件中的相关参数
如图所示

3. 将war包放入 tomcat程序的webapps文件夹下
4. 进入tomcat bin目录下,双击startup.bat程序启用tomcat完成整个项目的部署
智能推荐
Windows系统部署Serva PXE网络引导安装操作系统
背景知识 一、软件介绍 首先介绍需要用到的软件: Serva The Best PXE Server for MS Windows Automated PXE Server Solution Accelerator based on an all-in-one portable multi-server engine. 官网地址 下载地址 版本介绍: Serva分为&quo...
项目部署的完整流程
作为一个合格的程序猿,仅仅会打代码还是远远不够的,项目的部署也是我们必须要会的操作,也就是所谓的上线,将我们本地开发好的项目部署到远程服务器上,使得任何机器都可以通过我们远程服务器的公网ip或者域名加上端口号访问到我们的项目。这篇博客详细的列出每个步骤,并且也列举了在部署过程中常见的问题,看完这篇文章,你一定会有所收获! 首先,我先给大家捋一下项目部署的流程: 环境搭建: 我们以当下最流行的spr...
Python+Selenium+Autolt选择本地文件上传至网站
如果网站有上传文件的功能,selenium不提供对本地元素的定位,如何使用python选择本地文件进行上传呢 可以使用Autolt工具上传文件: 1、下载网址:https://www.autoitscript.com/site/autoit/downloads/ 2、点击“Downlad ZIP”下载 3、解压缩下载的ZIP文件 4、打开脚本编辑器文件夹,有一个SciTE....
数据结构系列之一-线性表
数据结构系列--线性表 慧子和她的3D 慧子和她的3D 暑期工作搞不下去,不如趁着现在整块时间搞编程。学习资料书《大话数据结构》,前面两章的铺垫感性知识,看看过,从第三章开始正餐。 01 — 线性表 线性表:零个或多个数据元素的有限序列。用数学语言表达: ...
Linux系统的远程操作练习
目录 一、将虚拟机Ubuntu系统的网络连接设置为“桥接模式”,并配置Ubuntu的IP、网关参数 二、在win10系统下用putty登录ubuntu系统 三、VNC server VNC viewer 思考 一、将虚拟机Ubuntu系统的网络连接设置为“桥接模式”,并配置Ubuntu的IP、网关参数 1.打开虚拟机,进入设置 点击网络适配器,选择桥...
猜你喜欢
ORACLE----TimeStamp(时间戳)自动更新
之前对id的自增长进行了设置,原以为时间戳的更新也类似,使用序列之类的,但最终发现跟序列没半毛钱关系。触发器是肯定要用的,但编写脚本也是需要的。 (1)创建触发器 图2中,我们要选择事件(即例子中的INSERT,UPDATE),触发时间(即INSERT,UPDATE事件的前或后,例子中是before),列(例子中为MODIFIED_DATE,为TimeStamp类型),新旧值(为系统默认值OLD和...
LeetCode(剑指offer-tree)-面试题26. 树的子结构
输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如: 树的遍历方式为:前序遍历 给定的树 A: 给定的树 B: 返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。 示例 1: 示例 2: 限制: 题源链接:https://leetcode-cn.com/problems/shu-de-z...
大数据笔记14:Zebra项目分析与实施
第14天——Zebra项目分析与实施 第一部分 Zebra项目概述 一、Zebra项目介绍 二、日志数据结构分析 三、数据以| 分割后,每个数据项的含义 四、Zebra项目整体架构 (一)技术架构 (二)工程架构 五、Zebra业务说明 六、Zebra项目设计思想 第二部分 Zebra项目实施过程 一、创建Maven项目ZebraProject 二、zebra_jobtra...
solr
概述 Solr是基于Lucene(Solr版本基本也是随着Lucene走)开发的一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引,也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果.(网上有个solr教...
