手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表全部文章

deployer 快速部署

 deployer是一个PHP版的部署工具,支持各类框架以及裸PHP的部署(支持的框架,其实也只是帮你预置了一些代码,方便你调用而已)

但deployer在部署的时候,其实都是从头开始执行了一遍流程,如果只是简单的改了一些小BUG,不影响整体的,这样的话,就性能太低了。或者说不是叫性能太低,是太耗时间了。毕竟composer帮你执行一遍。好歹也得有个1~2分钟了吧。git 拉一下全库,又得1~2分钟这得多痛苦。

所以简单写了一个task,如果更新不涉及composer/migration,就这样执行一下下喽

PHP代码
  1. desc("只更新代码");  
  2. task("pull",function(){  
  3.     writeln(run("cd {{current_path}} && git pull"));  
  4. });  
  5.   
  6. desc("更新代码,并清除一些缓存");  
  7. task("update",[  
  8.     'pull',  
  9.     'artisan:cache:clear',  
  10.     'artisan:config:cache',  
  11.     'artisan:route:cache',  
  12.     'artisan:optimize',  
  13.     'artisan:queue:restart'  
  14. ]);  

这种就是属于临时性的。全量还是得靠 dep deploy。

想想的话,这样好象也暂够用了。如果将dep再配置一个后台,也可以完成很多事情。算了,不折腾

 

 

Tags: deployer

laravel 队列报错:`AUTH` failed: ERR Client sent AUTH, but no password is set [tcp://127.0.0.1:6379]

在用pm2管理队列的时候。发现queue:work一直启动失败,用pm2 log 看了一下,发现报错:【`AUTH` failed: ERR Client sent AUTH, but no password is set [tcp://127.0.0.1:6379]】

先确认redis是否有密码:

1、cat /etc/redis/redis.conf中确实 requirepass前的注释没有去掉。

2、运行redis-cli,config get requirepass,发现也确实是空

3、运行redis-cli,输入auth xxx ,返回:(error) ERR Client sent AUTH, but no password is set,证明确实没有密码

然后检查代码:
1、.env 文件中是否设置:未设置
2、config/database.php中是否设置:未设置
 
那这个问题就怪了,不过还是google了一下,发现好象是 predis 的问题。改成这样就OK了:
PHP代码
  1. 'default' => [  
  2.     'host'     => env('REDIS_HOST''127.0.0.1'),  
  3.     'port'     => env('REDIS_PORT', 6379),  
  4.     'database' => env('REDIS_DATABASE', 0),  
  5.     'password' => env('REDIS_PASSWORD', null),  
  6.     //以下为新增  
  7.     'parameters'=>[  
  8.         'password'=>env('REDIS_PASSWORD', null)  
  9.     ]  
  10. ],  
database.php中关于redis那一块,增加 parameters 的数组下标,问题解决。
 
 

用pm2管理frpc

原来我的frpc是用supervisor来管理的。但不得不说的是,mac上面的supervisor真心不稳定。挂了重启还是会失败。

每次一失败,我都得跑上几十公里,去启动一下。。。于是这次尝试了用pm2来管理着看看,还算比较方便:
npm install -g pm2
pm2 start -x './frpc' -n frp -- -c /xxx/frp/frpc.ini
 
-x 是指定运行的文件
-n 是在pm2 status中显示的名称
-- 之后的是 ./frpc的参数 (最好是绝对路径)
 
运行如果没有报错,用pm2 status看一下就知道了。希望这样能够坚持长久一点

mac下为什么没有右键打印?

如题,windows就有这个功能。虽然是快速打开然后关闭。但好歹不需要等来等去的啊

 
因为是PDF,所以上一篇的内容就派上用场了。。。
 
XML/HTML代码
  1. gouki@gouki 第九章学案 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.1字母表示数学案.pdf  
  2. gouki@gouki 第九章学案 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.2代数式学案.pdf  
  3. gouki@gouki 第九章学案 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.3代数式的值学案.pdf  
  4. gouki@gouki 第九章学案 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.4整式学案.pdf  
  5. gouki@gouki 第九章学案 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.5合并同类项学案.pdf  
  6. gouki@gouki 第九章学案 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.6整式的加减学案.pdf  
  7. gouki@gouki 第九章学案 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.7同底数幂的乘法学案.pdf  
  8. gouki@gouki 第九章学案 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.8幂的乘方学案.pdf  
  9. gouki@gouki 第九章学案 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.9积的乘方学案.pdf  
  10. gouki@gouki 第九章学案 % cd ../第九章作业  
  11. gouki@gouki 第九章作业 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.1字母表示数作业.pdf  
  12. gouki@gouki 第九章作业 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.2代数式作业.pdf  
  13. gouki@gouki 第九章作业 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.3代数式的值作业.pdf  
  14. gouki@gouki 第九章作业 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.4整式作业.pdf  
  15. gouki@gouki 第九章作业 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.5合并同类项作业.pdf  
  16. gouki@gouki 第九章作业 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.6整式的加减作业.pdf  
  17. gouki@gouki 第九章作业 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.7同底数幂的乘法作业.pdf  
  18. gouki@gouki 第九章作业 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.8幂的乘方作业.pdf  
  19. gouki@gouki 第九章作业 % lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` 9.9积的乘方作业.pdf  
嗯。没有用for in ,想着不多。。。其实还是应该可以用一下for in 或者 find . |exec 之类的

mac下实现命令行打印文件

最近全部改成电子上课,老师发课都在微信群里,说实话。真的挺烦。群里 也是各种聊天不止,怎么办?

最无耻的办法,将,只要是老师发的话,全部打印出来(嗯,超过20个字以上的。。。),但我怎么知道谁是老师呢?用wechaty pad版,针对指定群接收消息,或者无所谓,判断是否是群消息,同时发消息的人是谁(这个可以初期就记录下,并存储起来)
    然后将文字的话,存成txt文件。调用命令行打印。
 
    如果老师发的是pdf,嗯。不用担心,也能直接打印。
    如果老师发的是图片,嗯?这个,能够直接打印
    如果老师发的是word?嗯,这个。。。也打不了。。。
 
于是现在命令问题(原来字打错了)来了,只要老师发的是word(其实老师不用苹果,也不会有pages,事实上pages也不能直接打印),就没法打印,怎么办?网上有word2pdf的程序,先将word转成pdf再打印就OK了。
 
OK,那怎么打印呢?在mac下面其实很简单?
 
lpr -P`lpstat -v|awk '{print $3}'|head -1|awk 'BEGIN{FS=":"} {print $1}'` ~/Desktop/xxx.txt
 
上面是两个方法的信合,lpstat是获取当所有的打印机,取第一条默认的。。。然后用【lpr -P打印机名 要打的文件】,直接打印。
------
——EOF——
上面都是理论情况,实际上,我的pad plus已经过期了。
1、因为要200一个月,但我还没有完整的基于他开发,所以就暂废了
2、上面的打印其实浪费了不少纸。更关键的是,其实有些群我没有加,而且老师有时候发作业是通过【晓黑板】等第三方程序。那我基于他开发的意义就失去了
 
所以,做个记录吧。就当记录一下,打印机是怎么调用的吧。。。。
 
    
Records:289012345678910»