apache server-status 参数分析

参数分析:
字段 说明
Server Version Apache 服务器的版本。
Server Built Apache 服务器编译安装的时间。
Current Time 目前的系统时间。
Restart Time Apache 重新启动的时间。
Parent Server Generation Apache 父程序 (parent process) 的世代编号,就是 httpd 接收到 SIGHUP 而重新启动的次数。
Server uptime Apache 启动后到现在经过的时间。
Total accesses 到目前为此 Apache 接收的联机数量及传输的数据量。
CPU Usage 目前 CPU 的使用情形。
_SWSS.... 所有 Apache process 目前的状态。每一个字符表示一个程序,最多可以显示 256 个程序的状态。
Scoreboard Key 上述状态的说明。以下为每一个字符符号所表示的意义:
* _:等待连结中。
* S:启动中。
* R:正在读取要求。
* W:正在送出回应。
* K:处于保持联机的状态。
* D:正在查找DNS。
* C:正在关闭连结。
* L:正在写入记录文件。
* G:进入正常结束程序中。
* I:处理闲置。
* .:尚无此程序。
Srv 本程序与其父程序的世代编号。
PID 本程序的process id。
Acc 分别表示本次联机、本程序所处理的存取次数。
M 该程序目前的状态。
CPU 该程序所耗用的CPU资源。
SS 距离上次处理要求的时间。
Req 最后一次处理要求所耗费的时间,以千分之一秒为单位。
Conn 本次联机所传送的数据量。
Child 由该子程序所传送的数据量。
Slot 由该 Slot 所传送的数据量。
Client 客户端的地址。
VHost 属于哪一个虚拟主机或本主机的IP。
Request 联机所提出的要求信息。

卸载景安云、腾讯云、阿里云自带插件

一卸载景安自带插件
C:\Users\Administrator>cd C:\Windows\kuaiyun

C:\Windows\kuaiyun>KuaiYun.exe uninstall

二卸载阿里云腾讯云监控

官方脚本
$ curl -sSL http://update.aegis.aliyun.com/download/quartz_uninstall.sh | sudo bash
$ sudo rm -rf /usr/local/aegis
$ sudo rm /usr/sbin/aliyun-service
$ sudo rm /lib/systemd/system/aliyun.service

或者简单粗暴的
$ curl -sSL https://down.oldking.net/Script/uninstall_aegis_yundun.sh | sudo bash
$ curl -sSL https://down.oldking.net/Script/uninstall_aliyun_vio.sh | sudo bash

三、卸载腾讯云镜

$ curl -sSL https://down.oldking.net/Script/uninstal_qcloud.sh | sudo bash

所有方法来自互联网

替代迅雷的下载软件搜集

1、由于业务发展上的调整,“QQ旋风”将于2017年9月6日停止运营
2、迅雷关闭远程离线下载

替代迅雷的下载软件
1、百度网盘

2、free download manager 不支持ed2k
http://www.freedownloadmanager.org/

3、Persepolis Download Manager 是一款即开即用的 aria2 客户端,用来下载网络上的文件,支持 HTTP / HTTPS,FTP,SFTP,BitTorrent 和 Metalink 等协议
https://persepolisdm.github.io/
https://github.com/persepolisdm/persepolis

4、https://webtorrent.io/ best of the world
https://instant.io/

5、https://www.qbittorrent.org/

解决升级 WordPress 时提示”另一更新正在进行”

解决升级 WordPress 时提示”另一更新正在进行”
解决办法

这是由于在升级Wordpress时,Wordpress会在数据库wp_options表中增加core_updater.lock记录。如中途打断Wordpress升级,这个记录会留在数据库中。当下次升级时,Wordpress检测到此记录的存在就会返回”另一更新正在进行”。可通过以下方法解决:

方法一、通过MySQL数据库管理工具(比如 phpMyAdmin),在 wp_options表中找到 core_updater.lock记录并将这一列数据删除。

方法二、通过终端登录数据库,假设表前缀是_wp,数据库是wordpress,

mysql -u root -p
use wordpress;
select * from wp-options where options_name='core_updater.lock';

delete from wp_options where option_name='core_updater.lock';

刷新更新页面,就能升级了

CentOS6和CentOS7 一键更换内核,一键安装锐速[lotServer]

CentOS6和CentOS7 一键更换内核,一键安装锐速[lotServer][serverSpeeder ]

支持KVM VMWARE Hyper-v XEN 虚拟化技术

CentOS6和CentOS7 一键更换内核,完成后会重启
wget --no-check-certificate https://blog.asuhu.com/sh/ruisu.sh
bash ruisu.sh

CentOS6和7 更换内核完成一键安装锐速[lotServer]
wget --no-check-certificate -O appex.sh https://raw.githubusercontent.com/0oVicero0/serverSpeeder_Install/master/appex.sh && chmod +x appex.sh && bash appex.sh install

安装完成后检测是否启用
lsmod |grep appex

InnoDB还是MyISAM 再谈MySQL存储引擎的选择

作为MySQL数据库的两种主要的存储引擎,MyISAM和Innodb各有长处,本文的作者探讨了MyISAM不只适合小型项目,它的稳定性、扩展性和高可用性

MySQL 5.7 是目前世界上最流行开源数据库的一令人兴奋的新版本, 比 MySQL 5.6 快 3 倍,同时还提高了可用性,可管理性和安全性。

mysiam表不支持事务处理,同时mysiam表不支持外键。
同时,在执行数据库写入的操作(insert,update,delete)的时候,mysiam表会锁表,而innodb表会锁行。通俗点说,就是你执行了一个update语句,那么mysiam表会将整个表都锁住,其他的insert和delete、update都会被拒之门外,等到这个update语句执行完成后才会被依次执行。

1、首先我目前平台上承载的大部分项目是读多写少的项目,而MyISAM的读性能是比Innodb强不少的。
2、MyISAM的索引和数据是分开的,并且索引是有压缩的,内存使用率就对应提高了不少。能加载更多索引,而Innodb是索引和数据是紧密捆绑的,没有使用压缩从而会造成Innodb比MyISAM体积庞大不小。
3、从平台角度来说,经常隔1,2个月就会发生应用开发人员不小心update一个表where写的范围不对,导致这个表没法正常用了,这个时候MyISAM的优越性就体现出来了,随便从当天拷贝的压缩包取出对应表的文件,随便放到一个数据库目录下,然后dump成sql再导回到主库,并把对应的binlog补上。如果是Innodb,恐怕不可能有这么快速度,别和我说让Innodb定期用导出xxx.sql机制备份,因为我平台上最小的一个数据库实例的数据量基本都是几十G大小。
4、从我接触的应用逻辑来说,select count(*) 和order by 是最频繁的,大概能占了整个sql总语句的60%以上的操作,而这种操作Innodb其实也是会锁表的,很多人以为Innodb是行级锁,那个只是where对它主键是有效,非主键的都会锁全表的。
5、还有就是经常有很多应用部门需要我给他们定期某些表的数据,MyISAM的话很方便,只要发给他们对应那表的frm.MYD,MYI的文件,让他们自己在对应版本的数据库启动就行,而Innodb就需要导出xxx.sql了,因为光给别人文件,受字典数据文件的影响,对方是无法使用的。
6、如果和MyISAM比insert写操作的话,Innodb还达不到MyISAM的写性能,如果是针对基于索引的update操作,虽然MyISAM可能会逊色Innodb,但是那么高并发的写,从库能否追的上也是一个问题,还不如通过多实例分库分表架构来解决。
7、如果是用MyISAM的话,merge引擎可以大大加快应用部门的开发速度,他们只要对这个merge表做一些select count(*)操作,非常适合大项目总量约几亿的rows某一类型(如日志,调查统计)的业务表。
当然Innodb也不是绝对不用,用事务的项目如模拟炒股项目,我就是用Innodb的,活跃用户20多万时候,也是很轻松应付了,因此我个人也是很喜欢Innodb的,只是如果从数据库平台应用出发,我还是会首选MyISAM。

DigitalOcean 高级技巧使用 内网和初始化篇

在同一个区域的同一个租户(tenants)内网是可以相互通信的,不同区域(网络中心)不能相互通信,类似openstack
1、创建了四个实例(instance)
Amsterdam 3
178.62.193.111 10.133.3.148
178.62.207.51 10.133.17.5

Amsterdam 2
198.211.124.126 10.129.23.8

Frankfurt 1
45.32.255.197 10.99.0.10

2、验证

3、初始化和监控
yum list |grep cloud
cloud-init.x86_64 0.7.5-10.el6.centos.2 @extras
yum list |grep digitalocean
do-agent.x86_64 1493323384:0.4.11-1 @digitalocean-agent


4、应用场景

1、库站分离,数据库使用内网连接
2、负载均衡

VULTR 高级技巧使用 内网篇

VULTR 高级技巧使用 内网篇
在同一个区域的同一个租户(tenants)内网是可以相互通信的,不同区域(网络中心)不能相互通信,类似openstack
1、创建了三个实例(instance)
新加坡
45.32.104.28 10.99.0.11
45.32.106.113 10.99.0.12

日本
45.32.255.197 10.99.0.10
2、验证

PING 10.99.0.12 (10.99.0.12) 56(84) bytes of data.
From 10.99.0.10 icmp_seq=2 Destination Host Unreachable
From 10.99.0.10 icmp_seq=3 Destination Host Unreachable
From 10.99.0.10 icmp_seq=4 Destination Host Unreachable
From 10.99.0.10 icmp_seq=6 Destination Host Unreachable
From 10.99.0.10 icmp_seq=7 Destination Host Unreachable
From 10.99.0.10 icmp_seq=8 Destination Host Unreachable
From 10.99.0.10 icmp_seq=10 Destination Host Unreachable
From 10.99.0.10 icmp_seq=11 Destination Host Unreachable
From 10.99.0.10 icmp_seq=12 Destination Host Unreachable

3、应用场景
1、库站分离,数据库使用内网连接
2、负载均衡

PHP模块一览及简要说明


PHP 编译完成后,可以通过一个简单的函数 phpinfo() 查看关于 PHP 的所有信息。以下介绍的模块一览,皆全部来自于函数 phpinfo() 的输出信息。
SAPI Modules
什么是 SAPI?
SAPI 即 Server API, Server Application Programming Interface。

1、Apache 2.0 Handler(apache2handler)
用于 Apache 2 的模块,当安装的是 PHP 5 的时候,编译出来的文件名是 libphp5.so;当安装的是 PHP 7 的时候,编译出来的文件名是 libphp7.so。
libphp5.so 或 libphp7.so 通常被安装在 Apache 的安装目录下的 modules 目录。
编译的时候需指定参数 −−with-apxs2=FILE,比如 −−with-apxs2=/usr/local/apache/bin/apxs

2、CGI / FastCGI
CGI,意为 Common Gateway Interface。
通常编译安装在 PHP 安装目录 bin 下,这个可执行文件名是 php-cgi。

3、CLI
CLI,意为 Command Line。命令行模式。
通常编译安装在 PHP 安装目录 bin 下,这个可执行文件名是 php。
输入 php -h 显示其用法。

4、Embed
默认不编译安装,除非指定编译参数 −−enable-embed
该模块允许在 C/C++ 语言中调用 PHP 提供的函数。

5、FastCGI Process Manager
FastCGI Process Manager,也就是 FPM,PHP FastCGI 进程的管理器。

6、litespeed
用于 LiteSpeed 的模块,默认不编译。
通过指定编译参数 −−with-litespeed 安装。 Build PHP as litespeed module

7、phpdbg
从 PHP 5.6 开始,引入了 phpdbg,交互式调试器,用于 Debug PHP 程序,可以在不用修改代码,不影响性能的情况下控制 PHP 的运行环境。
通常编译安装在 PHP 安装目录 bin 下,这个可执行文件名是 phpdbg。
PHP 5.4 和 5.5 也可以单独安装该模块。

PHP Modules
PHP 源码自带的扩展模块,根据 PHP 版本的不同略有差别,大致为以下这么 71 个模块。

1、BC Math
通过指定编译参数 −−enable-bcmath 安装。 Enable bc style precision math functions

2、Bzip2
通过指定编译参数 −−with-bz2=DIR 安装。 Include BZip2 support
Debian/Ubuntu 需安装 libbz2-dev 依赖包。
Redhat/CentOS 需安装 bzip2-devel 依赖包。

3、Calendar
通过指定编译参数 −−enable-calendar 安装。 Enable support for calendar conversion

4、COM and .Net
Windows 专用扩展。COM 是指 Component Object Model,组件对象模型,是多项微软技术与框架的基础,包括OLE、OLE自动化、ActiveX、COM+、DCOM、Windows shell、DirectX、Windows Runtime。

5、ctype
此扩展默认为启用,编译时可通过下列选项禁用:−−disable-ctype

6、cURL
通过指定编译参数 −−with-curl=DIR 安装。 Include cURL support
Debian/Ubuntu 需安装 libcurl4-gnutls-dev 依赖包。
Redhat/CentOS 需安装 curl-devel 依赖包。

7、Date/Time Support(date)
日期和时间函数,默认编译安装,不可禁止。

8、DBA
通过指定编译参数 −−enable-dba 安装。 Build DBA with bundled modules
该参数会默认自带 3 个参数,−−with-cdb,−−enable-inifile,inifile-flatfile,若要禁止,则需通过参数−−without-cdb=DIR,−−disable-inifile,−−disable-flatfile 实现。

9、DB-LIB (MS SQL, Sybase)(pdo_dblib)
Windows 专用扩展。用于连接 SQL Server 和 Sybase 数据库的 PDO 驱动扩展。

10、DOM
此扩展默认为启用,Document Object Model。编译时可通过下列选项禁用:−−disable-dom

11、enchant
通过指定编译参数 −−with-enchant=DIR 安装。 Include enchant support. GNU Aspell version 1.1.3 or higher required.
一般需指定其目录,−−with-enchant=/usr
Debian/Ubuntu 需安装 libenchant-dev, libpspell-dev 依赖包。
Redhat/CentOS 需安装 enchant-devel, aspell-devel 依赖包。

12、EXIF
通过指定编译参数 −−enable-exif 安装。 Enable EXIF (metadata from images) support

13、fileinfo
此扩展默认为启用,fileinfo support。编译时可通过下列选项禁用:−−disable-fileinfo
注意:在内存比较小的机器上编译此扩展时可能会失败,因此内存加 SWAP 的容量小于 480MB 时就不要安装了。

14、Filter
此扩展默认为启用,input filter support。编译时可通过下列选项禁用:−−disable-filter
另如果要给此扩展指定 PCRE 安装目录的话,则还有以下的编译参数。
−−with-pcre-dir FILTER: pcre install prefix

15、Firebird driver for PDO(pdo_firebird)
−−with-interbase=DIR Include Firebird support. DIR is the Firebird base install directory
−−with-pdo-firebird=DIR PDO: Firebird support. DIR is the Firebird base install directory

16、FTP
通过指定编译参数 −−enable-ftp 安装。Enable FTP support
安装该扩展还有个参数 −−with-openssl-dir=DIR FTP: openssl install prefix,可不指定,则使用系统自带 openssl 库。

17、GD imaging(gd)
通过指定编译参数 −−with-gd=DIR 安装。Include GD support. DIR is the GD library base install directory BUNDLED
这是一个打包式的依赖,需要依赖如下安装包。
−−with-webp-dir=DIR(PHP 7.0, 7.1 only)
−−with-jpeg-dir=DIR
−−with-png-dir=DIR
−−with-zlib-dir=DIR
−−with-xpm-dir=DIR
−−with-freetype-dir=DIR
−−enable-gd-native-ttf
−−enable-gd-jis-conv

PHP5.4、PHP5.5、PHP5.6 则还有个
−−with-vpx-dir=DIR
Debian/Ubuntu 需安装 libwebp-dev, libjpeg-dev, libpng-dev, libxpm-dev, libfreetype6-dev, libvpx-dev 依赖包。
Redhat/CentOS 需安装 libwebp-devel, libjpeg-devel, libpng-devel, libXpm-devel, freetype-devel, libvpx-devel 依赖包。
18、GetText
通过指定编译参数 −−with-gettext=DIR 安装。Include GNU gettext support
Debian/Ubuntu 需安装 gettext 依赖包。
Redhat/CentOS 需安装 gettext, gettext-devel 依赖包。

19、GMP
通过指定编译参数 −−with-gmp=DIR 安装。Include GNU MP support
Debian/Ubuntu 需安装 libgmp-dev 依赖包。
Redhat/CentOS 需安装 gmp-devel 依赖包。

20、Hash
此扩展默认为启用,编译时可通过下列选项禁用:−−disable-hash Disable hash support

21、iconv
此扩展默认为启用,编译时可通过下列选项禁用:−−without-iconv=DIR Exclude iconv support

22、IMAP
通过指定以下编译参数。
−−with-imap=DIR Include IMAP support. DIR is the c-client install prefix
−−with-kerberos=DIR IMAP: Include Kerberos support. DIR is the Kerberos install prefix
−−with-imap-ssl=DIR IMAP: Include SSL support. DIR is the OpenSSL install prefix
编译此选项时,PHP 需指定 libc-client.a 所在目录。

23、InterBase
−−with-interbase=DIR Include Firebird support. DIR is the Firebird base install directory

24、Internationalization(intl)
通过指定编译参数 −−enable-intl 安装。 Enable internationalization support

25、json
此扩展默认为启用,编译时可通过下列选项禁用:−−disable-json Disable JavaScript Object Serialization support

26、LDAP
−−with-ldap=DIR Include LDAP support
−−with-ldap-sasl=DIR LDAP: Include Cyrus SASL support
Debian/Ubuntu 需安装 libldap-2.4-2, libldap2-dev 依赖包。
Redhat/CentOS 需安装 openldap, openldap-devel 依赖包。

27、libxml
此扩展默认为启用,编译时可通过下列选项禁用:−−disable-libxml Disable LIBXML support
−−with-libxml-dir=DIR LIBXML: libxml2 install prefix
Debian/Ubuntu 需安装 libxml2, libxml2-dev 依赖包。
Redhat/CentOS 需安装 libxml2, libxml2-devel 依赖包。

28、Multibyte String Functions(mbstring)
通过指定编译参数 −−enable-mbstring 安装。 Enable multibyte string support
−−disable-mbregex MBSTRING: Disable multibyte regex support
−−disable-mbregex-backtrack MBSTRING: Disable multibyte regex backtrack check
−−with-libmbfl=DIR MBSTRING: Use external libmbfl. DIR is the libmbfl base install directory BUNDLED
−−with-onig=DIR MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix. If DIR is not set, the bundled oniguruma will be used
libmbfl 对 mbstring 是必要的。libmbfl 被捆绑到了 mbstring。
Debian/Ubuntu 需安装 libonig2, libonig-dev 依赖包。
Redhat/CentOS 需安装 oniguruma, oniguruma-devel 依赖包。

29、mcrypt
通过指定编译参数 −−with-mcrypt=DIR 安装。 Include mcrypt support
Debian/Ubuntu 需安装 libmcrypt-dev 依赖包。
Redhat/CentOS 需编译安装 libmcrypt 和 mcrypt 。如果安装了 EPEL 的话,则需安装 libmcrypt-devel 依赖包。

30、MySQL driver for PDO(pdo_mysql)
−−with-mysql-sock=SOCKPATH MySQLi/PDO_MYSQL: Location of the MySQL unix socket pointer
指定系统里安装的 MYSQL 的 mysql.sock 路径。
−−with-pdo-mysql=DIR PDO: MySQL support. DIR is the MySQL base directory
指定系统里安装的 MYSQL 的基本目录。若未指定,则默认安装 mysqlnd(MySQL native driver)

31、MySQLi
−−with-mysqli=FILE Include MySQLi support. FILE is the path to mysql_config
指定系统里安装的 MYSQL 的目录下的 mysql_config 文件路径。

32、MySQLnd
通过指定编译参数 −−enable-mysqlnd 安装。 Enable mysqlnd explicitly, will be done implicitly when required by other extensions
另如果要给此扩展指定 libz 目录的话,则还有以下的编译参数。
−−with-zlib-dir=DIR mysqlnd: Set the path to libz install prefix

33、OCI8
−−with-oci8=DIR Include Oracle Database OCI8 support. DIR defaults to $ORACLE_HOME
系统里安装了 Oracle 数据库的话,则指定为 $ORACLE_HOME;否则需安装 Oracle Instant Client,指定为 /path/to/instant/client/lib

34、ODBC driver for PDO(pdo_odbc)
−−with-pdo-odbc=flavour,dir
PDO: Support for ‘flavour’ ODBC driver.
include and lib dirs are looked for under ‘dir’.
‘flavour’ can be one of: ibm-db2, iODBC, unixODBC, generic
If ‘,dir’ part is omitted, default for the flavour
you have selected will be used. e.g.:
−−with-pdo-odbc=unixODBC
will check for unixODBC under /usr/local. You may attempt to use an otherwise unsupported driver using the “generic” flavour.
The syntax for generic ODBC support is:
−−with-pdo-odbc=generic,dir,libname,ldflags,cflags
When built as ‘shared’ the extension filename is always pdo_odbc.so

35、ODBC
ODBC 有很多种,一般使用如下编译参数即可。
−−with-unixODBC=DIR Include unixODBC support /usr/local
Debian/Ubuntu 需安装 unixodbc, unixodbc-dev 依赖包。
Redhat/CentOS 需安装 unixODBC, unixODBC-devel 依赖包。
注意:PHP 默认会去 /usr/local/include 下去找头文件 sqlext.h,所以还要做个软链接。
ln -s /usr/include/sqlext.h /usr/local/include/

36、OpenSSL
−−with-openssl=DIR Include OpenSSL support (requires OpenSSL >= 1.0.1)
−−with-kerberos=DIR OPENSSL: Include Kerberos support
−−with-system-ciphers OPENSSL: Use system default cipher list instead of hardcoded value
PHP 7.1 所需的 openssl 版本是 >= 1.0.1
PHP 7.0 所需的 openssl 版本是 >= 0.9.8
PHP 5.6 所需的 openssl 版本是 >= 0.9.6
PHP 5.5 所需的 openssl 版本是 >= 0.9.6
PHP 5.4 所需的 openssl 版本是 >= 0.9.6
PHP 5.3 所需的 openssl 版本是 >= 0.9.6