WordPress中使用Nginx的fastcgi_cache

纯分享,Wordpress中有很多缓存类的插件,博主这边已经很久没使用过任何缓存插件了。前段时间更新了系统版本,以及wordpress版本也已经更新到最新的4.4上面。每次更新都是个蛋碎的事情,一定要修改一些代码才觉得自在的强迫症。最近折腾博客的频率又大了些,下面就分享下Nginx中如何利用fastcgi_cache缓存模块来缓存wordpress博客。 继续阅读WordPress中使用Nginx的fastcgi_cache

WordPress启用HTTPS需要注意的事

网站启用https还是http方式访问最明显的就是两者之间的访问速度和安全性上面的区别。目前本站已经全站启用HTTPS访问,欢迎各种吐槽各种测试~免费证书由起司博客分享的沃通证书服务商。目前环境:Nginx+Mariadb+PHP7+HTTPS+Wordpress 继续阅读WordPress启用HTTPS需要注意的事

PHP5.5.0以后的版本使用自带Opcache加速PHP

使用腾讯云服务器已经有一段时间了。购买的是腾讯云服务器系统是CentOS6.3版本的Linux发行版。前段时间还一直折腾这HHVM—->来自Facebook开源开发的PHP虚拟机。可惜的是一直没有个结果出来,如今,看来也不用去折腾它了。今天在PHP服务器上加载了Opcache加速模块。感觉良好。经过站长综合SEO查询可以检测出现下的响应时间大大提升了。从之前的400多ms到现在的180多ms左右。

小站程序直接使用Nginx是没有错的,Apache消耗内存太大了,根本不够折腾滴。对于Nginx的fastcgi_cache一直没有解决,不好使。动态页面还是不要缓存来得实在。下面来说下在PHP5.5.0以后版本的PHP启用Opcache加速。

PHP5.5.0以后已经将Opcache集成到源码包里面了。对了,忘记说Opcache是什么来着了。简单说吧,Opcache是PHP的加速器中的一种,由之前的 Zend Optimizer 改名而来,类似国人开发的Xcache差不多,都是讲PHP编译过的结果暂时缓存在内存中以便下次出现同样的请求不重新作PHP编译直接返回结果。

PHP5.5.0以后版本自带Opcache加速器,但默认情况下木有启用。所以编译的使用我们想要启用该PHP加速器就应该添加参数 : –enable-opcache 来制定。对于已经编译安装了PHP5.5.0以上版本但当初又没有启用该加速器的用户可以像PHP添加模块一样编译添加。添加已经编译安装好的PHP模块可参照 这里 。唯一不同的就是opcache的包目录已经自带和在PHP.INI下的配置参数不一样。如下图操作:add opcache mod for your php5

然后再php.ini配置里面添加对应的opcache配置即可:

[opcache]
zend_extension = /data/app/php5/lib/php/extensions/no-debug-zts-20121212/opcache.so
opcache.enable=1
opcache.memory_consumption = 64
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
opcache.enable_cli = 1

最后重启你的php-fpm 程序即可。命中率很高滴,很靠谱的:opcache cache hitstest for enable opcache speed

之前使用xcache缓存的测试图:test my site speed only 421ms

CentOS6.3下优化Nginx服务器

Nginx是目前比较主流的WEB服务器,也是比较主流而且强大的反向代理WEB服务器。自从搬家至腾讯云服务器上来后就一直使用Nginx作为本站点的WEB服务器。下面就谈谈Nginx优化的一些东东:

编译安装Nginx具体过程这里就不说了哈,下面是我的Nginx安装目录tree:

[root@VM_40_253_centos nginx]# tree ./
./
├── client_body_temp
├── conf
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf
│   ├── nginx.conf.default
│   ├── optimization.conf
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp
├── html
│   ├── 50x.html
│   ├── index.html
│   ├── tz.php
│   └── tz.zip
├── logs
│   ├── access_2014-06-09.log
│   ├── access.log
│   ├── error.log
│   ├── newaccess.log
│   └── nginx.pid
├── proxy_temp
├── sbin
│   ├── cut-log.sh
│   └── nginx
├── scgi_temp
├── uwsgi_temp
└── vhosts
 ├── demo.iloxp.com.conf
 ├── iloxp.conf
 ├── kutea.conf
 ├── kutea.conf.bak
 └── kutea.conf.old

优化要点:

1.当然是禁用泛域名解析了,启用默认主机—->指向403.启用虚拟主机—–>指向自己的网站;

2.启用gzip压缩,以减少服务器带宽的输出和提高访问速度;

3.启用缓存;

4.访问控制,关闭不必要的访问日志记录,例如来自 favicon.ico 的请求;

5.日志管理,当然就是切割了,分日期记录访问日志,便于我们分析;

6.优化php-fpm以及nginx的默认连接数量,减少502错误的出现,同时可以定期reload your php-fpm process。

OK ,就先写这么多吧。具体优化过程这里就不说了。网上都是大把的了,对了,谷歌的gperftools对独立nginx服务器,小内存,还是没什么用处一样,可以有也可以木有哈。

Abnormal

本站运行在腾讯云上面

这个季节雨真多,所以,云来了,腾讯的那个。刚发现就被坑,刚买完就坑到它的无底洞去了。不过,说回来,腾讯云目前的价格相对国内各个云厂商还算比较便宜了。腾讯云目前活动连连啊。大伙都看出来了没。这是很明显就是更阿里抢用户的招数。 继续阅读本站运行在腾讯云上面

Nginx编译安装之自定义google_perftools not found

OS:CentOS 6.3 X 64  >> Nginx 1.4.7 >> google_perftools 2.1 >> libunwind 1.1

错误提示:

checking for zlib library ... found
 checking for Google perftools ... not found
 checking for Google perftools in /usr/local/gperftools ... not found
 checking for Google perftools in /opt/local/ ... not found
./configure: error: the Google perftool module requires the Google perftools
 library. You can either do not enable the module or install the library.

对于低内存,相对高访问量的WEB站点。Nginx无疑是最佳的选择,正因为内存小。所以合理地使用 Google_perftools 内存管理工具是非常必要的。 继续阅读Nginx编译安装之自定义google_perftools not found

Nginx1.4.7已经发布,Nginx1.4.6平滑升级

Nginx1.4.7已经发布了,更新的功能并不多,具体更新内容如下:

Changes with nginx 1.4.7                                         18 Mar 2014

    *) Security: a heap memory buffer overflow might occur in a worker
       process while handling a specially crafted request by
       ngx_http_spdy_module, potentially resulting in arbitrary code
       execution (CVE-2014-0133).
       Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr.
       Manuel Sadosky, Buenos Aires, Argentina.

    *) Bugfix: in the "fastcgi_next_upstream" directive.
       Thanks to Lucas Molas.

Changes with nginx 1.4.6                                         04 Mar 2014

    *) Bugfix: the "client_max_body_size" directive might not work when
       reading a request body using chunked transfer encoding; the bug had
       appeared in 1.3.9.
       Thanks to Lucas Molas.

    *) Bugfix: a segmentation fault might occur in a worker process when
       proxying WebSocket connections.

相比Nginx1.4.6提高了安全性,修正了fastcgi_next_upstream指令。 继续阅读Nginx1.4.7已经发布,Nginx1.4.6平滑升级

Nginx禁止通过IP访问,防止被恶意域名指向

前段时间,一客户的IP被恶意域名指向,导致IP地址被封,其原因可能是竞争对手恶意指向,再者,也不排除无意白痴或者恶作剧。

IP被封,但又有业务在跑,你说肿么办?其实这件事情发生了一两个月了。一直忙,没时间记录下来。域名被恶意指向了。首先, 继续阅读Nginx禁止通过IP访问,防止被恶意域名指向

源码安装Nginx搭建LNMP环境

貌似这是升级到wordpress3.8的第一篇文章哈。如题,不过,还是在VMware 里面实现的。这里并不是所有组件都是源码安装。但其中 M 并不是MySQL数据库。而是MariaDB。其实一样。所以这里就变成了(Linux+Nginx+MariaDB+PHP)环境。(此举不解释,都是SEO惹的祸)。进入主题呗:

网络环境自搭,配置 MariaDB yum源不多说,见图:

mariadb yum source

A.首先,使用YUM安装开发环境及一些必须组件:

yum install wget gcc gcc-c++ automake autoconf libtool make unzip php php-fpm php-mysql MariaDB-server openssl openssl-devel -y

B.下载Nginx源码,及安装Nginx需要的源码并安装:

cd /usr/local/src
wget http://nginx.org/download/nginx-1.4.4.tar.gz
wget http://softlayer-ams.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.zip
wget http://zlib.net/zlib-1.2.8.tar.gz

cd pcre-8.33
./configure
make;make install

cd ../zlib-1.2.8
./configure
make;make install

C.安装Nginx及简单配置Your Nginx Server:

创建Nginx Server以www用户运行的用户:

groupadd -r www;useradd -r -g www -s /bin/nologin -M www

cd ../nginx-1.4.4
./configure –user=www –group=www –with-http_ssl_module –with-http_flv_module –with-http_stub_status_module –with-http_gzip_static_module –with-
pcre=/usr/local/src/pcre-8.33 –with-zlib=/usr/local/src/zlib-1.2.8

Note:上面红色字体是指组件源码路径,及源码目录。

成功安装后情况:

nginx configuration summary

show nginx conf and start it

配置Nginx 虚拟主机:

cat nginx conf

cat vhost conf

收尾了吧~~~~ 此处将

默认配置 fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
修改为 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

start nginx mysql server

phpinfo

写得有点点累了,就都上图了,同事也是为了又需要的淫不要就这样复制粘贴,可以让自己也过一篇。So…….

吃饭,睡觉,学习,工作,是你每天最不能忘记的事情。Come On  !!!

Nginx下给wordpress设置伪静态

wordpress在nginx下的rewrite规则写法:

[root@localhost ~]# cat /etc/nginx/wprw.conf

rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;

if (!-e $request_filename) {

rewrite ^.+?(/wp-.*) $1 last;

rewrite ^.+?(/.*\.php)$ $1 last;

rewrite ^ /index.php last;

}

配置Nginx服务器:

nginx rewrite for wordpress
nginx rewrite for wordpress

 

设置wordpress固定链接作测试:

Custom Links
Custom Links

那么,该我们展示效果了吧。呵呵,不好意思,来个了 .fuck 的后缀。。。

Hello world one
Hello world one

 

解决LNMP环境,打开php文件提示保存的方法

如题,这个问题的基本原因就是LNMP环境没搭建好。如题的环境是因为NGINX根本解析不了你的PHP文件代码,所以,服务器就会当php后缀文件为一般文件处理。这样的问题大多出现在php-fpm这个节点上。所以,我们应该从这方面入手。

1.检查NGINX配置,解析静态html文件是否没问题;

2.检查PHP-FPM是否正常运作;(启动该服务后终端执行: ps -ef |grep php-fpm 即可检查);

3.回头检查NGINX.CONF配置,主要检查如下内容:

检查nginx配置
检查nginx配置

检查原由默认配置 fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

是否修改为 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

确认后重启各项相关服务。或者直接重启重新启用NGINX相关服务,并确保这些相关服务正常运行。