公司新同事的 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 "[email protected]”
裡面的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)”
brew install iterm2
> 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 [email protected]# 安裝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_processes4;# nginx服務程序數量,本地開發4條程序就差不多了 ...
-
增加開發虛擬站點: 新建檔案放到目錄
/usr/local/etc/nginx/servers/
下面
> cd /usr/local/etc/nginx/servers/ > subl test.conf
編輯檔案 test.conf
# test; server { listen80; # 監聽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