LNMP安装ngx_cache_purge缓存清除组件

LNMP WEB环境是VPS评测与排名网一直用的一键包,而最近在折腾使用NGINX的Fastcgi_Cache为WordPress 缓存加速,其中要用到第三方ngx_cache_purge缓存清除组件。

这里,VPS评测与排名网就分享下在LNMP一键包的环境下安装ngx_cache_purge缓存清除组件的教材。

特别说明:VPS是linode ca机房VPS,LNMP为最新的1.5正式版。

LNMP安装ngx_cache_purge缓存清除组件步骤如下:

一、检查是否已安装 ngx_cache_purge

nginx -V 2>&1 | grep -o ngx_cache_purg

如果显示 ngx_cache_purge 则已安装。

二、编译安装 ngx_cache_purge步骤 继续阅读

Nginx不记录JPG图文、CSS及JS等访问日志实现方法

Nginx系现在主流的WEB服务器,VPS评测与排名站使用的是LNMP一键包,用起来也非常顺手。今天分享下LNMP优化之Nginx不记录JPG图文、CSS及JS等访问日志的实现方法。

具体大家看VPS评测与排名网分享自己的设置代码,在nginx配置文件里,具体在vhost文件下的www.vpsrr.com.conf配置文件里。

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
access_log off;
}

location ~ .*\.(js|css)?$
{
expires 7d;
access_log off;
}

location ~ /.well-known {
allow all;
}

location ~ /\.
{
deny all;
}

access_log /home/wwwlogs/www.vpsrr.com.log;

看红色部分,只需要在LNMP环境下的主机NGINX配置文件里面添加access_log off;即可,非常的简单,呵呵~

Centos 7下crontab常见命令收集

之前一直用的是Centos 6,最近换上了Centos 7,发现和Centos 7的常见使用有不少差别,原来的命令很多都失效了,这里VPS评测与排名站将常用的crontab命令对比下,方便大家使用。

Centos 7下crontab常见命令变化对比

  1. 开启crontab
    /bin/systemctl start crond.service

    之前的版本如下

    /sbin/service crond start 
  2. 停止crontab
    /bin/systemctl stop crond.service

    之前的版本如下

    /sbin/service crond stop
  3. 重启crontab
    /bin/systemctl restart crond.service

    之前的版本如下

    /sbin/service crond restart
  4. 重载
    /bin/systemctl reload crond.service

    之前的版本如下

    /sbin/service crond stop reload
  5. 查询状态
    /bin/systemctl status crond.service

    之前的版本如下

    /sbin/service crond status

crontab的日志管理

可能有些系统的 crontab的的日志默认是关闭的,所以我们要把它开启
1. 打开rsyslog

/etc/init.d/rsyslog start

2. 查看日志

tail /var/log/cron

LNMP安装后nginx+mysql+php全面优化集合

VPS评测与排名网一直推荐使用LNMP一键安装包,自己也一直在使用。之前安装LNMP一键包后,必须做一些优化处理,让LNMP发挥更好的效能。

之前一直参照的张小三博文优化的LNMP集合,对LNMP中的nginx+mysql+php全面优化,但这两天发现张小三博文打不开了,为了方便自己参考,用百度快照功能转过来保持,呵呵~

一:lnmp的nginx优化

主要是修改 /usr/local/nginx/conf/nginx.conf

1.修改nginx的worker_processes的值

军哥的lnmp安装包中nginx的worker_processes默认设置是1,这里我们要根据服务器cpu具体的核心数来优化。通常4核的CPU我会把值设为3。

2核CPU,开启2个进程
worker_processes 2;
worker_cpu_affinity 01 10;

4核CPU,开3个进程
worker_processes 3;
worker_cpu_affinity 0010 0100 1000;

8核CPU,开8个进程
worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

2.worker_rlimit_nofile参数默认是5xxxx

worker_rlimit_nofile 65535;

events
	{
		use epoll;
		worker_connections 32700;
	}

添加防压力测试:

if ($http_user_agent ~ ApacheBench|WebBench|Jmeter|must-revalidate|Havij) {retun 503;}

添加针对CVE-2013-4547链接空格的补丁:

if ($request_uri ~ " ") {return 444;}

二:lnmp的mysql优化

用/usr/local/mysql/share/mysql/目录下的my-large.cnf 文件替换根目录etc下的my.cnf文件。

my-huge.cnf: 适合1GB – 2GB RAM主机使用
my-large.cnf: 适合 512MB RAM使用
my-medium.cnf: 只有 32MB – 64MB RAM使用
my-small.cnf:小于64MB 用,MySQL会占用很少资源
my-innodb-heavy-4G.cnf 适合4G以上使用

禁用mysql日志:
修改 /etc/my.cnf 文件
在log-bin=mysql-bin和binlog_format=mixed 
这两行前面加#注释掉即可。

在query_cache_size= 16M下面添加一行:
tmp_table_size = 200M

三:lnmp的php相关参数优化

优化主要是修改/usr/local/php/etc/目录下的php-fpm.conf和php.ini文件。

1.php-fpm.conf参数优化

删除value name=”display_errors” 这一行的代码,防止坏人从PHP错误中找到漏洞。

max_children默认参数是开启5个进程。数值要根据内存大小来定,每一个php-cgi所耗费的内存在20M左右。

126M内存默认即可
256M 10个
512M 20个
1G 40个

request_terminate_timeout参数默认是0s,修改为300s。

rlimit_files参数默认5xxxx,修改为65535。

2.php.ini参数优化

disable_functions = 默认禁用了一些参数,PHP中有一些函数的风险性还是相当大的,如果允许这些函数执行,当PHP 程序出现漏洞时,损失是非常严重的。

fsockopen这个参数用的比较多,可以删除。

另外从安全方面考虑可隐藏PHP版本号。
将文件里面的 expose_php = On 修改为 expose_php = Off 即可。

将display_errors =On改为Off。

最后修改最大连接数使重启后也可生效,在/etc/profile 最后增加一行 ulimit -SHn 65535。

另外军哥的LNMP安装包里有一个eAccelerator的安装文件。最好装一下。这个是加速PHP缓存的还不错。

关于eAccelerator的设置给出两个修改的地方吧:

eaccelerator.shm_size="16"

默认是占用16M共享内存,军哥好像是1,改成16吧,具体大小也可根据你的内存情况设置。

另外军哥默认是eaccelerator缓存目录是/usr/local/eaccelerator_cache,这样用硬盘缓存的话,某些情况会影响php的响应时间,可以直接放到共享内存里面。

运行命令:mkdir -p /dev/shm/eaccelerator_cache

修改目录为以下就OK了。

eaccelerator.cache_dir=”/dev/shm/eaccelerator_cache”

最后全部修改完记得重启生效:/root/lnmp restart。

VPS评测与排名网特别感谢张小三博客的精彩分享,希望贵博能早点恢复并继续分享。

Centos系统命令行下修改root密码操作

VPS评测与排名网经常卖VPS主机,且最常用的系统即Centos系统,VPS主机商常随机产生root密码,这导致VPS评测与排名网复制起来要找半天密码。

鉴于这种情况,不得不拿到VPS即修改VPS的root密码。这里,就给嫩司机分享下Centos系统命令行下修改root密码的方法。

首先使用root用户登录,如果非root用户登录,请先切换到root用户下,切换执行命令:su root,然后按提示输入root用户的密码即可切换到root用户。

Centos英文系统操作如下【执行passwd命令】:

[root@localhost ~]# passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Centos中文系统操作如下【执行passwd命令】:

[root@localhost /]# passwd
更改用户 root 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

特别提醒:输入密码是不显示的。退出后就需要用新的密码登录了。

WordPress显示数据库查询次数、时间及内存占用

最近,VPS评测与排名站在试着学习优化WORDPRESS的速度,当然到目前为止也取得了一些效果,大家打开本站会明显感觉到VPS评测与排名网比之前打开的速度要快太多了。

那么,问题来了,优化WORDPRESS需要做些什么呢?这里VPS评测与排名站记录下如何查看优化前后的结果中,WordPress页面查询次数、加载时间和内存占用的具体情况,当然也包括WORDPRESS到底执行了那些MYSQL具体命令。

一、仅查看MYSQL数据库查询次数、时间及内存占用

将下面的代码添加到当前主题的 functions.php 文件中

//显示页面查询次数、加载时间和内存占用 For VPSRR.COM
function performance( $visible = false ) {
	$stat = sprintf(  '%d queries in %.3f seconds, using %.2fMB memory',
		get_num_queries(),
		timer_stop( 0, 3 ),
		memory_get_peak_usage() / 1024 / 1024
	);
	echo $visible ? $stat : "" ;
}

在需要显示的地方,使用下面的代码进行调用:

<!--?php if(function_exists('performance')) performance(false) ;?-->

如果想在页脚加载,将下面的代码添加到 functions.php 该函数的下面(确保你的主题文件中包含 wp_footer() ):

add_action( 'wp_footer', 'performance', 20 );

二、查看WORDPRESS具体执行了那些MYSQL的查询命令

1、首先在 wp-config.php 里添加如下代码:

define('SAVEQUERIES', true);

2、然后在 footer.php 里添加如下代码:

<?php if (is_user_logged_in()){
 global $wpdb;
 echo "<pre>";
 print_r($wpdb->queries);
 echo "</pre>";
 } ?>

以上两种方式各有用处,如果仅查看WORDPRESS的优化效果,第一种现实方式显示WORDPRESS MYSQL查询次数、时间及内存占用即可。

但如果需要对WORDPRESS进行进一步的优化,则需要第二种方法显示WORDPRESS具体执行了那些MYSQL命令。

VPS评测与排名网先收藏这点,有更多的技巧将在本站更新分享,谢谢!

LNMP安装时出现EPEL安装源Errno问题解决办法

VPS评测与排名网酷爱LNMP的web环境,也一直使用的是军哥的LNMP一键包。并在此站也分享过LNMP一键包的按照教程,具体大家可以在本站搜索下,呵呵~

不过今天VPS评测与排名网手上的一个ramnode vps用了很多年,LNMP环境有点旧了,就打算换新版的LNMP,不过出问题了!

说明下:VPS系RAMNODE OVZ,系统是CENTOS 6,出现的问题是EPEL安装源Errno错误,具体如下:

http://mirror.symnds.com/distributions/fedora-epel/6/x86_64/repodata/repomd.xml: [Errno -1] repomd.xml does not match metalink for epel
Trying other mirror.

一直是类似的错误出现,搞的VPS评测与排名网很是郁闷,用来这么多年的LNMP,第一次出现这种问题。

出现问题,总要解决问题了,搜索了半天都没相关解答,到国外网站去看英文的,并多次尝试终于解决了EPEL安装源Errno问题。先记录如下:

修改/etc/yum.repos.d/目录下的epel.repo文件,相应[epel]部分用以下替代即可。

[epel]  
name=Extra Packages for Enterprise Linux 6 - $basearch
enabled=1
failovermethod=priority
gpgcheck=1
gpgkey=https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
sslverify=true

VPS评测与排名网替换后,再行安装LNMP一键包,不再出现EPEL安装源Errno错误,安装LNMP成功,至此文件解决。

希望碰到相关问题的网友们,不用浪费时间了,直接解决,呵呵~

Linux下screen命令使用教程

很多时候我们按照大的环境,如LNMP等,需要等很久,但如果自己的网络断了可能就会中断,这时就需要重新来过了。

这种情况,Linux下的screen命令即可解决问题,让你不会因网络断链或中途故障而中断命令。

一、screen命令是什么?

Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器,前往screen官网查看。

Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。

二、如何安装screen命令?

除部分精简的系统或者定制的系统大部分都安装了screen命令,但部分精简系统也有没按照的,这里给出最常用的centos和Debian/Ubuntu安装screen命令。

CentOS系统可以执行:yum install screen

Debian/Ubuntu系统执行:apt-get install screen

三、screen命令使用方法?

1、常用的screen使用方法

1.1 创建screen会话

可以先执行:screen -S vpsrr ,screen就会创建一个名字为vpsrr的会话。

1.2 暂时离开,保留screen会话中的任务或程序

当您需要临时离开时(当然,会话或命令依旧在运行),可以用快捷键Ctrl+a d(即按住Ctrl,依次再按a,d)暂时离开。

1.3 恢复screen会话

当回来时可以再执行执行:screen -r vpsrr 即可恢复到离之前创建的vpsrr会话界面。如果忘记了,也可以执行:screen -ls命令查看, screen会列出当前存在的会话列表。

1.4 关闭screen的会话

执行:exit ,会提示:[screen is terminating],表示已经成功退出screen会话。

2、常用快捷键

Ctrl+a c :在当前screen会话中创建窗口
Ctrl+a w :窗口列表
Ctrl+a n :下一个窗口
Ctrl+a p :上一个窗口
Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换

以上就是Linux下screen命令常见的使用方法,很简单吧,也很使用吧,呵呵~

如果还没VPS玩,可以到VPS推荐页面选择一款,总有适合你的。

免费SSL证书申请、安装图文教程

SSL证书很大程度上增加了数据传输安全,现在很多大型网站都上了SSL证书,如谷歌、百度等。但是对小型网站来说,花巨额的费用还是受不了的,今天VPS评测与排名站就交大家申请、安装免费的SSL证书,让您的网站也高大上一次。

免费SSL证书选择

免费SSL证书目前比较多,不过VPS评测与排名网推荐大家使用Let’s Encrypt。使用免费Let’s Encrypt的SSL证书理由非常简单。

1、可靠

大型互联网公司发起,其是公益组织运营,由 Linux 基金会托管。这就保障了这个免费的SSL证书可靠了。

2、兼容性好

目前免费的SSL证书中,Let’s Encrypt免费SSL证书是最好的,无论是火狐还是谷歌浏览器、还是IE都兼容,这点非常难得。

3、申请安装方便

这点就更值得一提了,目前Let’s Encrypt免费SSL证书推出了certbot-auto方案安装后,VPS及独立服务器上安装Let’s Encrypt免费SSL证书非常快捷方便。

4、免费

这点就不多说了,Let’s Encrypt免费SSL证书估计会一直免费下去,大家使劲用吧。

好了,以上说明了为什么选择并使用Let’s Encrypt免费SSL证书,下面就来写如何在VPS或独立服务器上申请安装Let’s Encrypt免费SSL证书。

免费SSL证书申请、安装

这里就不多说了,以VPS评测与排名网最常用的操作系统CentOS 系统说明。

CentOS 6、7下,root登录命令行,执行:

yum install epel-release

然后在root下依次执行以下语句:

cd /root/
wget https://dl.eff.org/certbot-auto --no-check-certificate
chmod +x ./certbot-auto
./certbot-auto -n

./certbot-auto -n只是用来安装依赖包的,也可以跳过直接到下面的生成证书的步骤。

单域名生成证书:

./certbot-auto certonly --email youemail@vpsrr.com --agree-tos --no-eff-email --webroot -w /home/wwwroot/www.vpsrr.com -d www.vpsrr.com

多域名单目录生成单证书:

./certbot-auto certonly --email youemail@vpsrr.com --agree-tos --no-eff-email --webroot -w /home/wwwroot/www.vpsrr.com -d www.xvpsrr.com -d test.vpsrr.com

多域名多目录生成一个证书:

./certbot-auto certonly --email youemail@xvpsrr.com --agree-tos --no-eff-email --webroot -w /home/wwwroot/www.vpsrr.com -d www.vpsrr.com -d bbs.vpsrr.com -w /home/wwwroot/www.vpsrr1.com -d www.vpsrr1.com -d vpsrr1.com

如果提示以下内容,安装免费SSL成功。

IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/www.vpsrr.com/fullchain.pem. Your cert will
expire on 2017-9-01. To obtain a new or tweaked version of this
certificate in the future, simply run certbot-auto again. To
non-interactively renew *all* of your certificates, run
“certbot-auto renew”
– If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

生成的证书会存在:/etc/letsencrypt/live/www.vpsrr.com/ 目录下。

很明显,Let’s Encrypt免费SSL证书只能用三个月,到期前执行以下命令,即可续期三个月:

certbot-auto renew

结合crontab即可实现自动续期了,可以让以上命令每月执行一次。

完成以上后,再就是修改nginx.conf文件了。这里,VPS评测与排名网给个示范:

server
{
listen      80;
server_name www.vpsrr.com vpsrr.com;
return      301 https://www.vpsrr.com$request_uri;
#index index.html index.htm index.php default.html default.htm default.php;
#root  /home/wwwroot/www.vpsrr.com;
}

server
{
#listen 80;
listen 443 ssl;
#listen [::]:80;
server_name www.vpsrr.com vpsrr.com;
index index.html index.htm index.php default.html default.htm default.php;
root  /home/wwwroot/www.vpsrr.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/www.vpsrr.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.vpsrr.com/privkey.pem;
ssl_ciphers “EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5”;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 24h;

include wordpress.conf;
#error_page   404   /404.html;

………

自己对照修改,就能成功【特别注意vpsrr.com及vpsrr1.com部分,一定要结合自己情况修改】。

修改后重启LNMP,再访问试试,是不是网站已经支持高大上的SSL安全证书了。

VPS评测与排名网特别提示:如果你使用了如七牛加速等,那估计要停用了,要想完全“绿锁”出现,就必须全部SSL出来,不能出现非SSL外链,另外最好不用其它调用的如js等外链,部分浏览器会提示SSL证书不一致。

以上就是安装免费SSL证书的全过程,希望能帮到部分需要的人。当然,本人也是小白一枚,如有错误欢迎指正,谢谢。

Linux下快速查看各个目录空间占用情况命令

Linux不比WINDOWS,查看各个硬盘空间占用情况那么方便。这不,VPS评测与排名站就遇到自己VPS上某个网站打开非常慢,于是去Linux环境下查看什么原因。

刚开始以为是LNMP出什么问题了,就试着修改参数然后重新启动LNMP,这是发现LNMP无法启动,其它MYSQL无法启动导致的,百度搜索了下说Linux下可能是硬盘空间占满所导致的,试着用以下命令查看。

df

说明,以上截图是之后截的,所示空间占用比例只使用了27%,如果是100%,那就需要清理了。

另外就是用Linux命令查看到底是哪个目录占用了空间,于是使用以下命令:

du -sh *

执行结果如下图:

很明显,该目录下面所有目录的空间占用情况就一目了然了。

再想看哪个目录,用cd命令进入哪个目录,继续执行以上命令即可。这样就能搞清楚Linux下各个目录的空间占用情况了,方便大家清理垃圾。

VPS评测与排名网使用以上命令,很快清理了空间垃圾,再重新启动LNMP,以前正常。之前的MYSQL无法启动问题得到解决了。