前言
在将你的代码部署到远程服务器之前,最安全的做法就是在本地搭建一个和远程服务器有着相同运行环境的测试服务器,以保证你做的改动万无一失。
搭建之前的准备工作
首先你要知道你的网站所托管的服务器的运行环境,具体的说就是服务器的php mysql 和 apache版本。想查得这些参数,可以在你的网站目录下建立一个info.php文件,并写入如下代码。
<?php
phpinfo();
?>
接着用你的浏览器打开这个文件,你就会看到关于服务器运行环境的相关参数。
搭建本地php mysql apache测试服务器的大概流程如下:
在本地下载并安装MAMP。它是一款集成了php mysql apache的一站式解决方案,并同时支持了windows和*nix系统。然后在MAMP的设置界面里选择你的服务器(apache 或 nginx),PHP和mysql版本。
在服务端安装phpMyAdmin。这是一个通过php实现的管理mysql数据库的工具。进入服务端phpMyAdmin,选择你要迁移的数据库,然后export,将数据库文件以.sql的形式下载到本地。接下来进入本地的phpMyAdmin(它已经被集成到了MAMP里,打开MAMP欢迎界面,你会看到进入phpMyAdmin的入口),点击进入import将存在本地的.sql文件导入。到目前为止,数据库算是被从远程服务器迁移到了本地。
通过FTP或者DreamWeaver的site management(本质上也是FTP,但更好操作,适合我这样的新手)的方式,把网站目录下的文件下载到本地,并放入MAMP安装目录下的hodocs文件夹内。hodocs是本地服务器的localhost端口。注:Mac用户的hodocs路径如下:~/Application/MAMP/hodocs
将原来用来连接数据库脚本的登录信息改成如下:
define('DB_SERVER', 'localhost'); define('DB_SERVER_USERNAME', 'root'); define('DB_SERVER_PASSWORD', 'root'); define('DB_DATABASE', 'myDB');
测试。打开浏览器,键入如下url。应该是和我们服务器端的网页一个样子。
localhost/网站名/index.php
后续:
基于本地的测试服务器,我们就可以配合git等工具组合一个高效的,从开发到部署的工作流。我的初步计划是这样的:
- 开发流程:在本地进行代码编写,修改。并配合使用版本控制工具。
- 测试流程:在本地搭建一个测试服务器,或者在网站服务器新开一个staging server,域名类似于dev.myWebsite.com。
- 部署流程:可以选择自动或者手动的方式,将通过本地测试的代码push到远程的git仓库。Deploybot或者Beanstalk将会是不错的选择,它会负责将代码仓库里的代码和网站服务器 (或者是staging server)上的代码同步。
参考资料
http://www.dreamweaver-templates.org/mamp-tutorial/
https://www.smashingmagazine.com/2015/07/development-to-deployment-workflow/
https://deploybot.com/