mac 重启php-fpm

查看php-fpm端口是否在被php-fpm使用

  一般修改 php.ini 文件后经常需要重启php-fpm

  再输入 sudo lsof -i:9000 就会发现php-fpm没有打印对应端口

  from:https://www.cnblogs.com/cap-rq/p/11460282.html

mac 更换brew源

homebrew主要分两部分:git repo(位于GitHub)和二进制bottle(位于binary),这两者在国内访问不太顺畅。其实可以替换成国内的镜像,git repo国内镜像就比较多了,可以自行查找,如:中科大镜像… 替换homebrew默认源 替换brew.git: cd "$(brew --repo)" git remote set-url origin https://mirrors.ustc.edu.cn/brew.git 替换homebrew-core.git: cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git 如果替换源之后brew update 没反应 cd "$(brew --repo)" git pull origin master 切回官方源 重置brew.git: cd "$(brew --repo)" git remote set-url origin https://github.com/Homebrew/brew.git 重置homebrew-core.git: cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://github.com/Homebrew/homebrew-core.g 注释掉bash配置文件里的有关Homebrew Bottles即可恢复官方源。 重启bash或让bash重读配置文件。 替换Homebrew Bottles源 Homebrew Bottles是Homebrew提供的二进制代码包,目前镜像站收录了以下仓库: 对于bash用户 echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile source ~/.bash_profile 对于zsh用户 echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc source ~/.zshrc   from:https://blog.csdn.net/zhazhaji/article/details/80957811

Mac 查看端口占用情况及杀死进程

在开发中经常会遇到端口占用问题,例如下面,npm start 报的错误: 1. 查看端口占用情况命令

  输出结果: 字段说明: 字段名 说明 COMMAND 进程名称 PID 进程标识符 USER 进程所有者 FD 文件描述符,应用程序通过文件描述符识别该文件 TYPE 文件类型,文件 REG、目录 DIR、字符 CHR、块设备 BLK、UNIX域套接字 UNIX、先进先出队列 FIFO、IP套接字 IPv4 DEVICE 指定磁盘的名称 SIZE/OFF 文件的大小 NODE 索引节点(文件在磁盘上的标识) NAME 打开文件的确切名称 2. lsof 命令介绍 lsof(list open files)是一个列出当前系统打开文件的工具,在linux环境下,任何事物都以文件的形式存在。通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议(TCP)、用户数据报协议(UDP)套接字等,系统在后台都为该应用程序分配了一个文件描述符。 无论这个文件的本质如何,该文件描述符(FD)为应用程序与基础操作系统之间的交互提供了通用接口,因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof能够查看这个列表对系统监测以及排错很有帮助。 3. 杀死进程 通过 lsof 命令我们得到占用进程的应用程序对应的 pid,然后就是如何杀死进程:

  from:https://blog.csdn.net/zwkkkk1/article/details/88797044

mac osx 终端配色及vim语法高亮

prompt解析 在osx系统下,对系统自带的终端进行配色可以通过设置PS1环境变量来实现的 在osx系统下prompt的表示成

  示例:

  解析: [ ]这个方括号是自己加的无意义符号 \u表示用户(这里是elmman) @表示@(这里是@) \h表示host(这里是192) :也是个无意义符号(这里是:) \w表示当前目录(这里是~,即家目录) \$表示命令提示符(这里是\$) PS1的配色规则(即在shell当中颜色的表示码) 默认 : \e[00m 黑色 : \e[01;30m 红色 : \e[01;31m 绿色 : \e[01;32m 黄色 : \e[01;33m 蓝色 : \e[01;34m 洋红 : \e[01;35m 青色 : \e[01;36m 白色 : \e[01;37m 开始配色 首先,先为终端选择一款主题(这里选择homebrew的)。步骤如下 打开终端->Terminal->Preferences…(或者command + , )。也就是俗称的偏好设置 在这里的第一个下拉框选择homebrew主题,然后直接退出,且重启终端,这时候可以看到终端变成黑色背景、绿色字体的主题。(这才刚开,还没结束) 接下来就是配色了。 首先呢,举个例子。我想把prompt改成上面示例的样子

  在.bash_profile文件最后添加如下代码

  然后重启终端,这时候你就可以看到终端变成下面这个样子了

  接着,我想把elmman用户名变成红色怎么做?很简单,就在\u前面加上[\e[01;31m]和\u后面加上[\e[00m]行了。 注:这里需要特别注意到是颜色码必须前后加上[]包围起来, 不然终端可能会出现无法自动换行、或者tab键自动补全失效的情况

  在.bash_profile文件修改PS1变量代码

  还是重启终端,这是就可以看到 总结下:也就是想给哪个字段配色就只需要在其前面加上shell颜色码即可,当然还得在字段后面带上\e[00m表示后面的字段还是使用默认。不然就会变成什么样?自己可以去试试。 最后以下是本人自己的配色方案,(这里多了两个参数CLICOLOR和LSCOLORS)。 CLICOLOR=1表示开启命令行颜色设置。 LSCOLORS=gxfxcxdxbxegedabagacad这个参数是对ls命令展示的内容进行配色,google下就有很多关于这个环境变量的解释,这里不在赘述。

  效果图 vim语法高亮 vim语法高亮就比较简单了,只需要为vim开启语法高亮功能,再选择一款好看一点的主题就行来 首先开启语法高亮功能

  在.vimrc文件末尾添加如下代码

  然后随便打开一个php(或其他语言的代码文件),就可以看到 选择主题 上面系统默认的主题可能不满意,我们可以找到vim的color主题目录

  vim自带的一些主题包就都在colors这个目录下了(不同电脑目录可能不一样~~~) 假设想要darkblue这一款的主题

  然后在末尾添加代码

  再打开一个代码文件查看下效果 懒人copy 终端prompt配色

  末尾添加(加完保存退出,重启终端)

  vim语法高亮

  末尾添加

   from:https://blog.csdn.net/elemman/article/details/50936304

MAC下MySQL初始密码忘记怎么办

解决MAC下MySQL忘记初始密码的方法分享给大家,供大家参考,具体内容如下 第一步: 点击系统偏好设置->最下边点MySQL,在弹出页面中,关闭服务 第二步: 进入终端输入:cd /usr/local/mysql/bin/ 回车后 登录管理员权限 sudo su 回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tables & 回车后mysql会自动重启(偏好设置中mysql的状态会变成running) 第三步: 输入命令 ./mysql 回车后,输入命令 FLUSH PRIVILEGES; 回车后,输入命令 SET PASSWORD FOR 'root’@’localhost' = PASSWORD('你的新密码');   from:https://www.jianshu.com/p/8afd7e179ff5

Mac系统常用快捷键大全

苹果Mac系统常用快捷键有很多,但是很多童鞋对于这些mac快捷键都不是很熟悉,今天小编为大家整理了一份Mac系统常用快捷键大全,大家快收藏起来吧!平时在使用mac系统的时候可以提高不少工作效率哦! Mac中主要有四个修饰键,分别是Command,Control,Option和Shift。 这四个键分别有自己的图案,他们经常出现在Mac应用程序中的菜单栏里,方便你随时学习新的快捷键。 MAC 键盘快捷键符号图例 keyboard-shortcuts-symbol-legend.jpg 通用 Command是Mac里最重要的修饰键,在大多数情况下相当于Windows下的Ctrl。 所以以下最基本操作很好理解: Command + Z 撤销 Command + X 剪切 Command + C 拷贝(Copy) Command + V 粘贴 Command + A 全选(All) Command + S 保存(Save) Command + F 查找(Find) general.jpg 系统 Option 开机后立即按下,将显示启动管理器。 如果Mac装有双系统或者插有启动U盘,可在启动管理器中选择启动盘 Command + R 开机后立即按下,可打开OS X的恢复功能(Recovery) Command + Option + P + R 开机后立即按下,重置NVRAM。 有些时候电脑会出现些小问题,重置NVRAM是你除了重新启动,尝试修复的第一选择。 Command + Option + Control + Power 退出所有应用程序,允许你进行文稿储存,然后关机 按住 Power 按钮5秒 强制Mac关机 system.jpg 截图 Command + Shift + 3 截取全部屏幕到文件 Command + Shift + Control + 3 截取全部屏幕到剪贴板 Command + Shift + 4 截取所选屏幕区域到一个文件,或按空格键仅捕捉一个窗口 Command + Shift + Control + 4 截取所选屏幕区域到剪贴板,或按空格键仅捕捉一个窗口 capture.jpg 文件管理器 Command + Shift + N 新建文件夹(New) Command + Shift + G 调出窗口,可输入绝对路径直达文件夹(Go) return 这个其实不算快捷键,点击文件,按下可重命名文件 Command + O 打开所选项。在Mac里打开文件不像Windows里直接按Enter Command + Option + V 作用相当于Windows里的文件剪切。 在其它位置上对文件复制(Command-C),在目的位置按下这个快捷键,文件将被剪切到此位置 Command + ↑ 打开包含当前文件夹的文件夹,相当于Windows里的“向上” Command + Delete 将文件移至废纸篓 Command + Shift + Delete 清倒废纸篓 Space 快速查看选中的文件,也就是预览功能 finder.jpg 切换 Command + Tab 在应用程序间切换 Command + Shift + Tab 在应用程序间切换(反向) Command + ~ 在各应用中的窗口间切换 switch.jpg 浏览器 Command + L 光标直接跳至地址栏 Control + Tab 转向下一个标签页 Control + Shift + Tab 转向上一个标签页 Command + '+’或’=' 放大页面 Command + '-' 缩小页面 sarafi.jpg 应用程序中 Command + H 隐藏(Hide)当前正在运行的应用程序窗口 Command + Option + H 隐藏(Hide)其他应用程序窗口 Command + Q 退出(Quit)最前面的应用程序 Command + Shift + Z 重做,也就是撤销的逆向操作 Command + Tab 在打开的应用程序列表中转到下一个最近使用的应用程序, 相当于Windows中(Alt+Tab) Command + Option + esc 打开“强制退出”窗口,如果有应用程序无响应,可在窗口列表中选择强制退出 文本处理 Command + B 切换所选文字粗体(Bold)显示 fn + Delete 相当于PC全尺寸键盘上的Delete,也就是向后删除 fn + ↑ 向上滚动一页(Page Up) fn + ↓ 向下滚动一页(Page Down) fn + ← 滚动至文稿开头(Home) fn + → 滚动至文稿末尾(End) Command + → 将光标移至当前行的行尾 Command + ← 将光标移至当前行的行首 Command + ↓ 将光标移至文稿末尾 Command + ↑ 将光标移至文稿开头 Option + → 将光标移至下一个单词的末尾 Option + ← 将光标移至上一个单词的开头 Control + A 移至行或段落的开头 如果你还想学习更多快捷键,请点击这里查看苹果官方的快捷键帮助文档。   from:https://www.jianshu.com/p/e86c35294d05

推荐两款mac管理应用软件

写在前面,大多用MacBook的人都有一个烦恼,就是软件之间的管理,应用生成的缓冲文件怎样删除,还有软件的卸载等等。。。 1.Dr.cleaner Dr Cleaner for mac是趋势科技推出,Mac OS平台上唯一一款集系统优化、垃圾清理、内存优化、应用程序管理等功能为一体的软件,简洁、安全、无广告。 【磁盘分析】 • 扫描您的磁盘并且呈现出一个可点击的多彩可交互文件分布图 • 点击分布图上的项目可以查看文件的详细信息 • 透过文件分布图,可以看出哪些文件或文件夹占用了整个磁盘的大量空间 【大文件扫描】 • 大文件一键扫描(用户可自定义扫描文件体积,从10MB及以上) • 多种筛选条件,包括大小、修改日期、文件名称和文件类型等 • 可以扫描iCloud drive等云储存系统存放的本地文件 • 被保护的文件将不会被显示 [*重要文件可以在保护目录中被锁定,以防误删。] 还有一个就是任务栏会显示你实时内存使用情况,这个功能很实用。 功能我就不一一描述了,还有一点的就是他的应用程序管理需要升级pro版本才可以用,不过这款软件还是功能挺优秀的。 2.AppCleaner 接下来推荐的一款软件就是AppCleaner,它弥补了dr.cleaner的缺陷,可以直接把软件拖到app中进行卸载。 App Cleaner Mac版是一款Mac上的软件卸载工具,App Cleaner Mac版是删除应用留在Mac OS X上的服务文件及卸载应用的最佳应用程序之一。卸载不需要的应用,删除应用的服务文件。确保它们不会占用您Mac上的宝贵空间。 这两款软件联合起来用你就可以很大程度的管理你MacBook的空间了。   from:https://blog.csdn.net/weixin_42634260/article/details/89606421

54bfaa21730010a09db664bc12f1faa2-1

搭建开发环境macOS-Android

欢迎使用 React Native!这篇文档会帮助你搭建基本的 React Native 开发环境。如果你已经搭好了环境,那么可以尝试一下编写 Hello World。 Follow these instructions if you need to build native code in your project. For example, if you are integrating React Native into an existing application, or if you "ejected" from Create React Native App, you’ll need this section. 根据你所使用的操作系统、针对的目标平台不同,具体步骤有所不同。如果想同时开发 iOS 和 Android 也没问题,你只需要先选一个平台开始,另一个平台的环境搭建只是稍有不同。 如果阅读完本文档后还碰到很多环境搭建的问题,我们建议你还可以再看看由本站提供的环境搭建视频教程(macOS iOS、macOS Android、windows Android)、windows 环境搭建文字教程、以及常见问题。注意!视频教程或者其他网络上的博客和文章可能和本文档有所出入,请以最新版本的本文档所述为准! 开发平台: macOS 目标平台: Android 安装依赖 必须安装的依赖有:Node、Watchman 和 React Native 命令行工具以及 JDK 和 Android Studio。 虽然你可以使用任何编辑器来开发应用(编写 js 代码),但你仍然必须安装 Android Studio 来获得编译 Android 应用所需的工具和环境。 Node, Watchman 我们推荐使用Homebrew来安装 Node 和 Watchman。在命令行中执行下列命令安装:

  如果你已经安装了 Node,请检查其版本是否在 v8.3 以上。安装完 Node 后建议设置 npm 镜像以加速后面的过程(或使用科学上网工具)。 注意:不要使用 cnpm!cnpm 安装的模块路径比较奇怪,packager 不能正常识别!

  Watchman则是由 Facebook 提供的监视文件系统变更的工具。安装此工具可以提高开发时的性能(packager 可以快速捕捉文件的变化从而实现实时刷新)。 Yarn、React Native 的命令行工具(react-native-cli) Yarn是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。React Native 的命令行工具用于执行创建、初始化、更新项目、运行打包服务(packager)等任务。

  安装完 yarn 后同理也要设置镜像源:

  安装完 yarn 之后就可以用 yarn 代替 npm 了,例如用yarn代替npm install命令,用yarn add 某第三方库名代替npm install 某第三方库名。 Java Development Kit React Native 需要 Java Development Kit [JDK] 1.8(暂不支持 1.9 及更高版本)。你可以在命令行中输入 javac -version来查看你当前安装的 JDK 版本。如果版本不合要求,则可以到 官网上下载。 Android 开发环境 如果你之前没有接触过 Android 的开发环境,那么请做好心理准备,这一过程相当繁琐。请万分仔细地阅读下面的说明,严格对照文档进行配置操作。 译注:请注意!!!国内用户必须必须必须有稳定的翻墙工具,否则在下载、安装、配置过程中会不断遭遇链接超时或断开,无法进行开发工作。某些翻墙工具可能只提供浏览器的代理功能,或只针对特定网站代理等等,请自行研究配置或更换其他软件。总之如果报错中出现有网址,那么 99% 就是无法正常翻墙。 1. 安装 Android Studio 首先下载和安装 Android Studio,国内用户可能无法打开官方链接,请自行使用搜索引擎搜索可用的下载链接。安装界面中选择"Custom"选项,确保选中了以下几项: Android SDK Android SDK Platform Performance (Intel ® HAXM) (AMD 处理器看这里) Android Virtual Device 然后点击"Next"来安装选中的组件。 如果选择框是灰的,你也可以先跳过,稍后再来安装这些组件。 安装完成后,看到欢迎界面时,就可以进行下面的操作了。 2. 安装 Android SDK Android Studio 默认会安装最新版本的 Android SDK。目前编译 React Native 应用需要的是Android 9 (Pie)版本的 SDK(注意 SDK 版本不等于终端系统版本,RN 目前支持 android4.1 以上设备)。你可以在 Android Studio 的 SDK Manager 中选择安装各版本的 SDK。 你可以在 Android Studio 的欢迎界面中找到 SDK Manager。点击"Configure",然后就能看到"SDK Manager"。 SDK Manager 还可以在 Android Studio 的"Preferences"菜单中找到。具体路径是Appearance & Behavior → System Settings → Android SDK。 在 SDK Manager 中选择"SDK Platforms"选项卡,然后在右下角勾选"Show Package Details"。展开Android 9 (Pie)选项,确保勾选了下面这些组件(重申你必须使用稳定的翻墙工具,否则可能都看不到这个界面): Android SDK Platform 28 Intel x86 Atom_64 System Image(官方模拟器镜像文件,使用非官方模拟器不需要安装此组件) 然后点击"SDK Tools"选项卡,同样勾中右下角的"Show Package Details"。展开"Android SDK Build-Tools"选项,确保选中了 React Native 所必须的28.0.3版本。你可以同时安装多个其他版本。 最后点击"Apply"来下载和安装这些组件。 3. 配置 ANDROID_HOME 环境变量 React Native 需要通过环境变量来了解你的 Android SDK 装在什么路径,从而正常进行编译。 具体的做法是把下面的命令加入到~/.bash_profile文件中: 译注:~表示用户目录,即/Users/你的用户名/,而小数点开头的文件在 Finder 中是隐藏的,并且这个文件有可能并不存在。可在终端下使用vi ~/.bash_profile命令创建或编辑。如不熟悉 vi 操作,请点击这里学习。

  如果你的命令行不是 bash,而是例如 zsh 等其他,请使用对应的配置文件。 使用source $HOME/.bash_profile命令来使环境变量设置立即生效(否则重启后才生效)。可以使用echo $ANDROID_HOME检查此变量是否已正确设置。 请确保你正常指定了 Android SDK 路径。你可以在 Android Studio 的"Preferences"菜单中查看 SDK 的真实路径,具体是Appearance & Behavior → System Settings→ Android SDK。 创建新项目 使用 React Native 命令行工具来创建一个名为"AwesomeProject"的新项目:

  提示:你可以使用--version参数(注意是两个杠)创建指定版本的项目。例如react-native init MyApp --version 0.44.3。注意版本号必须精确到两个小数点。 Windows 用户请注意,请不要在某些权限敏感的目录例如 System32 目录中 init 项目!会有各种权限限制导致不能运行! 如果你是想把 React Native 集成到现有的原生项目中,则步骤完全不同,请参考集成到现有原生应用。 准备 Android 设备 你需要准备一台 Android 设备来运行 React Native Android 应用。这里所指的设备既可以是真机,也可以是模拟器。后面我们所有的文档除非特别说明,并不区分真机或者模拟器。Android 官方提供了名为 Android Virtual Device(简称 AVD)的模拟器。此外还有很多第三方提供的模拟器如Genymotion、BlueStack 等。一般来说官方模拟器免费、功能完整,但性能较差。第三方模拟器性能较好,但可能需要付费,或带有广告。 使用 Android 真机 你也可以使用 Android 真机来代替模拟器进行开发,只需用 usb 数据线连接到电脑,然后遵照在设备上运行这篇文档的说明操作即可。 使用 Android 模拟器 你可以使用 Android Studio 打开项目下的"android"目录,然后可以使用"AVD Manager"来查看可用的虚拟设备,它的图标看起来像下面这样: 如果你刚刚才安装 Android Studio,那么可能需要先创建一个虚拟设备。点击"Create Virtual Device…",然后选择所需的设备类型并点击"Next",然后选择Pie API Level 28 image. 译注:请不要轻易点击 Android Studio 中可能弹出的建议更新项目中某依赖项的建议,否则可能导致无法运行。 如果你还没有安装 HAXM(Intel 虚拟硬件加速驱动),则先按这篇文档说明来进行安装。 然后点击"Next"和"Finish"来完成虚拟设备的创建。现在你应该可以点击虚拟设备旁的绿色三角按钮来启动它了,启动完后我们可以尝试运行应用。 编译并运行 React Native 应用 确保你先运行了模拟器或者连接了真机,然后在你的项目目录中运行react-native run-android:

  如果配置没有问题,你应该可以看到应用自动安装到设备上并开始运行。注意第一次运行时需要下载大量编译依赖,耗时可能数十分钟。此过程严重依赖稳定的翻墙工具,否则将频繁遭遇链接超时和断开,导致无法运行。 如果你的设备的 Android 版本低于 5.0,则可能在运行时看到红屏,请阅读在设备上运行这篇文档来按照步骤解决。 react-native run-android只是运行应用的方式之一。你也可以在 Android Studio 或是Nuclide中直接运行应用。 译注:建议在run-android成功后再尝试使用 Android Studio 启动。请不要轻易点击 Android Studio 中可能弹出的建议更新项目中某依赖项的建议,否则可能导致无法运行。 如果你无法正常运行,遇到奇奇怪怪的红屏错误,先回头仔细对照文档检查,然后可以看看论坛的求助专区。不同时期不同版本可能会碰到不同的问题,我们会在论坛中及时解答更新。但请注意千万不要执行 bundle 命令,那样会导致代码完全无法刷新。 修改项目 现在你已经成功运行了项目,我们可以开始尝试动手改一改了: 使用你喜欢的文本编辑器打开App.js并随便改上几行 按两下 R 键,或是用 Menu 键(通常是 F2,在 Genymotion 模拟器中是⌘+M)打开开发者菜单,然后选择 Reload JS 就可以看到你的最新修改。 完成了! 恭喜!你已经成功运行并修改了你的第一个 React Native 应用。 接下来? 试着在开发者菜单中打开Live Reload,现在你只要一保存代码应用就会自动完整刷新。 如果你想把 React Native 集成到现有的原生项目中,则请参考集成到现有原生应用。 如果你想从头开始学习 React Native 开发,可以从尝试编写 Hello World开始。

搭建开发环境macOS-IOS

欢迎使用 React Native!这篇文档会帮助你搭建基本的 React Native 开发环境。如果你已经搭好了环境,那么可以尝试一下编写 Hello World。 Follow these instructions if you need to build native code in your project. For example, if you are integrating React Native into an existing application, or if you "ejected" from Create React Native App, you’ll need this section. 根据你所使用的操作系统、针对的目标平台不同,具体步骤有所不同。如果想同时开发 iOS 和 Android 也没问题,你只需要先选一个平台开始,另一个平台的环境搭建只是稍有不同。 如果阅读完本文档后还碰到很多环境搭建的问题,我们建议你还可以再看看由本站提供的环境搭建视频教程(macOS iOS、macOS Android、windows Android)、windows 环境搭建文字教程、以及常见问题。注意!视频教程或者其他网络上的博客和文章可能和本文档有所出入,请以最新版本的本文档所述为准! 开发平台: macOS 目标平台: iOS 安装依赖 必须安装的依赖有:Node、Watchman 和 React Native 命令行工具以及 Xcode。 虽然你可以使用任何编辑器来开发应用(编写 js 代码),但你仍然必须安装 Xcode 来获得编译 iOS 应用所需的工具和环境。 Node, Watchman 我们推荐使用Homebrew来安装 Node 和 Watchman。在命令行中执行下列命令安装:

如果你已经安装了 Node,请检查其版本是否在 v8.3 以上。安装完 Node 后建议设置 npm 镜像以加速后面的过程(或使用科学上网工具)。 注意:不要使用 cnpm!cnpm 安装的模块路径比较奇怪,packager 不能正常识别!

Watchman则是由 Facebook 提供的监视文件系统变更的工具。安装此工具可以提高开发时的性能(packager 可以快速捕捉文件的变化从而实现实时刷新)。 Yarn、React Native 的命令行工具(react-native-cli) Yarn是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。React Native 的命令行工具用于执行创建、初始化、更新项目、运行打包服务(packager)等任务。

  安装完 yarn 后同理也要设置镜像源:

  安装完 yarn 之后就可以用 yarn 代替 npm 了,例如用yarn代替npm install命令,用yarn add 某第三方库名代替npm install 某第三方库名。 Xcode React Native 目前需要Xcode 9.4 或更高版本。你可以通过 App Store 或是到Apple 开发者官网上下载。这一步骤会同时安装 Xcode IDE、Xcode 的命令行工具和 iOS 模拟器。 Xcode 的命令行工具 启动 Xcode,并在Xcode | Preferences | Locations菜单中检查一下是否装有某个版本的Command Line Tools。Xcode 的命令行工具中包含一些必须的工具,比如git等。 创建新项目 使用 React Native 命令行工具来创建一个名为"AwesomeProject"的新项目: !!!注意!!!:init 命令默认会创建最新的版本,而目前最新的 0.45 及以上版本需要下载 boost 等几个第三方库编译。这些库在国内即便翻墙也很难下载成功,导致很多人无法运行iOS项目!!!中文网在论坛中提供了这些库的国内下载链接。如果你嫌麻烦,又没有对新版本的需求,那么可以暂时创建0.44.3的版本。

  提示:你可以使用--version参数(注意是两个杠)创建指定版本的项目。例如react-native init MyApp --version 0.44.3。注意版本号必须精确到两个小数点。 如果你是想把 React Native 集成到现有的原生项目中,则步骤完全不同,请参考集成到现有原生应用。 编译并运行 React Native 应用 在你的项目目录中运行react-native run-ios:

  提示:如果 run-ios 无法正常运行,请使用 Xcode 运行来查看具体错误(run-ios 的报错没有任何具体信息)。 很快就应该能看到 iOS 模拟器自动启动并运行你的项目。 react-native run-ios只是运行应用的方式之一。你也可以在 Xcode 或是Nuclide中直接运行应用。 如果你无法正常运行,先回头仔细对照文档检查,然后可以看看论坛的求助专区。 在真机上运行 上面的命令会自动在 iOS 模拟器上运行应用,如果你想在真机上运行,则请阅读在设备上运行这篇文档。 修改项目 现在你已经成功运行了项目,我们可以开始尝试动手改一改了: 使用你喜欢的编辑器打开App.js并随便改上几行。 在 iOS 模拟器中按下⌘-R就可以刷新 APP 并看到你的最新修改!(如果没有反应,请检查模拟器的 Hardware 菜单中,connect hardware keyboard 选项是否选中开启) 完成了! 恭喜!你已经成功运行并修改了你的第一个 React Native 应用。 接下来? 试着在开发者菜单中打开Live Reload,现在你只要一保存代码应用就会自动完整刷新。 如果你想把 React Native 集成到现有的原生项目中,则请参考集成到现有原生应用。 如果你想从头开始学习 React Native 开发,可以从尝试编写 Hello World开始。

Asp.Net Core 发布和部署( MacOS + Linux + Nginx )

前言 在上篇文章中,主要介绍了 Dotnet Core Run 命令,这篇文章主要是讲解如何在Linux中,对 Asp.Net Core 的程序进行发布和部署。 有关如何在 Jexus 中进行部署,请参见本人的另一篇文章: http://www.cnblogs.com/savorboard/p/dot-net-linux-jexus.html 目录 新建一个 WebApp 项目 发布到 Linux,Mac OS 使用 Nginx 进行反向代理 新建一个 WebApp 项目 在 Asp.Net Core 项目中,我们使用 dotnet new -t WebApp 命令和创建一个新的空的 Web 应用程序。 以下是我在 Mac 中的截图: 主要是用以下几个命令: mkdir HelloWebApp 这个命令是创建一个名为 HelloWebApp 的文件夹。 dotnet new -t Web 这个命令是使用 Web 模板来新建一个 WebApp 的 Mvc 应用程序。 新建了应用程序之后,使用dotnet restore 和 dotnet run 命令来测试一下我们的应用程序。 可以看到已经成功运行了。 我们打开浏览器输入 http://localhost:5000,来看一下效果。 ps: Safari 下面,浏览器地址栏看不到端口号,实际上是5000端口。 发布到 Linux,Mac OS 如果发布应用程序,我们需要使用 dotnet publish命令,通过使用 --help 参数可以看到一些可以使用的命令参数。

  我们直接运行dotnet publish 使用默认的发布路径,当看到Published 1/1 projects successfully的时候,说明已经发布成功了。 接着进入到 bin 文件夹下的Debug 文件夹下的netcoreapp1.0 文件夹,然后会看到有一个 publish 的文件夹。这就是默认发布生成的文件夹,在这个文件夹中可以看到我们程序所有依赖的程序集文件。 发布之后 publish 文件夹里面的子文件夹有必要说明一下。

  然后我们把工作目录切换到发布的 publish 文件夹。使用dotnet HelloWebApp.dll测试发布过后的程序是否运行正常。 使用 Nginx 进行反向代理 Mac OS Linux(Ubuntu) 注意事项 反向代理,即把我们应用程序的一部分路径交给 Nginx 去处理,比如静态文件,图片等。另外一部分动态的交给 Kestrel 来处理。这样可以降低我们的后端 Kestrel 的压力,以及可以在 Nginx 配置负载均衡等。 还有一个很重要的优势就是 Web 中的缓存,会在代理服务器这一步来处理。大家看下面这个图: 至于怎么样添加代理服务器可以识别到的缓存,可以关注我后面发表的博客文章。 Mac OS 安装 dotnet 环境参见官方网站 https://www.microsoft.com/net/core#macos。 1、 在 mac 中打开命令行,输入 brew install nginx 首先安装 nginx。 2、 安装完成之后,输入 nginx -v查看是否安装成功。显示nginx version: nginx/1.10.1表示安装已经成功。 3、配置 nginx 代理。 安装完 nginx 之后,默认的配置文件路径在 /usr/local/etc/nginx 文件夹中。在这个文件夹中找到nginx.conf 配置文件,使用 Visual Studio Code 打开,在 Server 节点中,找到监听 80端口的location 节点,修改配置为如下:

  保存并退出。 然后使用sudo nginx -s reload命令来重新加载配置。 然后我们打开浏览器 输入http://localhost,发现此时已经通过 nginx 来访问我们的站点了。 ps: Safari 下面,浏览器地址栏看不到端口号,实际上是80端口。 Linux(Ubuntu) 安装 dotnet 环境参见官方网站 https://www.microsoft.com/net/core#ubuntu。 首先在Ubuntu 中新建一个文件夹,把我们发布的 publish 文件夹拷贝到 Liunx 中。然后测试一下是否可以正常运行。 1、 在 linux(Ubuntu) 中新开一个命令行窗口,输入 apt-get install nginx 首先安装 nginx。 2、 安装完成之后,输入 nginx -v查看是否安装成功。显示nginx version: nginx/1.4.6表示安装已经成功。

  测试 nginx 是否运行成功,打开浏览器,输入 http://localhost 查看是否显示如下界面。 3、配置 nginx 代理。 安装完 nginx 之后,默认的配置文件路径在 /etc/nginx/sites-available/default 文件中。切换工作目录到/etc/nginx/sites-available/,使用sudo gedit default命令打开 default 文件。 在 Server 节点中,找到监听 80端口的location 节点,修改内容为如下:

  保存并退出。 然后使用sudo nginx -s reload命令来重新加载配置。 然后我们打开浏览器 输入http://localhost,发现此时已经通过 nginx 来访问我们的站点了。 注意事项 1、在使用 nginx 代理访问站点的时候, 保持命令dotnet run HelloWebApp.dll的命令行窗口必须开启。 2、可以使用下面的命令来让一个命令行运行在后台进程中。

  这个时候你就可以把命令行窗口关掉了。 下一篇将讲解如何在 Linux 中使用 Docker 进行部署,以及如何脱离命令行宿主给我们的dotnet程序创建一个守护进程,及宕机失败自动重启等等。。。 请持续关注。 如果你觉得本文对你有帮助,不妨点个【推荐】。 本文地址:http://www.cnblogs.com/savorboard/p/dotnet-core-publish-nginx.html 作者博客:Savorboard 欢迎转载,请保留出处