标签归档:PHP

docker配置lamp环境笔记

基本概念

容器container本质是一个运行在主机上的进程

  • 查看运行的容器docker ps 默认只看运行中的
  • 查看所有的容器docker ps -a
  • 删除容器 docker rm 容器id[或容器名]
  • 停止一个容器 docker stop 容器id

镜像image是容器的静态概念(可以看做容器的“安装包”)

  • 查看安装的镜像docker images
  • 删除镜像docker rmi 镜像名

仓库是存放镜像的地方,跟git一样的

docker配置lamp环境笔记

镜像是打包好的运行环境,比如centos,做好这个镜像后上传到镜像库,别人就可以直接pull下来运行使用了。

安装过程记录

  1. 拉取镜像 docker pull centos
  2. 运行容器 docker run -it -p 8080:80 centos /bin/bash 该命令总是会创建一个新容器,如果要启动已经存在的容器,用docker start 容器id
  3. -i 交互模式
  4. -t 分配一个伪终端
  5. -p 主机端口:容器内的端口
  6. centos镜像名,公共受信任的镜像可以直接用镜像名,个人镜像一般是镜像库用户名/镜像名,镜像库和git库类似,如果要拉取进行的某个版本标签,可以镜像名:[Tag名]
  7. /bin/bash启动镜像后执行的命令,这里也就是启动后打开终端,然后可以使用centos的yum安装需要的包,systemctl start 启动需要的服务
  8. 但在systemctl start时报错:Failed to get D-Bus connection: Operation not permitted
  9. 这是因为D-Bus没有启动,启动选项加上 –privileged -d,并把命令从/bin/bash 修改为init
  10. init就是/usr/sbin/init, 里面会自动启动D-Bus
  11. –privileged 赋予容器更多的权限,以便正常启动D-Bus
  12. -d是进入后台运行,init并不是控制终端,执行完成后它会一直停在那个地方,无法进行命令交互,所以-d让他脱离命令行,进入后台运行
  13. 然后docker exec -it [容器id] /bin/bash 进入容器的终端,接着就可以进行使用centos的各项命令了
  14. 需要安装的内容
  15. PHP
  16. Apache
  17. MySQL
  18. openssh-server 方便通过ssh登录容器,主要是方便用sftp scp这些上传下载代码
  19. 目录共享,我们可以把docker容器中apache的工作目录挂载到主机上(运行docker的机器)的目录
  20. 增加ssh端口映射,如果run后发现需要增加端口, 比如增加ssh端口,可以这么做
  21. docker commit [容器id] [起一个名字],先把当前的容器另存为一个镜像
  22. 然后在用run启动这个镜像,并带上你添加的端口 docker run -it -p 2222:22 -p 8080:80 –privileged -d [commit时的镜像名字] init
  23. 但这里要注意,之前的端口映射也要加上 , 这里的做法只是在之前的容器上继续启动,之前镜像中安装的内容也还在,但run命令的参数和之前是一样的,增加内容而已
  24. vim /etc/ssh/sshd_config
  25. 添加PermitRootLogin yes
  26. 记得docker exec -it [容器id] /bin/bash后设置一个root密码
  27. 在上面主机和容器目录共享,在run时加上参数 -v [主机的目录]:[容器中的目录],比如 -v /workspace/ydeditor:/var/www/html

校车GPS定位查询系统交付

包含学员端(公众号进入),司机端(公众号进入),后端管理,每个校车安装一台gps设备,实时上报所在的位置,和行驶速度,系统可以分享驾驶员的驾驶行为习惯(超速,平均速度,急起步,急刹车,急转弯等);学员也可以实时查询校车的位置,和查询到最近上车站点的位置和路径

  1. 能管理校车的行驶路线图
  2. 能通过公众号随时查询校车的当前位置和路线图,距离我有多远,公交车驾驶路线的实时路况
  3. 学员能通过公众号查询自己当前位置最近的上车点
  4. 需要开发一个后端管理车辆信息;微信端对接公众号,用户查询车辆位置;GPS设备对接,让GPS定位数据能进入我们系统并被查询到
  5. 后台能对每次校车的行驶速度、每个驾驶员的历史平均车速,最好车速进行统计;随时查询校车的位置;查看监控画面

天网摄像头维保系统交付

对天网摄像头进行程序自动检测,识别出有问题(掉线、被遮挡、位置改变、花屏等)的摄像头并产生维修工单,推送给区域或摄像头上门去处理。

系统中涉及的用户有

  1. 内部用户:指客户自己的员工
  2. 甲方:只系统的总集成商
  3. 业主:指天网系统的所有者
  4. 维修人员:只负责现场摄像头维修的用户

需求的提出

由于天网摄像头很多,多达上万个,客户的工作就是要保证这些摄像头在出现问题后能够尽可能快的处理掉,但是这些摄像头是在公安局的内网环境中的,一般人员是无法访问的,所以现在的工作模式是等公安局的人通过内网发现摄像头坏了才会通知客户去处理,那么这样造成的结果就是客户非常被动,服务质量也不高;并且公安局的人也不会随时去了解摄像头的情况,都是工作需要才去看摄像头的监控,但发现是坏的,这个时候已经严重影响到公安局的工作了。

为了提高服务质量,客户提出需要有一套系统能主动的发现摄像头的问题,并及时的安排微信人员去处理。天网摄像头都是网络摄像头,出现的问题主要有一下几种

  1. 掉线
  2. 网络延迟
  3. 屏幕花
  4. 被遮挡
  5. 断电

摄像头的故障其实就可以归纳为两大类:一)网络问题 二)监控图像问题;系统采用主动ping网络和人工检测图像的方式来发现问题;一旦发现问题就会立即创建工单给摄像头的维修负责人;故障的处理流程如下

谁负责维修设备

摄像头的放置位置称为网点,每个网点指派一名负责人,那么这个网点的摄像头有问题后就直接通知负责人去处理

怎么通知负责人

由于维修人员并不一定是坐班制,随时在外面跑的,所以系统和微信公众号进行对接,要求维修人员都必须绑定微信,这样设备有问题后就可以直接通过微信公众号发送消息通知人员去处理

如果后台删除了维修人员,那么维修人员将不能使用系统,微信公众号上也不能看到数据(微信公众号仍然可以是关注状态)

广告公司OA系统 V0.3 交付

  • 批量分配设计师
  • 排查之前的改动--手机端的操作是否和PC端统一,特别是影响统计模块的操作(以前下发的项目,取消报价、项目  会影响到统计
  • 制作报价完成,在报价中输入的完成日期,添加日历并自动提醒,日历中点击该日历项可以查看项目进度状态
  • 项目设计完成后安排制作,在制作完成日期自动添加日历项并自动提醒,点击可以查看项目制作进度
  • PC-手机–开票信息录入和客户界面调整
  • 手机端–消息管理-日历
  • 手机端–任务详情调整
  • 手机端 一些细节跟踪调整
  • 手机端 工作台 消息调整
  • 手机端 工作台 任务调整
  • 任务模块批量设置任务状态和复位按钮(超级管理员才有权限)

广告公司OA系统 V0.2 (统计功能+企业微信)交付

  • 任务面板调整
  • 项目详情 项目详情中输入备注保存后点击详情应该将备注回显出来
  • 项目流程控制调整
  • 统计导出电子表格
  • 项目下发成功后,将不能取消报价
  • 项目下发后记录项目下发时间
  • 项目结束时加个提示框,提示用户项目结束后将对数据进行汇总,无法进行修改
  • 修改报价 付款状态 改为已收款时,禁止添加任务和修改任务数据
  • 设置中增加一个配置项目(该配置项可输入数字保存),用于计算设计师工作量
  • 项目取消项目reopen功能
  • 项目项目结束就不能在添加任务
  • 项目详情调整,新增项目要求栏,备注可编辑
  • 动态显示调整,根据部门做一个分类
  • 工作台、任务面板 的任务显示 调整以及周明星、月明星
  • 项目结束时,必须所有的设计任务完成了,才能操作结束,要不然提示用户,设计任务未完成,不能结束
  • 工作台,项目看板增加分页功能
  • 报价列表增加分页功能
  • 统计设计部门统计查看功能
  • 修改任务列表,让设计师主管可以查看下属设计师的任务
  • 统计客服统计查看功能
  • 新任务提醒
  • 任务到期提醒功能
  • 发送消息调整,移植ydoa的发送消息,同时支持邮件和企业微信消息