我在Mac上搭建本地开发环境的血泪史(附保姆级教程)
作为一名常年和代码打交道的开发者,我经历过无数次”这个项目在我本地跑得好好的”的尴尬时刻。今天就把我这些年踩过的坑、试过的方案整理成这篇Mac本地环境搭建指南,希望能帮到刚入坑的小伙伴们。
为什么需要本地服务器环境?
记得刚学前端那会儿,我天真地以为直接双击打开HTML文件就能测试所有功能。直到遇到第一个需要后端API的项目时,才发现浏览器会因为跨域问题直接拒绝加载本地文件。这时候才明白,一个靠谱的本地服务器环境对开发者有多重要。
方案一:自带Apache(适合新手)
Mac其实自带Apache服务器,只是默认没开启。我第一次搭建环境就是用的这个方案:
# 启动Apache
sudo apachectl start
# 停止Apache
sudo apachectl stop
# 重启Apache
sudo apachectl restart
启动后访问 http://localhost
就能看到”It works!”的默认页面。网站根目录在 /Library/WebServer/Documents/
。这个方案简单是简单,但配置起来比较麻烦,特别是要支持PHP的时候。
方案二:MAMP全家桶(省心之选)
后来项目需要PHP+MySQL环境,我果断选择了MAMP。这简直就是mac开发者的瑞士军刀:
- 一键安装Apache/Nginx + PHP + MySQL
- 可视化界面管理服务
- 自带phpMyAdmin
- 支持多PHP版本切换
不过免费版只能使用默认端口,专业版要$59。对于学生党来说,下面这个方案可能更友好。
方案三:Homebrew + 手动配置(极客最爱)
自从入了Homebrew的坑,我就再也没用过图形化工具。用brew安装环境组件简直不要太爽:
# 安装Homebrew(如果还没装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装Nginx
brew install nginx
# 安装PHP
brew install php
# 安装MySQL
brew install mysql
配置过程稍微复杂些,需要修改各软件的配置文件。比如Nginx的配置在 /usr/local/etc/nginx/nginx.conf
。不过这种方案最灵活,想怎么配就怎么配。
我的终极方案:Docker(真香警告)
直到接触Docker后,我才真正找到了本命方案。再也不用担心”在我机器上能跑”的问题了:
# docker-compose.yml示例
version: '3'
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./code:/usr/share/nginx/html
php:
image: php:7.4-fpm
volumes:
- ./code:/var/www/html
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: secret
一个docker-compose up -d
命令就能拉起全套环境,不同项目可以用不同容器完全隔离。唯一的缺点是吃内存,建议16G内存起步。
避坑指南
最后分享几个我踩过的坑:
- 端口冲突:检查
lsof -i :80
看看谁占用了端口 - 文件权限:Mac的权限系统很严格,特别是对/usr/local目录
- 环境变量:记得把PHP/MySQL的路径加到
~/.zshrc
- 版本兼容:新系统升级后某些组件可能需要重装
以上就是我在Mac上搭建本地环境的全部经验了。刚开始可能会觉得复杂,但配置好一次之后就能一劳永逸。如果遇到问题,欢迎在评论区交流~
正需要这个!最近被本地环境搞的头大,先码住慢慢看