论一个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上线,部署到公网,让全世界的人都可以访问的问题.小编将作出系列化,完整的流程介绍. ...
随机推荐
- upc组队赛16 WTMGB【模拟】
WTMGB 题目链接 题目描述 YellowStar is very happy that the FZU Code Carnival is about to begin except that he ...
- 用select实现多客户端连接
server.c 把accept也看成是一个read类型的函数, 于是我们可以把sockfd也放入到select中 maxi标记当前客户端连接数组的最大下标 select返回值为当前已经准备就绪的fd ...
- selenuim,webdriver 基础3
代码要多敲 注释要清晰 哪怕很简单 对基础1和2 的补充 可以结合1和2来学习 from selenium import webdriver #生成浏览器对象 driver = webdriver.P ...
- Embedding和Word2Vec实战
在之前的文章中谈到了文本向量化的一些基本原理和概念,本文将介绍Word2Vec的代码实现 https://www.cnblogs.com/dogecheng/p/11470196.html#Word2 ...
- vue动态组件 互相之间传输数据 和指令的定义
地址:https://blog.csdn.net/zhanghuanhuan1/article/details/77882595 地址:https://www.cnblogs.com/xiaohuoc ...
- mysql limit 数据重复及遗漏
某天写了一段CRUD,提测给QA,后来想起来忘记按规则排序了,然后修改了代码提交,这个时候QA扔给我一条狗,不,是一个BUG. 内心一片忧伤,CRUD也有BUG啊,怎么办怎么办,赶紧看看去. BUG描 ...
- 禁用ubuntu启用虚拟内存swap
一.不重启电脑,禁用启用swap,立刻生效 # 禁用命令 sudo swapoff -a # 启用命令 sudo swapon -a # 查看交换分区的状态 sudo free -m 二.重新启动电脑 ...
- html+jquery+php实现文件上传全过程
本例子采用html+jquery+php实现上传功能 html部分 <!DOCTYPE html> <html> <head> <meta charset=& ...
- An Easy Introduction to CUDA C and C++
An Easy Introduction to CUDA C and C++ This post is the first in a series on CUDA C and C++, which i ...
- spring Data solr依赖文件 和xml配置文件
<dependencies> <dependency> <groupId>org.springframework.data< ...