当产品部署出现问题时

产品的部署会有两种情况,一是升级版本,二是直接使用某个版本,但不管是哪种情况,部署完的时候某些功能可能会有问题。

这个时候我们需要依序检查环境和程序。

1.检查数据库

很多的时候,程序本身并没有问题,是数据库导致的错误,一般就是两种问题。

(1)数据库结构

数据库结构有问题,缺少表或字段。

如果是升级版本,那要看是否增量脚本缺少sql语句或某些sql语句没有执行。如果是直接使用某个版本,那也要看全量脚本是否缺失sql语句。

PS:缺少字段或者表可以从运行日志看,看日志是非常重要的。

(2)数据库数据

当然,有的时候数据也会导致程序出错。

说几种例子,必须存在的数据没有设置(有些操作依据这些数据);冗余的数据没有删除;数据错误(一般是在升级时候,数据迁移出错);其实总结起来就是,数据少了、多了、错了。

PS:数据问题一般从运行日志中间接知道问题所在

2.检查服务器

以Tomcat为例,把产品部署在Tomcat里。

(1)使用稳定的Tomcat版本

有时,程序在一些不稳定Tomcat版本(稳不稳定见仁见智)可能会出现问题。

(2)配置Tomcat

确定使用稳定的Tomcat,那就需要对其进行配置。例如,配置内存设置、server.xml等

例:客户端发请GET请求,如果这个请求地址上有中文,而且也没有进行encode的时候,后端就可能接收到乱码。这个就是需要配置tomcat

3.检查程序

前两步都检查过了,那接下来就检查程序的问题。

检查程序问题的手段最直接的也就是看日志,日志在查错是非常关键的。找到错误出现的位置,根据错误再查看程序代码,差不多也就能找到问题(有些问题很刁钻,例如使用了负载均衡,一台机上有问题,另一台机却没问题)。

PS:前几步都有讲到使用运行日志,所以这里不得不说的是,程序日志必须写好,特别是复杂的功能,不写好日志简直是在找死,到时出错就是一头雾水。

当产品部署出现问题时,布布扣,bubuko.com

时间: 2024-10-25 09:59:41

当产品部署出现问题时的相关文章

我们在部署 HTTPS 网站时,该如何选择SSL证书?

我们在部署 HTTPS 网站时,该如何选择SSL证书? 首次部署HTTPS网站的同学对选择什么样的SSL证书多多少少都有点迷茫. 这里考虑的因素确实不少:是否支持多域名.泛域名,价格,信息泄露的保额,国内的厂商还是国外的,哪家最值得信赖,甚至是证书在浏览器上显示的小图标样式等等. 我购买过多家证书厂商付费和免费的SSL证书,并部署到多个不同的网站上.我在这篇文章中总结下,希望对大家有所帮助. 选择SSL证书首先得解决第一个问题,选择什么类型的SSL证书? SSL证书类型的选择 通常来说,SSL证

apache部署django项目时出现错误

apache部署Django项目时出现错误 Permission denied: mod_wsgi (pid=2081): Unable to connect to WSGI daemon process 'autotester' on '/etc/httpd/logs/wsgi.2076.0.1.sock' after multiple attempts 可在apache配置文件或者wsgi.conf中添加 WSGISocketPrefix /var/run/

部署Tomcat服务时,解决Cannot invoke Tomcat Manager 异常

最近,在使用Jenkins对工程一键部署的时候,出现调用Tomcat Manager 异常,对其解决方案特记于次. 异常信息 可能存在的异常:(1)Cannot invoke Tomcat manager: Error writing to server :(2)Cannot invoke Tomcat manager: Connection refused: connect -> [Help 1]. 异常原因 经查询资料,安装Tomcat时,默认带着manager工程,其负责WAR包的部署等功

宝塔面板部署thinkphp项目时ngix和apach服务器pathinfo的设置

一 前言 宝塔面板无论是对于linux系统还是windows系统,都提供了一键式的部署方案,操作简单,不需要复杂的编程基本功,小白可以完成专业复杂的后端部署.  对于宝塔提供的thinkphp5框架而言,更是大大提高开发效率.今天,针对浏览器访问地址中经常用到的url的pathinfo设置,进行分析总结. 二 pathinfo的概念 pathinfo是thinkphp框架为了url的简化和直观,设定的一种url形式. 今天以最简单的控制品来说明. 举个例如子 http://tp5.com/ind

记一次nginx部署yii2项目时502 bad gatewary错误的排查

周六闲来无事,就试着安装和部署下yii2,安装过程没什么问题,但部署到nginx上时遇到了502 bad gatewary问题,折腾了半天才搞定.这个问题是我以前在部署yii2时没有遇到过的,因此记在这里以备忘. 1,安装和部署环境 操作系统:macOS,php版本:5.6,nginx版本:1.10.1,yii2版本:2.0. 2,yii2的安装 yii2的安装很简单,参考官网的手册即可.我这里安装的是yii2-app-advanced(Yii 2 Advanced Project Templa

Spring Boot在开发时实现热部署(开发时修改文件保存后自动重启应用)

热部署是什么 大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的Class文件,这个文件里记录着和代码等对应的各种信息,然后Class文件将被虚拟机的ClassLoader加载. 而热部署正是利用了这个特点,它监听到如果有Class文件改动了,就会创建一个新的ClaassLoader进行加载该文件,经过一系列的过程,最终将结果呈现在我们眼前. 类加载机制 Java中的类经过编译器可以把代码编译为存储字节码的C

使用Autofac部署IIS6.0时未能加载文件或程序集“System.Core, Version=2.0.5.0...“

错误信息 .net4.0项目中使用autofac这个IOC容器,在部署在win2003+iis6时出现以下错误. "/"应用程序中的服务器错误. --------------------------- 未能加载文件或程序集"System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes"或它的某一个依赖项.给定程序集名称或基本代码无效.

Eclipse部署Web项目时常见的错误和解决方案

Tomcat部署Web项目到tomcat 在eclipse中找到Servers项,打开服务器(F3)(建议直接删除服务器,重新建立再设置比较好)1.Servers Locations 中选择Use Tomcat installation 2.Deploy path 改成 webapps这时候在eclipse上直接运行项目,就会自动部署到tomcat上,通过浏览器或者eclipse都可以访问该项目. Tomcat控制台的用户角色配置 在Tomcat的Mapper App中,默认没有提供控制台角色.

Jenkins部署python项目时,提示找不到自己定义的模块包的问题

今天尝试在Jenkins上部署我们的自动化项目,用简单的登录用例来配置,然后我们项目(我自己随意写的)使用的是python+selenium, 在搭建好环境之后,构建的时候碰到了一个问题,就是一直提示找不到我自己定义的模块包,提示错误 ModuleNotFoundError: No module named 'common',截图如下: 但是我在pycharm中的IDE中运行又是正常的,不死心在cmd中运行了一下,发现跟Jenkins上面一样的问题,然后就百度了一下总算发现了问题的所在了 产生原