[英]Setting up development/production PHP/MYSQL server
我正在托管服务器上开发我的Web应用程序。 我使用IDE自动下载/上传我正在编辑的文件。 我想设置第二个服务器(即development.domain.com),我将用它来处理更新。 完成并测试更新后,如何将所有更改推送到发布服务器(数据库方案更改,文件更改/添加/删除,系统更改为cron等)? 是否有任何软件可以通过一个按钮为我执行此操作,或者是否必须跟踪我所做的所有更改,然后将文件复制并在生产服务器上逐个更改方案? 谢谢
这是一个很好的问题,许多早期的开发人员都面临着这个问题。 我们在StrollUp上使用tomcat和Elastic beanstalk,并在生产机器上进行部署。 所以我们很容易将war文件从我们的开发环境上传到prod。 您也可以尝试使用Elastic beanstalk 。 一些像Laravel这样的php框架提供了这些功能,比如RoR。 但是使用您自己的php代码和单实例prod服务器,您可以遵循以下准则:
将代码推送到Prod服务器 :
传输数据库更改 :
转移Crons :
我只是将所有的cron从dev复制到prod。 您可以在bash脚本中执行此操作。
crontab -r #remove all current cron jobs
crontab cron.txt#将所有cronjobs列在cron.txt中
关于上述步骤的最佳部分 :您可以将所有上述步骤放在bash脚本中并在一行中执行。 这就像你自己的软件,只需点击一下按钮;)我为自己制作了“一键式”脚本,但它们特定于tomcat和Elastic Beanstalk。 您可以看一下它可能会给您一些关于如何继续的想法: AWS Deploy
最重要的是 :在prod服务器上运行sql查询之前,先对两个数据库进行数据库备份。 使用VCS(git,bitbucket是一个不错的选择)来保证所有更改的安全。
我将研究使用源代码控制的持续集成或持续部署解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.