04月24, 2016

在 Mac 下搭建完美的开发环境

macbook_dev

最近常常和 Terry 都在做网页的编辑和开发,一开始我们是直接在服务器上编辑文件的,但慢慢发现这样的模式并不好。因为有时候会两个人一起在编辑同一份文件就会提示冲突,修改了哪里对方也不知道,或者改完后有 BUG 出现导致网站挂了就会影响了用户体验。所以 Terry 就搭建了 32Git ,我们就可以在本地编辑好文件再上传到服务器,可是问题又来了,怎么在本地怎样调试呢? 虽说在 MacBook 上把 PHP 和 MySQL 运行起来有很多种方法,而我选择了在虚拟机中运行一个 Centos ,因为虚拟机和主机是可以文件共享的,我就可以把网站目录软连接到 32Git 的本地目录中。这样我们就能把网页的运行环境独立开来,不用在 MacBook 上装太多杂七杂八的软件,编辑文件可以直接在 Sublime 打开编辑,保存后 Centos 那边就能获得最新的代码,打开 Safari 就能看效果。而且跟服务器端也保持了一模一样的运行环境。环境搭建好了可以用终端的 SSH 连接虚拟机,这样就能把虚拟机最小化了放一边不用理他了。 这个方法可能或多或少有点强迫症,可是个人弄完下来非常的喜欢。首先占用的系统资源并不多,一核心、1G 内存就能跑起来了。而且 MacBook 用的是 SSD ,不用的时候直接中止虚拟机,几乎能在瞬间完成,退出后的 MacBook 给人一种干净整洁的感觉。你在虚拟机里面怎样折腾都行,不仅仅是你的网站,还有网站的环境如 MySQL、PHP 的更新都能在本地环境先跳坑确定无问题后,服务器再更新。 现在我们的流程就变成了 :idea > 编辑文件 > 本地调试 > PUSH > 服务器端生效 ,网页源文件就只有两份,一份在本机,一份在服务器,通过 32Git PUSH 修改了的源文件到服务器,出问题还能通过 32Git 回滚到上一版本,感觉非常完美~ 动工~

  • 在 Parallels Desktop 安装 Centos

由于我们线上的服务器用的是 Centos 6 ,为了保持一致,我在本地搭建环境是也同样安装 Centos 6 。我选择的是服务器版本,因为我用不上图形化界面,服务器版还能节省不少资源。

Centos 的各个版本下载地址可以在这里找到:https://www.centos.org/

下载完 ISO 文件后我们就可以开始安装了。大家可以在安装系统和编译软件的时候适当的把 CPU 和内存大小调大,完成后再调小。我编译安装 Oneinstack 时用了 2 个核心和 1 G 的内存,也就一顿饭的时间就编译好了。 centos_install 安装完以后我们输入密码就能登录 Root 了。

  • 配置 Centos 上网

在默认情况下,Centos 是没有联网的,这时候我们需要编辑/etc/sysconfig/network-scripts/ifcfg-eth0ONBOOT 改成 YES 或者运行一次性命令 /sbin/dhclient eth0 (重启后失效),这样虚拟机就能连接网络了。 这里顺带说一句,运行命令ifconfig eth0 能直接显示本机的 IP 地址,在下面写 Host 文件的时候会用到。

  • 安装 Parallels Tools

配置完上网以后,我们就能安装 Parallels Tools 了,他能实现我们“把文件放在 Mac 编辑”的想法。 我们在 Parallels Desktop 点击安装 Parallels Tools 后,我们需要加载 CDROM 到 Centos 中,才能完成安装,我们输入以下命令:

cd /mnt
mkdir -p /mnt/cdrom //创建 CDROM 目录
mount -t auto /dev/cdrom /mnt/cdrom //挂载
//提示 mount: block device /dev/cdrom is write-protected, mounting read-only 即挂载成功

开始安装 Parallels Tools ,输入以下命令,一路 Next 即可:

cd /mnt/cdrom
./install

Centos_install_2

  • 配置 SSHKEY 登录

配置之前先要安装 SSH server ,一句 yum install openssh-server 即可搞定。

这部分的教程我们可以参考:https://g.32ph.com/mac-ssh-remote-authorized-key/(已更新)

  • 配置服务器环境

Oneinstack:https://oneinstack.com

  • 创建目录软连接

在安装完 Parallels Tools 后,我们本机的 Home 文件夹就已经挂在到了 /media/psf/Home 下了。为了能让它与 32Git 配合,我们需要把 /data/wwwroot/ 下的网站根目录软连接到 Mac OS 的文件夹中,这样我们就可以用 Mac 下的 Sublime 等编辑器编辑网页,而又能实时生效。 具体的用法是 ln -s [源文件或目录] [目标文件或目录]

ln -s /media/psf/Home/Documents/32Git/32ph.com /data/wwwroot/32ph.com
  • Host

Mac 在编辑 Host 文件后,需要重启电脑才能生效的。正烦恼怎样处理 Host 时,就在 v2ex 看到了 iHost 这款软件,他正好解决了我的烦恼。唯一不好的地方就是它每次选 Host 的时候都要授权,很不方便。https://www.v2ex.com/t/274147 到这里配置就全部完成了,Enjoy it。

本文链接:https://g.32ph.com/post/perfect-dev-environment-on-mac.html

-- EOF --

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。