论一个PHP项目上线的注意点
一、后端问题
- 服务器配置要跟上流量
- 预估QPS时要给足未知流量的空间
- 后端数据库设计要根据项目大小来相对应,小型流量单表就可以,但是中大型要分库分表
- 在处理执行修改的操作时一定要多一层判断(判断是否已经被修改)
- 第三方文档问题一定要注意几个点,每个传入参数的意思,每个接口调用是否有限制,要看清楚每一个接口的调用限制
- 资源问题,本项目有一个上传图片,当时直接上传到服务器,并没有上传到OSS服务器,项目加载资源慢,用户一多导致服务内存满了
- 日志问题,因为没有关闭DEBUG导致一直在存日志,最后服务器内存满了,项目打不开
- Redis缓存问题,因为缓存里面的数据没有在数据库保存,导致当时想升级Redis都不敢升,一旦缓存数据丢失就会出问题
- 抽奖代码中,概率问题!
二、前端问题
- 上传红运值,没有判断就直接跳转到结果。导致用户图片可能没上传成功就到了,二次进入就会显示空白,别的用户
- 上传图片很大几率出现没有调用上传接口,
- 分享地址是直接window.localtion.href 获取的,这样会导致用户分享的参数也会带出去,从而导致用户从该地址进入,是进入分享人的结果页,因为参数是分享人的
- 个人认为生成海报这个地方有问题,上传红运值和头像的时候不应该就生成海报图,个人结果页的地方前端需要的参数,后端都返回了,但是前端这个地方是直接用的生成海报图片,根据层级关系覆盖的。
- 缓存很严重,注意更新版本号
论一个PHP项目上线的注意点的更多相关文章
- 前端工程模块化——以一个php项目为例
实现一个页面功能总是需要 JavaScript.CSS 和 Template 三种语言相互组织,所以我们真正需要的是一种可以将 JavaScript.CSS 和 Template 同时都考虑进去的模块 ...
- iOS项目在非测试设备上的安装方法(项目上线前)
转载自:http://blog.csdn.net/ai379558502/article/details/49003383 方法一: 这个办法,其实是国外一个创业项目 TestFlight,面向移动应 ...
- Linux 项目上线管理 MAVEN + expect 一台机器管理所有机器的应用程序
一.目的 在一台服务器上面管理所有机器的应用程序. 设想是通过一条命令能够知道所有应用程序是否running 如果not running 查看具体项目的log 跟踪具体原因,程序问题汇报相关负责人 二 ...
- django项目上线环境部署
django项目上线环境部署 第一步 安装python虚拟环境 1 安装虚拟环境virtualenv 2 安装virtualenvwrapper工具 3 确认virtualenvwrapper.sh脚 ...
- 项目上线后出现Bug,该如何处理?
项目在上线之后又出现了Bug,这让很多测试人员和开发人员头痛.但很多时候线上Bug普遍地存在,不可避免. 任何项目都存在未发现 Bug 和 已发现 Bug 两种情况,不存在没有 Bug的情况. 即 ...
- 发布一个Django项目
一.部署环境准备,准备python3和虚拟环境解释器,virtualenvwrapper 1.修改python3的环境变量 PATH=/opt/python36/bin:/usr/local/sbin ...
- 9.第一个vue-cli项目
1.什么是vue-cli vue-cli 官方提供的一个脚手架,用于快速生成一个 vue 的项目模板; 预先定义好的目录结构及基础代码,就好比咱们在创建 Maven 项目时可以选择创建一个骨架项目,这 ...
- Yum项目上线实战 (网站运维)-Linux从入门到精通第十一天(非原创)
文章大纲 一.编译安装与卸载Nginx二.关于LAMP三.LAMP环境部署四.学习资料下载五.参考文章 一.编译安装与卸载Nginx Nginx:是一款比较流行的web服务器软件,类似于Apach ...
- java项目上线的流程(将web项目部署到公网)
本博文来源于网络,原文的地址在本篇博文最下方. 如何将java web项目上线/部署到公网 关于如何将Java Web上线,部署到公网,让全世界的人都可以访问的问题.小编将作出系列化,完整的流程介绍. ...
随机推荐
- C++ 关于const引用的测试
C++ 关于const引用的测试 今天学习了<C++ primer>第五版中的const相关内容,书中关于const的部分内容如下: 由书中内容(P55~P56)可知,const引用有如下 ...
- selenium快捷键操作
常用的键盘操作 send_keys(Keys.BACK_SPACE) 删除键(BackSpace) send_keys(Keys.SPACE) 空格键(Space) send_keys(Keys.TA ...
- 转 用SQL语句,删除掉重复项只保留一条
用SQL语句,删除掉重复项只保留一条 用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢1.查找表中多余的重复记录,重复记录是根据单个字段(p ...
- mybatis小技巧
本节主要讲解mybatis如下五个方面的内容: foreach 批量插入 模糊查询like的写法 #{}和${}的区别 解决实体类中的属性名和表中的字段名不一致问题 由于每次建立工程比较复杂,可以参考 ...
- centos 7.2 离线安装 gcc
1.查看有没有挂载 centos 7.2 的镜像源文件 2.如果没有就通过服务端挂载 如果不知怎么挂载,就解压CentOS-7-x86_64-DVD-1511.iso 镜像文件,在Packages找到 ...
- HTML 使用CSS 如何去掉文本聚焦框 HTML 使用CSS 如何去掉文本聚焦框 : outline 值设为none 修改input、textarea输入框placeholder样式
HTML 使用CSS 如何去掉文本聚焦框 : outline 值设为none 修改input.textarea输入框placeholder样式 兼容性代码: input::-webkit-input ...
- jQuery封装轮播图插件
// 布局要求,必须有一个容器,图片和两个按钮,布局方式自定,小圆点样式固定 // <div class="all"> // <img src="img ...
- LeetCode Array Easy 268. Missing Number
Description Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one th ...
- elasticsearch 嵌套对象使用Multi Match Query、query_string全文检索设置
参考: https://www.elastic.co/guide/en/elasticsearch/reference/1.7/mapping-nested-type.html https://sta ...
- python 读取文件时,精确的保留数据
import numpy as npimport pandas as pd point = pd.read_csv('waypoint21.csv') with pd.option_context(' ...