Some Commands Record.
Bash
Linux
Git
环境变量
- 显示所有环境变量
env
- 导出变量
export NODE_ENV='production'
- 删除变量
unset NODE_ENV
NODE_ENV
为举例变量名,可使用任意名称
命令行打开网页或文件夹
- Linux :
open xxx
- Windows : 打开网页
start xxx
| 打开文件资源管理器explorer
Example
打开网址 <yunyoujun.cn>:
start yunyoujun.cn
打开当前目录:
explorer .
&& 与 ||
;
如果被分号(;)所分隔的命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令。- 如果第一个命令执行成功,与操作符 ( && )才会执行第二个命令
- 如果第一个命令执行失败,或操作符 ( || )才会执行第二个命令
# algolia.sh
export HEXO_ALGOLIA_INDEXING_KEY=xxx
hexo clean
hexo algolia
- 如上文件在
git bash
中执行时为逐行执行,执行完hexo clean
后(不管从成功还是失败)执行hexo alglolia
hexo clean && hexo algolia
则意味着hexo clean
执行成功,才会执行hexo algolia
Java MVN
- 编译 Java :
mvn compile (默认放在 src/main/java 目录下)
- 执行 java 类 :
mvn exec:java -Dexec.mainClass="bean.User"
- 运行服务器 :
mvn tomcat7:run
To Be Continued.
Laravel 框架使用过程中的一些笔记。
线上部署
相关过程
- LNMP 一键安装包
- 记 LNMP 一键安装后 Laravel 线上部署的坑
关键步骤
安装 composer
- Composer 官网
git 部署
- 安装 git,
$ sudo apt install git
。 - 创建 ssh-key,
$ ssh-keygen -t rsa -C "邮箱"
,一路回车。 $ cat ~/.ssh/id_rsa.pub
复制公钥到 github 上。添加 ssh key。$ cd /home/wwwroot
到放置项目代码的文件夹$ git clone git@github.com:用户名/项目名.git
,从 github 获取线上代码。$ cp .env.example .env
对.env 文件并进行配置。(app_key,database,mail 等)$ composer install
安装相关包$ php artisan migrate
安装数据库迁移
FAQ
数据库字符长度过长
参见 Laravel 5.4 migrate 时报错: Specified key was too long error
代码语言:javascript复制1071 Specified key was too long; max key length is 767 bytes
MySql 支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会出现插入异常。三个字节 UTF-8 最大能编码的 Unicode 字符是 0xffff ,即 Unicode 中的基本多文种平面(BMP)。因而包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码)在内的非基本多文种平面的 Unicode 字符都无法使用 MySql 的 utf8 字符集存储。
这也应该就是 Laravel 5.4 改用 4 字节长度的 utf8mb4 字符编码的原因之一。不过要注意的是,只有 MySql 5.5.3 版本以后才开始支持 utf8mb4 字符编码(查看版本:selection version();)。如果 MySql 版本过低,需要进行版本更新。
解决方案(二选一)
- 升级 MySql 版本到 5.5.3 以上。
- 手动配置迁移命令 migrate 生成的默认字符串长度,在
appProvidersAppServiceProders
中调用Schema::defaultStringLength
方法来实现配置:
use IlluminateSupportFacadesSchema;
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}
停止维护时间戳
代码语言:javascript复制class Xxx extends Model {
public $timestamps= false;
}
模版插件
Laravel-admin
- GitHub: https://github.com/z-song/laravel-admin
- 中文文档: http://laravel-admin.org/docs/#/zh/
- 官网:http://laravel-admin.org
- Demo: http://laravel-admin.org/demo/auth/login
To Be Continued.