分类
服务器部署

PHP-FPM和Nginx使用Unix Domain Socket通讯

  • 第一步,创建 unix domain sock 文件
cd /run
mkdir php && cd $_
touch php7.4-fpm.sock
chown www-data:www-data php7.4-fpm.sock
chmod 777 ./php7.4-fpm.sock
  • 第二步,配置 php-fpm
cd /usr/local/php/php74/etc/php-fpm.d
vi www.conf

listen = 127.0.0.1:9074
改为
listen = /run/php/php7.4-fpm.sock

保存后,执行systemctl restart php7.4-fpm重启 php-fpm 。

  • 第三步,配置 nginx
fastcgi_pass 127.0.0.1:9074;
改为
fastcgi_pass unix:/run/php/php7.4-fpm.sock;

保存后,执行nginx -s reload使 nginx 配置生效。

P.S. 可以把 Unix Domain Socket 文件放到 /dev/shm 下以提高性能。因为这个目录不在硬盘上,而是在内存里。

Yet another post script: 这么改完之后,一定记得所有用到这个 PHP-FPM 的站点,nginx 配置都要做如上修改,不然网站就访问不了了。

分类
服务器部署

Debian 10 PHP 7.4编译安装imagick扩展

下载 imagick 源码,解压并进入目录

wget https://pecl.php.net/get/imagick-3.4.4.tgz
tar xf imagick-3.4.4.tgz
cd imagick-3.4.4

安装依赖

apt install -y libmagickcore-dev libmagickwand-dev autoconf

进入 imagick 代码目录后执行 phpize

/usr/local/php/php74/bin/phpize

配置

./configure --with-php-config=/usr/local/php/php74/bin/php-config --with-imagick=/usr/local/imagemagick

编译安装

make && make install

编译安装完成后会显示扩展模块编译到了哪个目录,记录下这个目录的路径,以便在 php.ini 中进行配置,我这里是 /usr/local/php/php74/lib/php/extensions/no-debug-non-zts-20190902/

配置 php.ini

extension_dir = "/usr/local/php/php74/lib/php/extensions/no-debug-non-zts-20190902/"
extension=imagick.so

保存并退出,重启 php-fpm 即可。

分类
服务器部署

CentOS7 升级 Mysql 到 5.7.32

升级mysql服务端

yum update mysql-server

然后升级数据

mysql_upgrade -uroot -p

顺便把客户端版本也升级了

yum update mysql

最后用 SELECT @@version; 查看版本。

注意:我这里是小版本升级,没备份直接升了。如果跨主版本建议先做数据备份再升级。

分类
服务器部署

解决apache内存占用过高的问题

Windows 服务器上的 Apache2.4 占用内存过高,在没有什么请求的情况下,启动服务没一会就占用300多M。

解决办法:

打开httpd.conf,把Include conf/extra/httpd-mpm.conf前面的注释掉去(如下图),重启服务即可。

去掉前面的注释

这样修改后,Apache会使用httpd-mpm.conf里面的配置,当然,也可以在里面进行更精细的调优。重启服务之后,可以看到内存占用是正常的,内存大小随负载的增高而变化。

apache内存占用恢复正常
分类
服务器部署

wordpress更新需要设置FTP的问题

今天在新架一个wordpress网站时,又遇到需要FTP的问题,现在把这个问题总结下,以方便后续使用。

这个问题是网站目录和文件权限以及所有权的问题。执行以下命令即可解决:

// 首先进入网站根目录

// 设置目录权限
find . -type d -print0 | xargs -0 chmod 0755

// 设置文件权限
find . -type f -print0 | xargs -0 chmod 0644

// 设置wp-config.php的权限
chmod 600 wp-config.php

// 把当前目录下所有文件加入php-fpm用户组
chown -R nobody:nobody *

// 最后也要把当前根目录文件夹也加入php-fpm用户组,不然也更新还是会提示需要FPT的
chown -R nobody:nobody .