公司新同事的MAC安装配置指南

过去写的一篇文章,放自己网站没人看. 拿简书上来试试! 源站地址: http://wizarot.me/post/2018-03-22/

基本配置篇

  • MAC拿到手之后需要注册一个AppStore账号和Github.com账号.其余公司账号密码会专门分配,请参考使用.
  • 生成自己的ssh_key. 基本操作在Launchpad的其他>终端 中进行命令行操作,请熟悉命令行操作,开发中会经常用到. 这里基本使用的命令是(命令行操作基础如果了解可以略过,不了解就稍微看一下或者问问同事):
> ls  (显示当前目录内容)
> cd xxx  (进入某一个目录)

打开后会默认在当前用户的home目录. 执行ls ~/.ssh 查看是否存在这个目录,正常新机器是不存在的,如果有请咨询同事. 如果不存在,那么我们就新建一个,这将会生成.ssh目录和下面的文件.ssh目录是隐藏目录,新建之后用ls不能直接看到,这个很正常. 执行命令: ssh-keygen -t rsa -C "youremail@example.com” 里面的email用公司分配给你的即可.后面还有一些询问,都直接回车默认.

  • 安装xcode: 通过AppStore安装xcode.完成后,需要运行一次,同意里面的协议,然后关掉即可.在命令行工具,执行xcode-select --install完成安装xcode命令行工具.
  • 安装brew(OSX的软件包管理工具,之后的软件等安装,尽量使用brew来统一安装和管理,官网:http://brew.sh/index_zh-cn ),命令行执行:
> /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

  • 安装iTerm2,更好的命令行终端软件: brew install iterm2 完成安装,如果在过程中发生错误同样google或找同事帮助.安装完成后,可以在Launchpad中找到,直接启动.并固定在Dock上面吧! 这是你的好朋友.
  • zsh oh-my-zsh安装,配置.完成安装之后,重新打开一个iterm窗口,查看下效果.
 > brew install zsh zsh-completions #安装zsh
 > chsh -s $(which zsh) #切换zsh为默认shell
 > sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

  • git工具:
 > brew install git


其他可选项目

  • 常用文本编辑器sublime3
> brew tap caskroom/cask
> brew install brew-cask
> brew tap caskroom/versions
> brew cask install sublime-text

  • TODO: 常用快捷键,有用的app推荐,iTerm主题和配置,MAC系统方便的配置等

PHP开发篇

  • 安装php :推荐安装两个PHP版本 5.6 ,7.0 (brew 升级了,因此之前方式有些问题)
> brew install php@5.6  # 安装php5.6

  • 安装php另一个版本
> brew unlink php  # 不执行这个会报错
> brew install php@70 # 安装php7.0版本

  • php redis等扩展可能无法直接安装,解决办法:

我们使用第三方的brew库: 原因是新版brew不支持同时使用多个版本php. 但会引入新问题,这个库中的lib引用没有维护,可能造成一些报错.但你可以通过软连接没有的这些库来解决. 网上也能找到非常多的解决方案. 具体缺哪个你就处理哪个即可.

> brew tap kyslik/homebrew-php

然后后面就可以正常安装对应的php扩展了.如不哦不行,那么建议考虑用源码安装吧!也是可以的.

  • 安装php版本管理工具php-version:

不喜欢用,或者安装嫌麻烦也可以不用. 直接用brew unlink php71; brew link php56 这样也能简单切换.

项目github: https://github.com/wilmoore/php-version

> brew install php-version (这个办法已弃用!)
> mkdir -p $HOME/local/php-version
> cd !$
> curl -# -L https://github.com/wilmoore/php-version/tarball/master | tar -xz --strip 1

装好之后,编辑 ~/.zshrc文件,增加下面这行.这样在每次启动一个shell就会加载php-version管理了.

source $HOME/local/php-version/php-version.sh && php-version 7.0

具体使用方法: php-version 查看当前安装php版本. php-version 7.0 切换到对应版本.

  • 修改php配置,以php7.0为例: 执行命令brew info php70 可以看到关于php70的安装和使用信息.从里面找到php.ini文件路径: /usr/local/etc/php/7.0/php.ini 编辑php.ini文件配置
> subl "$(brew --prefix)/etc/php/7.0/php.ini" # 用之前安装的sublime编辑器编辑文件

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone (设置时区)
date.timezone =Asia/Macao

...

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit (设置运行的内存限制)
memory_limit = 1024M

...
; (设置post最大小)
post_max_size = 256M
; (设置上传单个文件大小)
upload_max_filesize = 256M

;if APC installed, update following in conf.d/ext-apc.ini(如果有,没有就算了)
apc.shm_size=256M

设置php-fpm: 为了方便好记设置 php7.0使用9070端口; php5.4用9054端口; php5.6用9056端口; php7.2 用9072端口

> subl "$(brew --prefix)/etc/php/7.0/php-fpm.conf" 

listen = 127.0.0.1:9070  ;配置文件中分号是单行注释,设置为监听本机的9070端口是为了方便.

  • 启动php-fpm服务:

brew services start homebrew/php/php70

  • 确保php-fpm服务随开机启动:
> mkdir -p ~/Library/LaunchAgents
> cp /usr/local/opt/php70/homebrew.mxcl.php70.plist ~/Library/LaunchAgents/
> launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php70.plist

  • 安装Redis:
> brew install redis    # 安装reids软件
> brew info redis    # 查看安装信息
> brew services start redis # 后台启动redis服务

  • 安装Mysql:
> brew install mysql # 安装mysql
> brew info mysql  # 查看安装信息(正常安装后也会直接显示一次)
> brew services start mysql # 启动mysql服务,默认用户root,密码为空

  • 安装Nginx服务器:
> brew install nginx # 直接安装nginx
> brew info nginx # 查看安装信息

  • 修改Nginx配置: /usr/local/etc/nginx/nginx.conf
> subl /usr/local/etc/nginx/nginx.conf  # 编辑修改配置文件

worker_processes  4;  # nginx服务进程数量,本地开发4条进程就差不多了
...

  • 增加开发虚拟站点: 新建文件放到目录 /usr/local/etc/nginx/servers/ 下面
> cd /usr/local/etc/nginx/servers/
> subl test.conf

编辑文件 test.conf

# test;
server {
        listen       80; # 监听80端口,注意会造成直接启动服务失败,因为权限问题,这个下一节说明
        client_max_body_size 1024m;
        server_name test.l.wizmacau.com; # 公司域名xxx.l.wizmacau.com会自动指向localhost,因此不需要改本机的hosts文件了.
        access_log  /Users/user/logs/test.access.log; # 访问记录路径
        error_log  /Users/user/logs/test.error.log; # 错误记录路径

        root   /Users/user/php_productions/test/web; # 网站根目录,根据实际修改

        # 如果URL中包含app.php,则转发为伪静态格式
        rewrite ^/app_dev\.php/?(.*)$ /$1 permanent;

        location / {
          index app_dev.php; # 默认解析本地开发模式 for symfony
          try_files $uri @rewriteapp;
        }
        location @rewriteapp {
          rewrite ^(.*)$ /app_dev.php/$1 last;
        }

        location ~ ^/(index|app|app_dev|config)\.php(/|$) {
            fastcgi_pass 127.0.0.1:9070; # php-fpm端口,使用7.0则改为9070端口
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param HTTPS off;
            proxy_read_timeout 300;
            proxy_connect_timeout 300;
            proxy_redirect off;
        }

}

注意不要使用.dev做为本地开发域名,因为chrome浏览器新版本强制要求.dev的域名必须使用https.如果没在nginx配置443端口,那么会导致怎么都访问不到你的本地项目.

  • 启动nginx服务: 因为需要监听80端口,Mac普通用户权限启动不能监听1024以下端口,导致启动失败,需要给nginx提高到root权限
> which nginx  # 查询当前nginx路径
> sudo chown root:wheel /usr/local/bin/nginx # 根据查询路径,给nginx修改所有者为root,注意会提示输入当前用户登录密码
> sudo chmod u+s /usr/local/bin/nginx
> sudo brew services start nginx  # 使用root用户启动nginx服务
> ps aux|grep nginx # 查看后台进程,如果有 nginx: worker process 那么说明nginx服务启动成功,如果失败请叫同事帮忙

Python开发篇(TODO)

  • 安装python3
> brew install python3 # 安装python3

Nodejs环境(TODO)

GO语言开发环境(TODO)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容