您正在查看: 技术Note 分类下的文章

php-fpm启动,重启,终止操作

启动php-fpm:

/usr/local/php/sbin/php-fpm

php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制:

master进程可以理解以下信号

INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块

一个简单直接的重启方法:

先查看php-fpm的master进程号

复制代码

ps aux|grep php-fpm

root 21891 0.0 0.0 112660 960 pts/3 R+ 16:18 0:00 grep --color=auto php-fpm
root 42891 0.0 0.1 182796 1220 ? Ss 4月18 0:19 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody 42892 0.0 0.6 183000 6516 ? S 4月18 0:07 php-fpm: pool www
nobody 42893 0.0 0.6 183000 6508 ? S 4月18 0:17 php-fpm: pool www
复制代码
重启php-fpm:

kill -USR2 42891

OK了。

上面方案一般是没有生成php-fpm.pid文件时使用,如果要生成php-fpm.pid,使用下面这种方案:

上面master进程可以看到,matster使用的是/usr/local/php/etc/php-fpm.conf这个配置文件,cat /usr/local/php/etc/php-fpm.conf 发现:

[global]
; Pid file
; Note: the default prefix is /usr/local/php/var
; Default Value: none
;pid = run/php-fpm.pid

pid文件路径应该位于/usr/local/php/var/run/php-fpm.pid,由于注释掉,所以没有生成,我们把注释去除,再kill -USR2 42891 重启php-fpm,便会生成pid文件,下次就可以使用以下命令重启,关闭php-fpm了:

php-fpm 关闭:
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
php-fpm 重启:
kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'

Mac brew安装redis

1.安装brew,没有的自行百度安装

2.安装redis

brew install redis

3.启动redis(可选)

redis-server

4.添加至开机启动项(可选)

 ln -f /usr/local/Cellar/redis/2.8.13/homebrew.mxcl.redis.plist ~/Library/LaunchAgents/
 launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

PHP获取今天、昨天、明天的日期


<?php  
echo "今天:".date("Y-m-d");       
echo "昨天:".date("Y-m-d",strtotime("-1 day"));       
echo "明天:".date("Y-m-d",strtotime("+1 day"));    
echo "一周后:".date("Y-m-d",strtotime("+1 week"));       
echo "一周零两天四小时两秒后:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds"));       
echo "下个星期四:".date("Y-m-d",strtotime("next Thursday"));       
echo "上个周一:".date("Y-m-d",strtotime("last Monday"));       
echo "一个月前:".date("Y-m-d",strtotime("last month"));       
echo "一个月后:".date("Y-m-d",strtotime("+1 month"));       
echo "十年后:".date("Y-m-d",strtotime("+10 year"));      
?>  

Linux 下MySql 重置密码

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:

vi /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。
3.重新启动mysqld

/etc/init.d/mysqld restart

Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登录并修改MySQL的root密码

/usr/bin/mysql

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
5.将MySQL的登录设置修改回来

vi /etc/my.cnf

将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
6.重新启动mysqld

/etc/init.d/mysqld restart

Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]

php5.3+版本的php-fpm的重启/关闭

网上常用的做法是 发送信号 来操作php-fpm

但是还有一种更好的解决办法就是

在 php的源码安装包里面

    chmod +x php-5.5.12/spai/fpm/init.d.php-fpm 

这个是启动脚本,我们可以用来控制php-fpm的 开启 关闭 重启等操作!

比发信号舒服吧~

以下属网上普遍做法:

php 5.3.3 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:

master进程可以理解以下信号

INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块

WX20180805-193049.png

查看php-fpm进程数:

ps aux | grep -c php-fpm