php框架开发的网站如何做到可以布置到多台伺服器上?
控制器、视图、模型可以分开放吗?
控制器、视图、模型可以分开放吗?
不严格的来说是可以,因为目录还是可以挂载网路上的存储驱动器的。
但是从运维复杂度来看,这是没有必要的。
PHP开发的网站如果想部署到多个伺服器上,肯定为了做负载均衡。而不是仅仅为了将 控制器、视图、模型可以分开放
。
再回答 如何做到
:
scp
或者rsync
挨个推送代码。
2. github或者gitlab都可以使用webhook触发每台伺服器的部署功能。
3. docker运维栈 。
还有很多方法,不一一列举了。
前后端分离就可以做到V 和MC分开,但是M和C,一般都是在同一个机器,没有分开的必要。
MC端,如果要部署多台机器,主要都是为了横向扩展机器性能,使用反向代理实现负载均衡,就是M和C代码相同地布置再多台机器,用一台机器专门做请求转发。但M和C代码是相同的存在每一台机器。
谢邀
MVC这种模式本身和存储是否分开没有太大关系,理论上是可以分开存储的,但是这种代价很大;
MVC模式的初衷是为了把逻辑分离能够协同开发,前提是在同一个业务系统里,所以从设计初衷上没有考虑单业务系统的分散式部署。
另外就MVC模式来说,把逻辑很相关的一些代码部署在不同的伺服器上,这种操作对于系统的稳定性和性能是非常不友好的。
MVC这个不用拆分,布置多伺服器不是这么拆的。
拆分要从更大的层面上来分析执行。
水平拆分是做负载均衡,应用多个伺服器复制就好了。
垂直拆分的话一般是资料库访问单独拆分一层。
功能拆分的话是把用户系统拆出去,具体各自业务模块根据团队和业务情况,也可以拆出去单独维护。
详细说起来就很复杂,要具体情况具体分析。
直接ftp上传;
使用svn迁出;
scp拷贝;
sync 同步。
其实你到底想问什么呢?
控制器、试图和模型放在不同伺服器吗?不可以。
我觉得微服务适合你,或者简单点http api 也可以
MVC不需要出拆分啊,如果要拆出来就需要用到内部通讯,开发成本和实际效率都会非常的低
一般做横向复制,部署多套,然后通过redis来管理用户池就行了
前端可以用nginx之类的做反向代理来做负载均衡,很简单,配置管理都容易
当然,前后端的分离是有必要的,后端只能通过堡垒机来配置,实现业务的安全性
有几种
1:按照功能进行拆分,如果压力大了,模块化在进行负载,可以了解下微服务
2:相同代码部署在不同机器,实现负载均衡,不过要考虑session共享问题,还有上传图片的问题!3:至于代码部署同步,有人已经说过采用rsync同步,但是不可能每次手动执行,所以要写一个脚本检测文件发生变化的时候进行同步,百度搜索下目前linux下面有软体可以实现4:mvc不用拆分,一般是在一台机器,负载均衡一般是想同的业务不同机器,意思是同一套代码喽5:没有了,期待补充
推荐阅读: