Laravel基础 2019-05-24 命令 其他123456789101112131415161718192021# 生成静态页面控制器php artisan make:controller StaticPagesController# 命名路由Route::get('/', 'StaticPagesController@home')->name('home');# 创建数据库php artisan make:migration create_statuses_table --create="statuses"# 数据库迁移php artisan migrate# 数据回滚php artisan migrate:rollback# 创建Model同时创建迁移文件php artisan make:model Models/Article -m# 创建授权策略php artisan make:policy UserPolicy# 生出数据填充文件php artisan make:seeder UsersTableSeeder# 填充数据php artisan db:seedphp artisan db:seed --class=UsersTableSeeder# 重置+填充php artisan migrate:refresh --seed Artisan命令12345678910111213php artisan key:generate # 生成 App Keyphp artisan make:controller # 生成控制器php artisan make:model # 生成模型php artisan make:policy # 生成授权策略php artisan make:seeder # 生成 Seeder 文件php artisan migrate # 执行迁移php artisan migrate:rollback # 回滚迁移php artisan migrate:refresh # 重置数据库php artisan db:seed # 填充数据库php artisan tinker # 进入 tinker 环境php artisan route:list # 查看路由列表# 查看帮助php artisan help migrate 模板 css12345# 初始化样式yarn install --no-bin-linksyarn add cross-envnpm run devnpm run watch-poll html1234567891011121314<!-- 引入public目录下的样式文件 -->{{ mix('css/app.css') }}<!-- 继承父视图 -->@extends('layouts.default')<!-- 填充父视图content块 -->@section('content') <h1>主页</h1>@stop<!-- 引入局部视图 -->@include('layouts._header')<!-- 连接 -->{{ route('help') }}<!-- 显示旧输入数据 -->{{ old('name') }} 路由12345678910Route::resource('users', 'UsersController');# 等同于下方7个方法Route::get('/users', 'UsersController@index')->name('users.index'); # 显示所有用户列表的页面Route::get('/users/create', 'UsersController@create')->name('users.create'); # 创建用户的页面Route::get('/users/{user}', 'UsersController@show')->name('users.show'); # 显示用户个人信息的页面Route::post('/users', 'UsersController@store')->name('users.store'); # 创建用户Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit'); # 编辑用户个人资料的页面Route::patch('/users/{user}', 'UsersController@update')->name('users.update'); # 更新用户Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy'); # 删除用户 数据12345678910111213# 一对多# Statuspublic function user(){ return $this->belongsTo(User::class);}# Userpublic function statuses(){ return $this->hasMany(Status::class);}# 获取微博并排序、分页$statuses = $user->statuses()->orderBy('created_at', 'desc')->paginate(30);
CentOS7 安装最新版git 2018-10-08 查看是否安装了git12rpm -qa|grep git #查看rpm -e --nodeps git #删除 安装依赖包1yum -y install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel 安装最新版git1234567891011121314151617wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz #下载tar -zxvf git-2.9.5.tar.gz #解压缩./configure --prefix=/usr/local/gitmake && make installcd /binln -s /usr/local/git/bin/git gitcd /usr/binln -s /usr/local/git/bin/git gitcd /usr/local/binln -s /usr/local/git/bin/git gitcd /git --version
Centos7 安装最新Docker 2018-05-04 查找删除现有docker12345# 停止dockersystemctl stop dockeryum list installed | grep docker# 然后移除(卸载)dockerrm -rf /var/lib/docker 安装最新版docker12345678910# 安装源yum install -y yum-utilsyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum makecache fast# 安装dockeryum -y install docker-ce# 启动dockersystemctl start docker# 开机启动systemctl enable docker
利用WebHook实现PHP自动部署Git代码 2018-03-05 服务器生成公钥1sudo -Hu www ssh-keygen -t rsa # 请选择 “no passphrase”,一直回车下去 准备钩子文件1234567891011121314151617error_reporting(1);$target = '路径';$token = '密钥';$signature = $_SERVER['HTTP_X_CODING_SIGNATURE'];$json = file_get_contents('php://input');if (!isFromGithub($json, $token, $signature)) { exit('error request');}$cmd = "cd $target && git pull";shell_exec($cmd);function isFromGithub($json, $token, $signature){ return 'sha1=' . hash_hmac('sha1', $json, $token, false) === $signature;} 修改git配置和保存git用户名密码123sudo -Hu www git config --global credential.helper store # 永久保存sudo -Hu www git config --global user.name "Bantes" sudo -Hu www git config --global user.email "admin@xsooo.com" # 邮箱请与conding上一致 在Coding网站添加部署公钥复制/home/www/.ssh/id_rsa.pub的内容并添加到部署公钥 添加hook在Coding网站上添加hook 初始化需要先在服务器上clone一次1sudo -Hu www git clone https://git.coding.net/yourname/yourgit.git /home/wwwroot/website.com/ yourgit --depth=1 注意事项 sudo使用git 使用www权限 php执行权限
Mac自定义终端(Terminal)欢迎图案 2017-06-09 配置方法打开终端(可以command+空格键,然后输入ter自动打开终端); 12输入 cd /etc;输入 sudo pico motd; 然后将想要输入的图案或文字在终端中粘贴; 1最后,按键:control+x ,再按y回车保存。
CentOS平滑升级Redis 2016-08-12 CentOS平滑升级Redis首先抓下最新稳定版解压在原本安装redis的目录,执行安装操作来升级redisOK,完成了?就是这么简单,完成了,难道不要重启redis服务吗?应用官方文档:http://redis.cn/topics/admin.html
在Mac中使用“dd”指令刻录.ISO镜像至U盘 2016-05-17 1234diskutil list # 查看U盘位置diskutil unmountDisk [U盘位置]sudo dd if=[.ISO文件位置] of=[U盘位置] bs=1m; sync # 漫长的等待diskutil eject [U盘位置] # 弹出U盘
日志分析 2016-03-18 12345678910111213141516171819202122#查看ipcat access_log | awk '{print $1}'#对ip排序cat access_log | awk '{print $1}' | sort#打印重复行出现的次数cat access_log | awk '{print $1}' | sort | uniq -c#排序并统计行数cat access_log | awk '{print $1}' | sort | uniq -c | sort -rn | wc -l<!-- more -->#显示访问前10cat access_log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10#显示指定时间以后的日志cat access_log | awk '$4>="[19/Dec/2014:17:30:10"' access_log#找出访问量最大的ip,并封掉cat access_log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10iptables -I INPUT -s 192.168.0.1 -j DROPiptables -I INPUT -s 192.168.0.2 -j DROP
Mysql语句分析 2016-03-18 显示哪些线程正在运行1show processlist; 显示了mysql如何使用索引来处理select语句以及连接表1explain SELECT * FROM TABLES; 捕获低效SQL语句1234567891011slow_query_log = 1#这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句<!-- more -->long_query_time = 1#当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短slow_query_log_file = /tmp/m.log#记录日志的文件名log_queries_not_using_indexes = on#这个参数设置为ON,可以捕获到所有未使用索引的SQL语句,尽管这个SQL语句有可能执行得挺快