LNMP下禁止无用User Agent抓取网站

LNMP环境是VPS评测与排名网最喜欢的WEB环境,也一直用LNMP搭建网站使用。前几天查看网站的日志发现,不少眼生的爬虫使劲的爬网站,搜索了下,这些爬虫根本没有,基本都是垃圾爬虫。

为了禁止垃圾User Agent爬虫抓取网站,达到节省宽带和节省资源的目的,就得想办法禁止垃圾User Agent爬虫来抓取自己的网站了,这里分享下LNMP即NGINX下是如何实现禁止无用User Agent抓取网站的。

在/usr/local/nginx/conf/rewrite目录下新建agent_deny.conf文件【特别提醒这个目录是最新版lnmp1.5版本】,内容如下: 继续阅读

Centos系统下查看独立服务器硬盘使用时间

玩独立服务器有一段时间了,当然玩的是而是硬件的独立服务器,比方说kimsufi、online.net等特价独立服务器。

如昨天online.net上架了4.99欧元的独立服务器,VPS评测与排名网上架了一台,就顺便看了下硬盘的使用时间。

因为个人习惯用centos系统,那么如何查看硬盘的使用时间了,具体只需只需以下两条命令即可。 继续阅读

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: 所有的身份验证令牌已经成功更新。

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