本文目录一览:
php项目如何部署在服务器上
一、阿里ECS服务器配置
1.因为线上已经有几个站点了.所以要配置ngnix多站点
2.阿里云ecs目录结构,ngxin 在/etc/nginx/目录下,配置的地方主要是nginx.config文件。或者在conf.d新建一个配置文件然后在include到nginx.config文件中
3.nginx.config新建站点信息
server {
listen 80;
server_name www.你的域名.com;
root 站点的相对路径;
index index.php index.html index.htm;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
#try_files $uri $uri/ /index.php;
root /opt/www/pcweb/ytyy_pc;
index index.php index.html index.htm; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; }} url重写(可以没有)
# redirect server error pages to the static page /40x.html
#
error_page 404 /404.html; 40错误页面配置
location = /40x.html {
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html; 50错误页面配置
location = /50x.html {
}
location ~ \.php$ {
root 站点相对路径;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
配置文件的基本内容如上;
配置完成后测试配置文件是否正确
这样配置就可以使用了
然后重启nginx服务器
这样nginx配置就结束了可以使用了。吧站点文件放到对应的目录下面。我直接git clone过去的。
二.thinkphp项目文件转移
本来以为上传完就结束了。上传上去碰到的第一个问题就是访问页面报错,页面被电信的114页面劫持了。。。麻蛋 看不到报错
万能百度大法
解决方法1.internet高级选项-隐私-站点 新加阻止站点
解决方法2:控制面板-网络和internet-本地连接-属性-ipv4 使用如下ip
终于搞定可以看到报错页面了。。。。。。麻蛋。再次开启万能百度大法
得到最终结论是文件目录权限引起的。thinkphp 的runtime目录没有写入权限。。thinkphp文件上传到阿里的好像都有这个问题。解决问题很简单
进入到项目文件目录
直接跟文件最高权限
chmod -R 777 [目录] //linux修改文件权限
PHP项目的标准部署方式是怎样的
PHP 的世界里有 Composer(),这个玩意儿你可以联想成 npm 之于 Node.js,gem 之于 Ruby。它有一个官方的包仓库 Packagist()。
一般的项目部署也有相关的工具,例如 phing(),可以认为是 Ant 之于 Java。
举
例来说,现在做的项目用的是 Github+Jenkins 的方案,每个开发人员从主仓库 fork 到自己账户,然后提交 Pull
Request。Pull Request 会触发 Jenkins 的 Pull Testing,将改动部署到 QA
环境中,然后该怎么测试就怎么测试吧。部署脚本的工作主要包括清理原先的项目文件和数据库,取回代码库中最新的版本,跑 phing(包括数据库的
Migration、运行 PHPUnit, PHP CodeSniffer等一系列QA工具)等。最终部署到生产环境的过程是类似的。
PHP 项目部署,有什么好用的工具,方案
需求是研发团队工作的起点,很多研发团队的开发过程混乱的源头都在于需求管理没有做好。这里是本人收集整理的几个需求管理系统,希望对大家有点帮助。
Rational RequisitePro
Rational RequisitePro是一个强大、易用、集成的需求管理产品。而通过与Rational系列软件产品的广泛集成,大大扩展了RequisitePro及其他产品的功能,给软件工程生命周期内的各个阶段都提供了强大、方便的信息查询、跟踪、管理功能。从而能够促进更好的团队沟通、帮助管理变更和评估变更的影响,帮助验证所有的规划需求被交付物所满足、降低项目风险。
网址:
IBM Rational DOORS
IBM Rational DOORS前身是大名鼎鼎的Telelogic DOORS,被IBM收购后更名为IBM Rational DOORS。DOORS
是最老牌的企业需求管理套件,通过使用DOORS/ERS,可以帮助企业更有效地进行沟通并加强协作与验证,从而降低失败的风险。通过对整个组织实施多种需求管理的方法,可以使项目的管理更加透明。它可以使企业跨越地域与组织的边界来按国际化的方式运行。
网址:
青铜器RDM
青铜器RDM是IPD+CMMI+Scrum一体化研发管理解决方案,针对需求管理,涵盖需求的全生命周期管理,从市场客户需求收集(创意管理)、产品路线图(Roadmap)定义、产品特性需求、产品设计需求与规格、项目开发Build划分(迭代划分)、测试用例库、测试计划、测试执行、缺陷跟踪、全方位的需求跟踪矩阵RTM;同时实现Scrum开发模式,基于项目需求直接生成项目任务,实现基于需求和缺陷的迭代开发模式;全面实现了IPD、CMMI、Scrum业界主流研发管理框架的需求管理要求。
网址:
比较内容
Telelogic Doors
IBM Rational RequisitePro
青铜器RDM
结论
项目级别的比较
(1)Doors 将所有的与需求相关的数据均存放在服务器上的 doors 数据库(不是商业数据库)中。
(2)一个 DOORS Database 能够同时支持许多个不同的项目开发,从而使得新的项目能够复用和共享过去的文件和信息。不同项目(文件)之间的追踪关系可以跨项目建立。
(1)ReqPro 将需求的数据存放在数据库中,而把与需求相关的上下文信息存放在 Word 文档中。
(2)一个 Database 只能支持一个项目的开发 , 无法支持对过去文件和信息的复用和共享。不同项目之间无法建立联系。
(1)RDM所有项目的需求统一保存在一个Database,该数据库可以是Oracle、Sql、Mysql任何商用数据库
(2)不同项目之间的需求可以相互关联、共享;同时支持产品标准化需求库,从而支持平台化产品开发模式,可以基于产品标准需求库构建项目,实现具体客户的个性化。
RDM、Doors 占优
(1) Doors 中的项目显然是从企业的级别考虑,任何一个用户,只要有权限,就可以访问企业中的任何一个项目的需求数据。
(2)RDM需求集中保存,便于统一维护,跨项目共享也更方便,同时产品通用需求库概念,支持平台化开发模式,兼顾平台化和项目个性化要求。
多人同时访问
(1)一个时刻,只能有一个人修改一个 module (类似于 requisitepro 中的一个 word 文档),其他人只读方式打开。
DOORS 有访问方式:独占、共享和只读。当某人独占打开某个 module 时,其他人只能只读访问。但 DOORS 提供共享方式,特别是可以允许不同的人同时修改同一文档的不同部分,比如 A 用户负责修改第一章, B 用户负责修改第二章。这是 tool-setup for sharing 的功能。
(1)一个时刻,只能有一个人修改一个 word 文档。其他人只读方式打开。
(1)RDM支持需求检入/检出,版本化操作;同时不同版本之间的差异化能自动对比分析
(2)RDM的需求可以灵活根据需求类型、需求状态划分权限,支持多人并发对需求进行编辑、维护。
RDM占优,ReqPro、Doors两者相同。
需求创建和编辑
在 doors 中创建和编辑(与 word 的使用类似。)创建方法简单直观。
在 word 文档中创建和编辑,创建方法和理解上略有困难。在 requistitepro 中创建的需求放在数据库中,不能被文档使用
RDM支持在线创建编辑需求 和 基于Excel编辑需求,然后集中导入RDM 两种模式。
在线编辑支持富文本、直接插入图片等个性化手段
各有优劣, ReqPro、RDM略占优
(1) doors 中创建和使用简单,不需要 word 。但是,它毕竟没有 word 的编辑功能强大。
(2)RDM支持富文本、直接插入图片方式,能使需求展现的更直观
需求修改历程的纪录和管理
(1)可以针对 module (类似于 requisitepro 中的一个 word 文档)打基线。可以比较基线之间的不同点。基线可以作为创建新的 moduel 的模版。
(2)需求项的修改有历史记录,并且可以回滚到任何一个历史点的内容。
(3)可以和主流的配置管理工具集成使用;
(1)需求项的修改有历史记录。
(2)可以和 clearcase 工具集成使用 , 完成基线功能,但是只是形成版本,没有比较功能。
(1)RDM支持需求检入/检出,版本化记录,同时一个页面展现版本间差异
(2)RDM本身提供变更管理流程,并且流程可配置,需求和流程的集成性高
(3)RDM同时提供变更关联提醒功能,需求变更后自动通知子需求、关联需求、对应的测试用例。
Doors、RDM占优
(1)优势明显,而且该功能比较有用。
(2)RDM的版本间差异对比、变更关联通知非常有价值。
对需求变更的管理
Doors 本身具备变更管理系统,即变更的提交,评审,应用,并因此可以给指定的用户分配不同的角色(如提交者,审阅者,应用者);内容讨论能力较弱
可以和主流的变更管理工具集成使用;
DOORS 可以和 ClearQuest 集成,可以使用 CQ 的功能扩展变更流程,使需求项和变更请求紧密相关
RequisitePro 有针对需求项的讨论功能。类似于 bbs 中的主题讨论。使用比较方便。
讨论没有区分权限,但是有明显的讨论人和讨论时间。
与 clearquest 工具集成;
1)RDM支持需求检入/检出,版本化记录,同时一个页面展现版本间差异
(2)RDM本身提供变更管理流程,并且流程可配置,需求和流程的集成性高
(3)RDM同时提供变更关联提醒功能,需求变更后自动通知子需求、关联需求、对应的测试用例。
各有优劣, RDM 略占优
多个需求项及追踪关系的显示
Doors 能够在一个专门的界面上给用户一次显示一个 module 文件中的所有需求项和相互之间的追踪关系 ( 即支持 in 和 out 的需求追踪 ) ,从而支持用户同时观看所有相互依赖的需求项。
有专用的追踪矩阵图,以二维表的形式展示需求项之间的追踪关系。
(1)针对单个需求,一个页面可以追踪到市场需求、产品需求、设计需求、物理模块、项目构建、测试用例、开发任务、测试缺陷,实现端到端追踪
(2)针对集中追踪,提供跟踪矩阵、跟踪表两种模式
RDM占优
(1)RDM跟踪更全面,涉及到测试用例、项目任务、物理模块、测试缺陷。
(2)RequisitePro 的功能强大,界面也比较复杂,使用不便,但RDM同样功能,RDM界面更清晰、明了。
可疑 link (需求变更)的通知
(1)当 link 的一方产生变更时, Doors 可以自动产生提示符通知另一方,而不需要在 link 的矩阵上查找;
(2)可以清楚地看到导致可疑 link 的需求内容变更情况
没有自动提示,必须通过追踪关系矩阵来查找,当追踪矩阵比较大时,非常费时费力;
(1)当 link 的一方产生变更时, RDM 可以自动产生提示符通知另一方,同时自动把变更的信息推给对方
(2)Link方不仅仅是需求还涵盖测试用例,通知更全面
RDM、Doors 占优
(1)RDM更优,可以灵活配置哪些属性变化才通知,同时变化信息能自动推送给link方,更易用
(2)Doors 的可疑 link 原理是通过需求内容的改变自动置 link 为可疑,比较科学。
与已有产品的集成
Clearquest 、 clearcase 、 rose
Clearquest 、 clearcase 、 rose 、 testManager 、 project2002
RDM本身就是研发一体化平台,可以使客户最大程度节约投入
Requistitepro 占优
与 word 的集成
需求的创建和修改工作完全在 doors 中完成。只是提供了导出符合格式的 word 文档。
与 word 紧密集成,需求的创建和修改工作大部分在 word 中完成。
需求的创建和修改工作在 RDM 中完成。灵活定义导出的内容和格式,可以直接导出为Word、PDF、Excel格式。
Requistitepro 、RDM占优
从现有 word 文档的导入功能
。支持,基本上是 word 文档中的一段对应 doors 中的一个需求项( object )。同时, word 中的表格、图像等 ole 对象也可以导入。
支持 Word 文档的导入,同时支持 table , picture 和 OLE object 的导入
不支持普通 word 文档的导入
不支持Word,支持Excel
Doors 占优
离线编辑功能
没有找到离线编辑的好方法。
可以使用 word 把文档下载到本地编辑(可以离开网络环境)。然后再提交到 requisitepro.
没有找到离线编辑的好方法。
Requistitepro 占优
该功能比较有用。
权限控制
Doors 具有灵活的权限控制,包括:只读,修改,创建,删除,管理等五种级别。权限控制可以针对每一个用户在每一个 database ,项目目录,文件,实施等;
权限控制的种类和级别有限。包括:只读、完全控制。权限只能针对项目 。
RDM 具有非常灵活的权限控制,包括:只读、编辑、创建、删除、管理等五种级别。同时可以基于需求字段属性配置权限
RDM 占优
数据备份和恢复
简单有效
复杂,要保证文件和数据库同时备份。可能使用 access 数据库会 …
简单方便,只需要配置数据库、服务器上的文件库目录即可
RDM、Doors 占优
异地需求管理
(Multi-site)
Doors 提供灵活的方式实现需求异地管理的方式; Doors 强大的性能优势也保障了大型项目异地需求开发 / 管理的可能;
无异地使用模式
RDM是B/S结构,提供领会异地访问管理模式
RDM已经有众多实际案例
是否易于掌握
容易使用
较容易使用
容易使用,但前期配置有一定的工作量
Requistitepro 上手较快(因为是在 word 中编辑),想各个功能用的比较顺手需要一段时间。
Doors 大部分功能比较容易掌握。
请教如何部署php项目(只要能跑起来就可以了)
php源码直接放到apache的安装目录下的home文件夹里,index.php是入口文件,要跟home文件夹平级
php项目 如何部署??
首先是要对数据结构进行规划,然后根据项目大小决定是否用php框架或模板技术,之后就是后台功能开发,最后再把数据在前台展示出来;这只是基本步骤,真正实施起来,涉及的东西是很多的,要注意的细节也很多