分类 Linux 下的文章

git reset --hard <commit_id>

git push origin HEAD --force

根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:

git reset –mixed:不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-mcrypt/mcrypt.so' - dlopen(/usr/local/opt/php56-mcrypt/mcrypt.so, 9): Library not loaded: /usr/local/opt/libtool/lib/libltdl.7.dylib
  Referenced from: /usr/local/opt/php56-mcrypt/mcrypt.so
  Reason: image not found in Unknown on line 0

解决方案

brew install libtool

服务起停

sudo /etc/init.d/supervisord {start|stop|status|restart|reload|force-reload|condrestart}

配置文件路径

/etc/supervisord.conf

配置项

[progran:example]              ;项目名
command=/bin/echo              ;supervisor启动时将要开启的进程。相对或绝对路径均可。若是相对路径则会从supervisord的$PATH变中查找。命令可带参数。  
priority=999                   ;指明进程启动和关闭的顺序。低优先级表明进程启动时较先启动关闭时较后关闭。高优先级表明进程启动时启动时较后启动关闭时较先关闭。  
autostart=true                 ;是否随supervisord启动而启动  
autorestart=true               ;进程意外退出后是否自动重启  
startsecs=10                   ;进程持续运行多久才认为是启动成功  
startretries=3                 ;重启失败的连续重试次数  
exitcodes=0,2                  ;若autostart设置为unexpected且监控的进程并非因为supervisord停止而退出,那么如果进程的退出码不在exitcode列表中supervisord将重启进程  
stopsignal=QUIT                ;杀进程的信号  
stopwaitsecs=10                ;向进程发出stopsignal后等待OS向supervisord返回SIGCHILD 的时间。若超时则supervisord将使用SIGKILL杀进程  

日志文件路径

/var/log/supervisor/supervisord.log

公司服务器原来环境为nginx+php53
因为负责的项目需要,需要更新php版本为php5.6,为了不影响历史遗留项目,选用了安装Apache24+php56,经过nginx反代后双版本共存。
其中遇到了一些问题:

[crit] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.
Pre-configuration failed

Action 'configtest' failed.

查资料后统计问题原因如下,所使用的源php默认为NTS版本,apache为TS版本,不兼容导致。

解决方案:
移除libapache2-mod-php5模块,安装libapache2-mod-php5filter模块,Apache2正常启动。

over