当前位置: 首页 > 后端技术 > PHP

macOSMonterey12.2搭建GO+PHP开发环境

时间:2023-03-29 18:50:20 PHP

公司电脑使用一年多了,期间不断升级系统。我用的是MacOS12beta版,体验还是不错的,但是由于使用时间久了,系统缓存占了一半,删不掉,电脑自动重启不时冷冻后。于是趁着春节重装系统,提升用户体验。1、安装Xcode,Xcode命令行工具Xcode是苹果公司出品的一款开发软件,包含了一系列的工具和库。目前最新版本为13.2.1,可通过AppStore安装。它的主要目的是避免在安装其他软件时提示更新Xcode。软件大小为12G,找个网络比较好的地方安装。Xcode命令行工具作为Xcode的一部分,包括GCC编译器。在命令行执行如下命令进行安装:xcode-select--install点击直接安装,然后等待安装完成xcode-select-p返回如下表示安装成功/Applications/Xcode.应用程序/内容/Developer2。安装HomebrewHomebrew是macOS的Packagemanager,用于安装、升级和卸载常用软件/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"oruseDomesticsource/bin/zsh-c"$(curl-fsSLhttps://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"3.安装iTerm2iTerm2是MAC下最好的终端工具(no1)并且加上oh-my-zsh和它的插件,这将是一个强大的神器。下载iTerm2,打开它,系统会提示您移动到应用程序,或者在Finder中,将iTerm拖放到应用程序文件夹中。这样,您就可以在Launchpad中启动iTerm2。3.1安装oh-my-zshoh-my-zshMac自带低版本的zsh,可以安装最新版本的brewinstallzsh,安装oh-my-zshsh-c"$(wgethttps://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh-O-)》iTerm2界面瞬间刷新换主题,我比较喜欢下面的主题agnoster.zsh-theme还有各种主题可以选择各种主题sudovim~/.zshrc//打开这个配置文件ZSH_THEME="robbyrussell"找到这行主题配置ZSH_THEME="agnoster"换成agnoster主题这个主题需要安装字体才能显示Powerlinefontsgitclonehttps://github.com/powerline/fonts.git--depth=1cdfonts./install.shcd..rm-rffontspreferences>profiles>colorsmodifycolormatchingpreferences>profiles>textselectfriamonoforpowerline字体cd~/.oh-my-zsh/themes//进入主题文件夹cpagnoster.zsh-thememyagnoster.zsh-theme//复制一份vimmyagnoster.zsh-theme打开##主提示符build_prompt(){RETVAL=$?prompt_statusprompt_virtualenv#prompt_contextprompt_dirprompt_gitprompt_hgprompt_end}用#注释掉prompt_context然后打开.zshrcZSH_THEME="agnoster""ZSH_THEME="myagnoster"改成这样这样做的原因是为了避免升级冲突。3.2Pluginsohmyzsh自带插件Ohmyzsh自带了很多插件,比如git,插件目录:~/.oh-my-zsh/plugins我主要用的有两个:1.命令高亮[zsh-syntax-highlighting]https://github.com/zsh-users/...)2.自动补全命令zsh-autosuggestionsgitclone到本地gitclonehttps://github.com/zsh-users/zsh-autosuggestions${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestionsgitclonehttps://github.com/zsh-users/zsh-syntax-highlighting.git${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting配置sudovim~/.zshrcplugins=(gitzsh-autosuggestionszsh-syntax-highlighting)Source~/.zshrc3.3item快捷键打开。在当前目录打开finder?+返回全屏?+f搜索到的内容会自动复制?+d水平分屏/?+shift+d垂直分屏命令?+/光标位置?+r只是切换到一个新的screen,notcreateanemptyscreenlikeclearctrl+u清除当前行ctrl+a到行首ctrl+e到行尾ctrl+w删除光标前的单词ctrl+k删除到处文本结束?+alt+方向键切换屏幕(用于热键窗口)?+方向键切换tabctrl+_Undoctrl+y粘贴最后要剪切的东西4.安装PHP、Composer、GO、NginxmacOS12系统默认不会安装PHP和GO,所以需要我们自己安装brewinstallphpcomposergonginx//用brew安装很简单#composer设置本地仓库路径composerconfigrepositories.arunfungpath../shop4.1.安装LaravelValetvalet是laravel官方提供的开发环境。主要优点是简单方便。开发PHP项目足够了。(安装valet需要提前安装composer和php)。composerglobalrequirelaravel/valet//先获取项目valetinstall//然后安装并添加环境变量:安装完valet后,我们需要将valet添加到环境变量中才能使用相应的命令sudovim~/.zshrc#添加到文件末尾exportPATH="$PATH:$HOME/.composer/vendor/bin"source~/.zshrc在主目录下创建一个Sites文件夹,然后所有项目都放在这个文件夹下。访问的话也是文件夹名+.testOKmkdir~/Sitescd~/Sitesvaletpark//设置这个目录为项目仓库代客路径//勾选代客仓库路径,这样就可以像http一样访问域名了://blog.test#如果需要在不同的PHP版本之间切换,可以通过这种方式切换valetusephp@7.2valetusephp9。安装Redis、Etcd、MySQL、Nsq等基础组件brewinstallredisetcdnsqmysql现在MySQL的默认版本已经是8了,如果是5.7版本,安装自定义版本即可。添加开机自启动ln-sfv/usr/local/opt/mysql/*.plist~/Library/LaunchAgentsMySQL配置密码//Runmysql_secure_installationmysql_secure_installation保障MySQL服务器部署。使用空白密码连接到MySQL。VALIDATEPASSWORDPLUGIN可以用来测试密码//密码验证插件,为了提高安全性,需要验证密码,提高安全性。Itchecksthestrengthofpassword//Itwillcheckthestrengthofthepasswordandallowstheuserstosetonlythosepasswordsthatare//onlyallowedTheusersetsaenoughsecuritypassword足够安全。您想设置VALIDATEPASSWORD插件吗?//你确定要安装验证密码插件吗?按y|Y表示是,任何其他键表示否:y//OKtoinstall密码验证策略分为三级://三级验证策略LOWLength>=8//最小长度大于或等于to8charactersMEDIUMLength>=8,numeric,mixedcase,andspecialcharacters//数字,字母,特殊字符混合,具体至少为1个数字,1个字母,1个特殊字符,长度不超过32charactersSTRONGLength>=8,numeric,mixedcase,specialcharactersanddictionaryfile//Themoststrict,plus,字典文件Pleaseenter0=LOW,1=MEDIUMand2=STRONG:0//这里我选择0,最简单的,请在这里设置root密码。Newpassword://EnterthepasswordRe-enternewpassword://EnterthepasswordrepeatedlyEstimatedstrengthofthepassword:50//PasswordstrengthDoyouwishtocontinuewiththepasswordprovided?(按y|Y表示是,任何otherkeyforNo):y//你想使用刚刚输入的密码吗?默认情况下,一个MySQL安装有一个匿名用户,//默认情况下,MySQL有一个匿名用户,允许任何人登录MySQL而不必//这个匿名用户不必为他们创建一个用户,匿名用户允许任何人登录MySQL,为他们创建一个用户帐户。Thisisonlyfor//thisisjustforeasytestingusingtesting,并使安装更顺利。你应该在进入生产环境之前移除它们//在正式环境中使用它时,建议你移除它的环境。删除匿名用户?(按y|Y表示是,任何其他键表示否):y//提示删除匿名用户成功。Normally,rootshouldonlybeallowedtoconnectfrom//一般情况下,root用户只允许使用“localhost”、'localhost'登录。这可确保有人无法猜测根密码从网络订购。//这是为了保证不能被某些人通过网络访问Disallowrootloginremotely?(按y|Y表示是,任何其他键表示否):no//不允许root远程登录?...跳过。默认情况下,MySQL带有一个名为“test”的数据库,//默认情况下,任何人都可以在MySQL数据库中访问。Thisisalsointendedonlyfortesting,//Thisisonlyfortestingandshouldremovebeforemovingintoaproduction//在正式环境中,环境应该被移除。删除测试数据库并访问它?(按y|Y表示是,任何其他键表示否):y//确认删除测试数据库?-删除测试数据库...成功。-删除测试数据库的权限...成功。重新加载权限表将确保到目前为止所做的所有更改将立即生效。//刷新权限表,保证所有修改立即生效Reloadprivilegetablesnow?(按y|Y表示是,任何其他键表示否):y//ConfirmrefreshSuccess.全做完了!