PHP-FPM 编译

适用于 centosdebainubuntu 系统进行编译安装与部署

安装编译所需开发库

  • centos 下执行安装
script
1
yum install -y libacl libacl-devel libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel enchant enchant-devel gd gd-devel gmp gmp-devel libmcrypt libmcrypt-devel libtidy libtidy-devel libxslt libxslt-devel argon2 libargon2-devel libtidy libtidy-devel gcc gcc-c++ autoconf automake zlib zlib-devel pcre-devel
  • 如果是 debainubuntu 下执行安装
script
1
apt-get install libacl1 libacl1-dev libxml2 libxml2-dev libbz2-dev libcurl3 libcurl3-dev enchant libenchant-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev libgmp-dev libgmp3-dev libmcrypt-dev libtidy-dev libxslt-dev libssl-dev libargon2-0 libargon2-0-dev build-essential libpcre3 libpcre3-dev autoconf zlib1g-dev
阅读更多

PHP CURL 证书问题

如出现该错误, 未正确配置 CA 证书

1
curl: (60) SSL certificate : unable to get local issuer certificate

下载证书 http://curl.haxx.se/ca/cacert.pem, 配置 php.ini

1
curl.cainfo = "/usr/local/php/cacert.pem"

SSH 免密码登录

使用 ssh-keygen 生成密钥对

1
ssh-keygen -t rsa

生成之后会在用户的根目录生成一个 “.ssh”的文件夹

  • id_rsa 生成的私钥文件
  • id_rsa.pub 生成的公钥文件

将公钥公钥重命名为 authorized_keys, 设置权限

1
2
chmod 700 -R .ssh
chmod 600 .ssh/authorized_keys

Selinux 开启和关闭

如果 SELinux status 参数为 enabled 即为开启状态

1
2
3
/usr/sbin/sestatus -v

getenforce

临时关闭 SELinux

1
setenforce 0

修改 /etc/selinux/config,将 SELINUX=enforcing 改为 SELINUX=disabled,关闭 SELinux

Iptable 规则

添加规则,开放端口(例如 80 端)

1
# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

删除规则,如上先查询规则列表

1
# iptables -L -n --line-number

然后再通过号码进行删除

1
# iptables -D INPUT 2

Certbot 常用

网站目录方式申请

1
certbot certonly --webroot -d www.kainonly.com -w /website/www.kainonly.com

泛域名证书申请

1
certbot certonly --preferred-challenges dns --manual  -d *.kainonly.com --server https://acme-v02.api.letsencrypt.org/directory

取消证书续订

1
certbot delete --cert-name www.kainonly.com

FTP 配置之 Vsftpd

centos 下通过 yum 安装

1
# yum -y install vsftpd

配置 /etc/vsftpd/vsftpd.conf ,将匿名用户登录关闭

1
anonymous_enable=NO

对 ftp 外用户做出限制

1
chroot_local_user=YES

如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了

1
allow_writeable_chroot=YES

创建 FTP 用户

1
useradd -s /sbin/nologin -d /home/website kain

给 kain 添加密码

1
passwd kain

让防火墙允许 21 端口

1
/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT

重启 vsftpd

1
systemctl restart vsftpd

Alpine 国内源

阿里云镜像

script
1
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

华为镜像

script
1
sed -i "s@http://dl-cdn.alpinelinux.org/@https://mirrors.huaweicloud.com/@g" /etc/apk/repositories

科大镜像

script
1
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories

搭建 Satis 私有 Packagist

使用 composer 初始化 Satis 项目

1
# composer create-project composer/satis --keep-vcs

删除默认 composer.lock,重新安装依赖

1
2
# composer install
# composer dump-autoload --optimize
阅读更多

终端设置代理

Git 客户端设置代理

使用 Git 执行

script
1
2
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080
阅读更多