前言

在将你的代码部署到远程服务器之前,最安全的做法就是在本地搭建一个和远程服务器有着相同运行环境的测试服务器,以保证你做的改动万无一失。


搭建之前的准备工作

首先你要知道你的网站所托管的服务器的运行环境,具体的说就是服务器的php mysql 和 apache版本。想查得这些参数,可以在你的网站目录下建立一个info.php文件,并写入如下代码。

<?php
phpinfo();
?>

接着用你的浏览器打开这个文件,你就会看到关于服务器运行环境的相关参数。

搭建本地php mysql apache测试服务器的大概流程如下:

  1. 在本地下载并安装MAMP。它是一款集成了php mysql apache的一站式解决方案,并同时支持了windows和*nix系统。然后在MAMP的设置界面里选择你的服务器(apache 或 nginx),PHP和mysql版本。

  2. 在服务端安装phpMyAdmin。这是一个通过php实现的管理mysql数据库的工具。进入服务端phpMyAdmin,选择你要迁移的数据库,然后export,将数据库文件以.sql的形式下载到本地。接下来进入本地的phpMyAdmin(它已经被集成到了MAMP里,打开MAMP欢迎界面,你会看到进入phpMyAdmin的入口),点击进入import将存在本地的.sql文件导入。到目前为止,数据库算是被从远程服务器迁移到了本地。

  3. 通过FTP或者DreamWeaver的site management(本质上也是FTP,但更好操作,适合我这样的新手)的方式,把网站目录下的文件下载到本地,并放入MAMP安装目录下的hodocs文件夹内。hodocs是本地服务器的localhost端口。注:Mac用户的hodocs路径如下:~/Application/MAMP/hodocs

  4. 将原来用来连接数据库脚本的登录信息改成如下:

    define('DB_SERVER', 'localhost');
    define('DB_SERVER_USERNAME', 'root');
    define('DB_SERVER_PASSWORD', 'root');
    define('DB_DATABASE', 'myDB');
  5. 测试。打开浏览器,键入如下url。应该是和我们服务器端的网页一个样子。

    localhost/网站名/index.php

后续:

基于本地的测试服务器,我们就可以配合git等工具组合一个高效的,从开发到部署的工作流。我的初步计划是这样的:

  1. 开发流程:在本地进行代码编写,修改。并配合使用版本控制工具。
  2. 测试流程:在本地搭建一个测试服务器,或者在网站服务器新开一个staging server,域名类似于dev.myWebsite.com。
  3. 部署流程:可以选择自动或者手动的方式,将通过本地测试的代码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/

[web开发]建立本地php MySQL Apache测试服务器相关推荐

  1. jsp程序带mysql数据库_【web开发】:JSP连接Mysql数据库(非常详细,代码一看就懂)...

    1,首先在自己新建的项目文本框中输入Web Project的名称,然后单击下一步. 2,继续单击下一步 3,把Generate web.xml deployment descriptor复选框勾上. ...

  2. php和mysql web开发 笔记_PHP和MySQL Web开发读书笔记---创建Web数据库

    先写个题外话,老是要忘记,byte和bit的区别,1byte=8bit,即一个字节有8位 1.创建权限 GRANT命令 GRANT privileges [columns]          //pr ...

  3. MySQL开发医药管理系统_java Web开发医药后台管理系统mysql版本源代码下载,支持中英文...

    package com.lyq.dao; import com.lyq.persistence.Medicine; import com.lyq.util.HibernateFilter; /** * ...

  4. java中文版src_java Web开发医药后台管理系统mysql版本源代码下载,支持中英文

    package com.lyq.dao; import java.util.List; import com.lyq.persistence.Category; import com.lyq.util ...

  5. 初学Java Web(2)——搭建Java Web开发环境

    虽然说 html 和 css 等前端技术,是对于 Web 来说不可或缺的技术,但是毕竟更为简单一些,所以就不详细介绍了,没有基础的同学可以去菜鸟教程或者W3school进行自主学习,最好的方式还是做一 ...

  6. Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境

    Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境 对于初学者来说,如果没有接触过java web开发的话,搭建开发环境将是一个门槛.以前一直 ...

  7. 《PHP和MySQL Web开发从新手到高手(第5版)》一一第1章 安装

    第1章 安装 PHP和MySQL Web开发从新手到高手(第5版) 在本书中,我们将帮助你跨出超越静态页面构建的第一步.静态页面,是使用HTML.CSS和JavaScript这样的纯客户端技术构建的. ...

  8. PHP和MySQL Web开发pdf

    下载地址:网盘下载 内容简介  · · · · · · 本书将PHP开发与MySQL应用相结合,分别对PHP和MySQL做了深入浅出的分析,不仅介绍PHP和MySQL的一般概念,而且对PHP和MySQ ...

  9. 抓取高德POI数据,并使用MySQL建立本地空间数据库(一)

    使用Python获取高德POI数据,并使用MySQL建立本地空间数据库(一) 关于高德POI 高德地图搜索POI的接口 抓取高德POI的思路 高德POI抓取的Python实现 本方法仅供参考和学习交流 ...

最新文章

  1. Jmeter工具的使用——功能测试
  2. kinect 录制彩色和深度视频
  3. IdentityServer4实战 - 基于角色的权限控制及Claim详解
  4. 超过12000个零件,钢琴就是一部复杂的机器
  5. CF1060C Maximum Subrectangle
  6. 【kafka】 Error when handling request Name: FetchRequest cannot compare its segment info since it only
  7. input 禁止 复制 粘贴 剪切 操作
  8. 两个DIV高度自适应方法(左右两个DIV高度一样)
  9. 工业机器人市场2018年热点回顾与2019年展望
  10. 像素值,像素坐标,灰度值
  11. 漫画聚合阅读器Tachidesk
  12. 安装使用TortoiseSVN + google code
  13. Linux处理cds文件,Linux 使用CDS磁盘+LVM
  14. 20211104:Excel今天距某个日期后90天还剩多少天
  15. 英语名篇——关于《论学习》的读后感
  16. nodejs __dirname 与 process.cwd(); 的区别
  17. 尝试做一个好的技术Leader, 建立“去中心化团队”
  18. 读书笔记『Kotlin实战』
  19. 全球及中国柔性AMOLED面板行业消费量调研及投资前景预测报告2022-2028年
  20. 内推贴 || Marvell 2021校园招聘火热开启

热门文章

  1. C++编译器优化:Copy Elision(省略不必要的拷贝)
  2. ios 中字符串怎么换行
  3. 推荐财务、HR必看的【出差租房分析】,能为公司节省巨额差旅费!
  4. 2的n次方对照表,最大256次方,2021年
  5. 魔兽世界服务器的研究
  6. C语言基本——求圆的面积和周长
  7. 湘潭大学信息安全课作业答案7
  8. 区块链发展前景究竟怎么样?——三分钟看懂区块链的未来
  9. 海明校验码算法和纠错
  10. GD32F303固件库开发(17)----内部Flash读写