Centmin Mod是国外一个非常有名的LNMP一键安装脚本工具,貌似国外用户比较多,而且功能不断在更新,也越来越完善。最初注意到Centmin Mod,是因为Centmin Mod自带了ngx_pagespeed + Lua/LuaJIT,这两个如果手动安装真的折腾人。

后来发现Centmin Mod提供了Nginx自适应WebP的配置,这对于想要实现WebP格式图片访问的用户来说是非常有用的。Centmin Mod目前支持安装的是Nginx, MariaDB, PHP-FPM & CSF Firewall,且仅限于CentOS 6 & 7操作系统,其它的操作系统不能使用。

Centmin Mod国外优秀的LNMP工具-优化ngx_pagespeed和WebP

这篇文章就来分享一下Centmin Mod安装与使用教程,如果你不喜欢使用命令工具的话,可以使用免费VPS主机面板:服务器控制面板榜单。更多的一键建站脚本工具这里还有:

  1. Oneinstack从入门到精通-Oneinstack安装与使用教程收集整理
  2. LNMP 1.6安装与使用-自动开启TLS 1.3和支持PHP 7.3\MariaDB 10.3
  3. LAMP.sh一键安装包轻松搭建Apache建站环境-自动安装SSL和PHP组件

PS:更新记录.

1、Wordpress启用WebP不仅可以加快访问速度,还可以节省流量,参考:WordPress自适应WebP格式图片加速方法-Nginx,WP插件和CDN三种方式。2021.2.23
2、建站离不开PHP探针,这里有PHP探针汇总:分享八个优秀的免费PHP探针-实时检测PHP信息,服务器运行和流量。2021.1.13

一、Centmin Mod安装须知

网站:

  1. https://centminmod.com/

Centmin Mod主要特性:

Nginx方面:Nginx 1.17.x (https / SPDY SSL / HTTP/2 SSL + HTTP/2 Server Push + ngx_pagespeed + Lua/LuaJIT support)
PHP方面:PHP-FPM 5.5.38 + Zend OpCache (support PHP 5.3-5.6, & PHP 7.0 & PHP 7.1-7.3 in latest Beta)
数据库方面:MariaDB 10.0.x MySQL performance fork (MariaDB 10.3.x latest Beta)
PHP缓存方面:PHP opcode cache: Zend OpCache 7.0.5+, APC Cache 3.13, Xcache 3.2.0
数据库缓存:Memcached Server 1.5.x + Memcache 3.0.8+ PHP Extension
数据库缓存:Libmemcached 1.0.18 + Memcached 2.2.0 PHP Extension
压缩:Multi-threaded compression: pigz, pbzip2, lbzip2, plzip, p7zip (optional)
安全防火墙:CSF Firewall
文件管理:Pure-FTPD Virtual FTP User support
其它:免费SSL证书Letsencrypt 和谷歌BR优化 Nginx Brotli Compression

需要注意的是Centmin Mod目前安装的数据库是MariaDB ,虽然与Mysql数据库99%是一致的,如果你的数据库依赖于Mysql,可能还要考虑一下数据库的兼容问题。

二、Centmin Mod安装过程

进入你的CentOS,使用以下命令安装(123.09beta01):

yum -y update; curl -O https://centminmod.com/betainstaller73.sh && chmod 0700 betainstaller73.sh && bash betainstaller73.sh

以上命令将直接安装PHP7.3,如果你不想用PHP7.3,下面还有几个选择:

yum -y update; curl -O https://centminmod.com/betainstaller7.sh && chmod 0700 betainstaller7.sh && bash betainstaller7.sh
yum -y update; curl -O https://centminmod.com/betainstaller71.sh && chmod 0700 betainstaller71.sh && bash betainstaller71.sh
yum -y update; curl -O https://centminmod.com/betainstaller72.sh && chmod 0700 betainstaller72.sh && bash betainstaller72.sh

稍等一会儿,Centmin Mod就会自动安装完成了,把最后输出的数据库账号及密码等重要信息记下来。

--------------------------------------------------------
*************************************************
* Centmin Mod install completed....
*************************************************

*************************************************
*  Setup memcached_*.php admin page ...
*************************************************

Setup Memcached Server Admin Login Details for /usr/local/nginx/html/memcache_3e845725.php
current memcached username: memcacheuser
current memcached password: memcachepass
*************************************************
Memcached Server Admin Login: /usr/local/nginx/html/memcache_3e845725.php
new memcached username: memadminae86998ab7
new memcached password: 5061f251caff808e57490e11
*************************************************
*************************************************
* memcache_3e845725.php admin page installed
*************************************************

*************************************************
* MariaDB Security Setup
*************************************************

-------------------------------------------------------
MySQL root user password set
MySQL root user added to /root/.my.cnf
-------------------------------------------------------
MySQL root password: 7Cgd4xPCVjaS8wWZ
-------------------------------------------------------
*************************************************
* MariaDB Security Setup Completed
*************************************************

--------------------------------------------------------
Please bookmark:
--------------------------------------------------------

如下图:

Centmin Mod安装完成

三、Centmin Mod升级方法

Centmin Mod 1.2.3-eva2000.08 - http://centminmod.com
--------------------------------------------------------
                   Centmin Mod Menu                   
--------------------------------------------------------
1).  Centmin Install
2).  Add Nginx vhost domain
3).  NSD setup domain name DNS
4).  Nginx Upgrade / Downgrade
5).  PHP Upgrade / Downgrade
6).  XCache Re-install
7).  APC Cache Re-install
8).  XCache Install
9).  APC Cache Install
10). Memcached Server Re-install
11). MariaDB 5.2/5.5 & 10.x Upgrade Sub-Menu
12). Zend OpCache Install/Re-install
13). Install ioping.sh vbtechsupport.com/1239/
14). SELinux disable
15). Install/Reinstall ImagicK PHP Extension
16). Change SSHD Port Number
17). Multi-thread compression: pigz,pbzip2,lbzip2...
18). Suhosin PHP Extension install
19). Install FFMPEG and FFMPEG PHP Extension
20). NSD Re-install
21). Update - Nginx + PHP-FPM + Siege
22). Add WordPress Nginx vhost + WP Super Cache
23). Update Centmin Mod Code Base
24). Exit
--------------------------------------------------------
Enter option [ 1 - 24 ]

执行命令:centmin,会看到Centmin Mod操作选项,共24个。

Centmin Mod安装选项

3.1 升级Centmin

如果你一开始没有安装最新版的Centmin Mod,可以使用脚本,选择Centmin Mod升级,选择第三个即可。

Centmin Mod升级版本

3.2 升级PHP

Centmin Mod默认安装的PHP版本比较老,我们可以选择Centmin Mod升级PHP,可以跨大版本升级。

Centmin Mod升级PHP

3.3 升级数据库

Centmin Mod脚本可以自动升级数据库。

Centmin Mod升级数据库

3.4 升级Nginx

Centmin Mod也可以很方便地升级Nginx。

Centmin Mod升级nginx

四、Centmin Mod配置优化

4.1 ngx_pagespeed

如果你发现你的Centmin Mod并没有安装ngx_pagespeed,你可以打开 /etc/centminmod/custom_config.inc 将这两个参数调整为y即可:NGINX_PAGESPEED='y'和NGXDYNAMIC_NGXPAGESPEED='y',然后重新升级一下Nginx即可。

Centmin Mod优化缓存

执行命令:nginx -V,看到--add-dynamic-module=../incubator-pagespeed-ngx-1.13.35.2-stable,即表示已经成功安装了。最后执行一下命令开启:

pscontrol on

4.3 Letsencrypt SSL

默认的是Centmin Mod没有开启Letsencrypt SSL(我已经无力吐槽了,Letsencrypt SSL国外已经非常流行了,Centmin Mod居然还需要自己手动开启),打开文件 /etc/centminmod/custom_config.inc 添加以下命令激活 acmetool.sh.

LETSENCRYPT_DETECT='y'

然后,你还要再次启用一下acmetool.sh  插件:

cd /usr/local/src/centminmod/addons
./acmetool.sh acmeinstall

五、Centmin Mod建站教程

执行命令:centmin,然后选择Add Nginx vhost domain,输入你的域名,设置你的FTP账号和密码(貌似强制,必须开通FTP),然后选择自动生成SSL证书,最后完成。网站的根目录如下:/home/nginx/domains/lvps.wzfou.me

Centmin Mod网站路径

Centmin Mod创建的网站的Nginx配置文件路径如下:/usr/local/nginx/conf/conf.d

Centmin Mod配置路径

开启ngx_pagespeed。打开你的域名的nginx配置文件,检查一下ngx_pagespeed的相关配置的“#”号是否存在,存在的话去掉才可以生效。

Centmin Mod开启优化选项

重启Nginx,然后你的网站,此时你可以看到你的网页以及图片都已经经过了ngx_pagespeed优化了。

Centmin Mod图片优化

更多的优化选项,请编辑:include /usr/local/nginx/conf/pagespeed.conf;,然后参考此文来选择你要优化的内容:

1.PageSpeed服务器优化神器-Nginx部署ngx_pagespeed模块和加速效果体验

Nginx自适应WebP图片。首先保证你的图片下都有WebP副本,批量转换请参考:网站图片WebP格式批量转换设置及加速效果体验。

Centmin Mod自适应图片

最新版本的Centmin的/usr/local/nginx/conf/nginx.conf已经有了以下命令(检查一下你的有没有,有的话就表示自动开启了WebP自适应了):

include /usr/local/nginx/conf/webp.conf;

没有话也没有关系,按照下面的说明在你的域名Nginx配置中添加代码:

#在你的http段添加以下代码,即一般是在server{}段外面
map $http_accept $webpok {
   default   0;
   "~*webp"  1;
}

map $http_cf_cache_status $iscf {
   default   1;
   ""        0;
}

map $webpok$iscf $webp_extension {
  11          "";
  10          ".webp";
  01          "";
  00          "";
}

#然后在你的server{}里面添加以下代码
# webp extension support if you are converting /uploads images to webp
location ~ ^/wp-content/uploads/ {
  #pagespeed off;
  #pagespeed unplugged;
  #autoindex on;
  #add_header X-Robots-Tag "noindex, nofollow";
  location ~* ^/wp-content/uploads/(.+/)?(.+)\.(png|jpe?g)$ {
   expires 30d;
   add_header Vary "Accept";
   add_header Cache-Control "public, no-transform";
   try_files $uri$webp_extension $uri =404;
  }
}

#重启
service nginx restart

六、总结

Centmin Mod优点很多:官方的参考文档很详细,很多优化都是脚本自带的,省去了新手折腾代码的麻烦。但是Centmin Mod也有不少的不足,例如免费SSL证书要手动开启、没有备份功能、Nginx编译参数不能自定义等等。

文章出自:挖站否 https://wzfou.com/centminmod/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。