分类
Nginx PHP 笔记

站点优化笔记

本站开通也有好几年了,除了更新几次主题,自定义几个样式和几处微调,没什么做大的改动。这次心血来潮把它优化一波,为后面使用打下基础。

次此优化主要是:

  1. 优化php配置
  2. 优化wordpress一些不适合国情的东西(你懂的)
  3. 优化链接便于搜索引擎收录
分类
PHP 笔记

去除WordPress文章页标题后部的站点名称

wordpress文章内容详情页的title默认结构为 文章标题-站点名称,本文旨在记录如何去除后半部分“-站点名称”的探索,找到wp-includes文件夹内general-template.php,搜索

// Append the description or site title to give context.
if ( is_front_page() ) {
	$title['tagline'] = get_bloginfo( 'description', 'display' );
} else {
	$title['site'] = get_bloginfo( 'name', 'display' );
}

将else注释掉即可,因为后续$title[‘site’] 为空的话会自动被舍弃掉,不会被$title数组的自动合并所影响。

分类
MySql PHP

一个PhpMyAdmin的https错误

使用docker安装phpmyadmin,启动成功登录,出现提示:服务器和客户端上指示的 HTTPS 之间不匹配。这可能导致 phpMyAdmin 无法正常工作或存在安全风险。请修复您的服务器配置以正确指示 HTTPS。

以前phpmyadmin是直接安装在nginx里的,没有这个问题。现在用nginx做为代理。外部访问使用https,内部用http。

解决方法是修改参数:

$cfg[‘PmaAbsoluteUri’] = ‘https://pma.xxx.com’;

在docker中启动,可以在启动时指定环境参数(该参数在官方文档里没有但是有效):

-e PMA_ABSOLUTE_URI=https://pma.xxx.com

分类
Nginx PHP 笔记

Nginx启用php支持

在apache中启用php很简单,apache有phpmodule模块,集成进去就OK。在nginx中启用php支持稍有些不同。

1、nginx的worker进程直接管理每一个请求到nginx的网络请求。

2、对于php而言,由于在整个网络请求的过程中php是一个cgi程序的角色,所以采用名为php-fpm的进程管理程序来对这些被请求的php程序进行管理。php-fpm程序也如同nginx一样,需要监听端口,并且有master和worker进程。worker进程直接管理每一个php进程。

3、关于fastcgi:fastcgi是一种进程管理器,管理cgi进程。市面上有多种实现了fastcgi功能的进程管理器,php-fpm就是其中的一种。再提一点,php-fpm作为一种fast-cgi进程管理服务,会监听端口,一般默认监听9000端口,并且是监听本机,也就是只接收来自本机的端口请求,所以我们通常输入命令 netstat -nlpt|grep php-fpm 会得到:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1057/php-fpm
这里的127.0.0.1:9000 就是监听本机9000端口的意思。