10个常用Linux系统PS命令实际使用应用

PS,代表Process Status英文的缩写,主要是用来列出详细的系统进程才会用到。像普通的Linux服务器用户比较常用的是TOP命令列出和查看当前的服务器快照进程参数。但是,如果我们需要对服务器环境进行实际的检测状态以及详细的进程命令用途的时候,则需要用到PS命令较多。

在这篇文章中,虽然大部分也没有接触和模糊一些,也许以后可能会有接触到,所以先整理出来以便以后可能需要参考。

第一、不是用任何参数

运行PS不是用任何参数

这里不是用任何参数,可以看到有4组数据,PID代表进程ID、TTY代表进程位置、TIME表示执行进程用到的时间、CMD表示当前的命令。

第二、显示所有的进程

  1. ps -ax | less

显示所有进程参数

第三、根据用户筛选

ps-3

这里根据实际的用户占用筛选进程。

第四、根据CPU、内存的占用筛选

过滤CPU、内存进程

第五、根据进程ID筛选

根据名称或者ID排序筛选

这里在-C后面根据进程关键字筛选。

第六、根据指定进程ID筛选

根据线程筛选进程

第七、在层次结构显示进程

ps-7

第八、显示安全信息

ps-8

第九、显示以ROOT用户格式进程

显示以ROOT用户格式进程

第十、实时进程查看

实时进程查看

以上10个常用的PS命令整理,一般的用户包括我自己看着也晕乎,必须在实际需要用到的时候或者特定的环境时候用到的时候再熟悉对比比较好。姑且就先记录,后面有需要用到的时候再看详细的应用。

LNMP笔记:切割Nginx网站日志

网站日志对分析服务器故障非常有用,所以一般都开启了,但是军哥的LNMP环境默认是没有切割网站日志的,日复一日,网站日志文件就会非常大,几个G或直接占完服务器空间都是有可能的。所以,比较好的方案就是定期切割网站日志,然后删除过老的日志文件。具体的方法,其实军哥已经给出,直接copy一份备忘:

=====转载自:http://www.vpser.net/manage/cut-nginx-log-files.html  =====

目前网上也有一些Nginx日志切割脚本,但是论坛还是有用户反映网上Nginx日志切割脚本有问题,我感觉一般是因为脚本中的参数设置问题,或者是crontab中的设置问题。

为方便lnmp一键安装包用户,我也写了一个Nginx日志切割脚本,下载地址:http://soft.vpser.net/lnmp/ext/cut_nginx_logs.sh

如果是lnmp0.5/0.6/0.7/0.8/0.9通用,用户可以仅修改log_files_name后面的要切割的日志文件名就直接使用(经测试 lnmp 1.0 和 1.1 也是可以使用的)。

脚本主要参数:

  1. #设置nginx日志文件目录路径
  2. log_files_path=“/home/wwwlogs/”
  3. #日志文件将会存放到/home/wwwlogs/年/月/日志文件名_年月日.log
  4. log_files_dir=${log_files_path}$(date -d “yesterday” +“%Y”)/$(date -d “yesterday” +“%m”)
  5. #设置要切割的日志的名字,如果日志目录下面的日志文件名为vpser.net.log,则填写vpser.net,每个日志名用空格分隔
  6. log_files_name=(access vpser.net licess)
  7. #设置nginx文件的位置
  8. nginx_sbin=“/usr/local/nginx/sbin/nginx”
  9. #设置日志保存的时间,天
  10. save_days=30

如果是非lnmp一键安装包用户可以通过修改上述参数适应你的nginx环境。

将nginx日志切割脚本下载到/root/下面(然后修改上面提到的参数)。再添加自动执行。

执行:

  1. crontab -e

输入:

  1. 00 00 * * * /bin/bash /root/cut_nginx_logs.sh

每天0点整开始切割脚本。

或者直接输入代码

  1. echo  “0 0 * * * /root/cut_nginx_logs.sh”  >> /var/spool/cron/root

==================== 转载结束 ===============================

附:输入 crontab -e  提示:     crontab: command not found,只需要运行下面的命令安装 vixie-cron crontabs 即可:

  1. yum -y install  vixie-cron crontabs

其中,vixie-cron 是cron的主程序;crontabs 是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

WordPress pingback DDOS攻击 nginx防护图文教程

最近老是被攻击,最后分析日志后发现是Wordpress 的 pingback 漏洞导致的DDOS攻击,日志如下:

  1. 192.241.x.x – – [07/Apr/2016:12:22:44 +0800] “GET /index.php HTTP/1.0″ 200 “-” “WordPress/3.9.2; http://www.x.x; verifying pingback from 69.30.x.x” “-“

这里很明显,全部都是Wordpress。下面我们给出防护nginx,apache的防护方案教程(请根据自己的WEB服务器判断是哪一种):

Nginx:

在 location / 区块种添加如下代码:

  1. # WordPress Pingback Request Denial
  2. if ($http_user_agent ~* “WordPress”) {
  3. return 403;
  4. }

这样的话有请求也不会去找PHP了,nginx及时的返回403,如果连接过多的话需要修改nginx中 worker_connections的参数值,可以把它增加到更大的值。

Apache:

在配置文件中添加:

  1. BrowserMatchNoCase WordPress wordpress_ping
  2. BrowserMatchNoCase WordPress wordpress_ping
  3. Order Deny,Allow
  4. Deny from env=wordpress_ping

然后reload服务。再观察日志,可以看到全部返回403了。网站也恢复了正常访问。

如果上面的方法还是无法正常访问那就需要用到iptables了。

IPTABLES防护:

  1. cat /var/log/nginx/access.log | grep “verifying pingback from” > pingback_attack.log

然后用php分析日志,导入到iptables规则中。

  1. <?php
  2. error_reporting(0);
  3. $reqs = file(“pingback_attack.log”);
  4. foreach ($reqs as $req) {
  5. $ip = explode(” – – “, $req);
  6. $ip_address[$ip[0]]++;
  7. }
  8. arsort($ip_address);
  9. foreach ($ip_address as $ip=>$attack_times) {
  10. print “# WordPress IP. Attacked {$attack_times} times<br />”;
  11. print “iptables -A INPUT -s {$ip} -j DROP<br />”;
  12. }
  13. ?>

然后将输出的内容执行到iptables规则里面。

Vultr VPS新用户获得70美元/40美元账户余额的方法和用户须知

无论是国内、国外的用户看到有免费、便宜的产品总能吸引到大量的用户蜂拥而至。从产品质量和用户操作体验看,Vultr商家还是一个不错的性价比VPS主机提供商,虽然当初优秀的日本东京机房如今电信用户绕线美国,但是其他机房以及适合的项目用户还是有选择的。

当然,吸引我们用户有选择和体验Vultr VPS主机的原因之一还在于对于新注册用户有赠送5-50美元的余额奖励,我们可以免费体验产品,这样的针对新注册用户活动一直有效,我们也千万不要投机去注册过多的账户因为会导致关联账户被封的风险。

昨天有网友告知,GONGYI那边发布了一个新的促销优惠码可以免费20美元账户余额也是针对新注册账户的,然后问GONGYI告知这个码也是以前很早的,只是他翻出来后发出的。原本也没有准备发布,毕竟有限制30天或者60天的余额一般用户也是用不完的,但是看到不少用户提到这个码可以叠加,以及有效期是1年,所以对还没有注册账户的朋友还是有用的。

根据之前存在的优惠,我们可以将新的优惠码叠加,这样用信用卡或者PAYPAL绑定验证激活账户可以分别获得70美元、40美金的账户余额,而且有效期部分会延期至1年。

更新说明漏洞已经补上,叠加使用优惠券的方法失效,当前只能选择其一使用,不可以叠加了。

第一、免费获得50+20=70美元余额方法(信用卡用户)

活动地址 :https://www.vultr.com/freetrial/

这里我们需要先去获得赠送50美元(60天资质资格),我们会看到下图。

看到这样的界面之后,点击上图标注按钮,然后新注册账户。

nginx20-2

这里需要新注册VULTR账户,填写邮箱和设置新密码,就可以注册(必须是新用户)。

我们开始看到的是50美金余额,然后在ENTER CODE位置输入NGINX20优惠码后点击APPLY按钮就可以看到上图所示的50+20=70余额,这样在左侧需要且只能用到信用卡绑定(必须是在VULTR没用过的)。这样在注册后账户就会有70美金,其中50美金是有效期60天,20美金是有效期1年。

第二、免费获得20+20=40美金余额(可信用卡/PayPal)

如果我们没有信用卡,那如果有PAYPAL账户可以用到这个方法,虽然金额少一点,但是还是可以用的。

Vultr官方网站地址:www.vultr.com

这里需要到官方网站后在首页注册账户。

VULTR免费获得20+20=40美金余额

这里依旧是输入新注册VULTR账户邮箱和密码,后注册账户。

Vultr VPS新用户获得70美元/40美元账户余额的方法和用户须知

与上面类似,在ENTER CODE位置依次输入SSDVPS和输入NGINX20优惠码,点击APPLY后会看到上图的20+20余额,其中20是有效期30天,20是有效期1年。如果用PAYPAL绑定需要支付最低5美金的充值余额(余额也是在我们账户中的)。

第三、VULTR优惠和注册用户须知

无论是博主还是大家,看到优惠活动肯定很乐意,但是我们也要悠着点,一来是根据需要选择,二来也不要恶意注册,最终导致活动提前结束或者账户关联被封,最终受伤的还是我们自己。

1、不能确保活动的永久。至少目前看到不少网友有在注册且可以获取到的,活动只能以实际的获得为准。

2、信用卡用户会扣费2.5美元作为卡验证,应该会在1个月左右时间返还到信用卡中。

3、如果没有注册过账户可以注册体验,好歹也不要多少成本和时间。

4、如果我们有过账户且需要再注册,那就要自己把控,不要被作弊机制逮到。

Photoshop简单的讲解夜景人像后期修图教程

本教程主要使用Photoshop简单的讲解夜景人像后期修图教程,作者讲的是精修,但是过程比较简单,只要给大家提供一个修图的思路,剩下的需要大家自己实际的拓展,喜欢的朋友一起来学习吧。
来源:站酷    作者:灏子
最终效果

原照

过程:

1、打开DNG微调后导入PS

2、磨皮(网上教程很多,这里就不啰嗦了。

3、液化脸型、去除杂乱头发

4、进行深度液化,客户说他喜欢圆脸的,好吧不就是肉包子吗。

5、牙好像缺了一块,补上,妆有点花了,于是皮肤进一步磨皮。

6、脸颊妆花了,看起来很脏,单独选中表面模糊磨皮。

7、鼻尖加个高光看起来挺一点,眼睛也加了。USM锐化后效果

9、发现眼妆花了,复制右眼的眼线来补妆

10、这是个技术活,考验美术功底的时候到了

11、最终锐化:复制一个图层高反差保留3.5然后图层叠加方式:线性光

12、由于脸部妆不好 磨皮的比较多 导致皮肤纹理丢失 下载个皮肤材质贴图 贴上去

13根据需要的部位贴上材质 叠加方式柔光

14新建一个蓝色的图层 叠加方式:排除40% 调整一下色阶 加上雪花 完成

最终效果:

给你的LinuxVPS装个远程桌面

有些人抱怨Linux的系统没有桌面,用着实在是不方便。今天整理一下网上的教程,给VPS装个桌面环境。Centos系统+X Window+GNOME Desktop。

此程序会安装无数乱七八糟的东西到你的VPS上,尤其是LNMP装完重启基本都会勃起不了。一定不要应用在使用中的VPS上面,另外,因未知原因可能会安装不上或连接不上等,请不要问我为什么,谢谢。

注意:最少需要512M或以上内存,256内存,就不要玩这个了。

一、在VPS上面安装环境:

  1. wget http://www.vpsmm.com/soft/xwindow.sh;sh ./xwindow.sh;

安装过程很快,一般10分钟内都可以完成。完成后,会出现以下提示:

  1. Complete!
  2. ===========================
  3. ======= Download FreeNX Windows software  : =======
  4. http://www.vpsmm.com/order/freenx
  5. ======= How to use FreeNX connect to your Linux X Window System: =======
  6. http://www.vpsmm.com/xwindows.html
  7. Install X Window System Successful,Press any key to end…

二、在本机登陆远程VPS桌面:

首选要下载一个软件:FreeNX Windows (猛击我进入下载

1.安装后第一次运行,会有一个向导,第一步需要输入IP和端口:

2.选择unix GNOME

3.输入root用户名密码,登陆就可以了。

2200084401

我在很多VPS上测试过,包括BURST,VPSYOU,DS,PN,YARD等,有的可以直接登陆成功,有的需要导入证书(方法见下面),有的就是不成功。我也不知道原因,行就行,不行就是不行。切记:不要问我为什么。


三、下载VPS证书并导入:

存储在/backup/vpsmm.com/client.id_dsa.key,可以使用flashfxp或filezilla下载。

Linux上iptables防火墙的基本应用教程

1、安装iptables防火墙

如果没有安装iptables需要先安装,CentOS执行:

  1. yum install iptables

Debian/Ubuntu执行:

  1. apt-get install iptables

2、清除已有iptables规则

  1. iptables -F
  2. iptables -X
  3. iptables -Z

3、开放指定的端口

-A和-I参数分别为添加到规则末尾和规则最前面。

  1. #允许本地回环接口(即运行本机访问本机)
  2. iptables -A INPUT -i lo -j ACCEPT
  3. # 允许已建立的或相关连的通行
  4. iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
  5. #允许所有本机向外的访问
  6. iptables -A OUTPUT -j ACCEPT
  7. # 允许访问22端口
  8. iptables -A INPUT -p tcp –dport 22 -j ACCEPT
  9. #允许访问80端口
  10. iptables -A INPUT -p tcp –dport 80 -j ACCEPT
  11. #允许访问443端口
  12. iptables -A INPUT -p tcp –dport 443 -j ACCEPT
  13. #允许FTP服务的21和20端口
  14. iptables -A INPUT -p tcp –dport 21 -j ACCEPT
  15. iptables -A INPUT -p tcp –dport 20 -j ACCEPT
  16. #如果有其他端口的话,规则也类似,稍微修改上述语句就行
  17. iptables -A INPUT -p tcp –dport 6000:6500 -j ACCEPT
  18. #如果你要是想开放一段,比如6000~6500,那就用冒号连接
  19. #允许ping
  20. iptables -A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT
  21. #禁止其他未允许的规则访问
  22. iptables -A INPUT -j REJECT  #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
  23. iptables -A FORWARD -j REJECT

4、屏蔽IP

  1. #如果只是想屏蔽IP的话“3、开放指定的端口”可以直接跳过。
  2. #屏蔽单个IP的命令是
  3. iptables -I INPUT -s 123.45.6.7 -j DROP
  4. #封整个段即从123.0.0.1到123.255.255.254的命令
  5. iptables -I INPUT -s 123.0.0.0/8 -j DROP
  6. #封IP段即从123.45.0.1到123.45.255.254的命令
  7. iptables -I INPUT -s 124.45.0.0/16 -j DROP
  8. #封IP段即从123.45.6.1到123.45.6.254的命令是
  9. iptables -I INPUT -s 123.45.6.0/24 -j DROP

5、查看已添加的iptables规则

  1. iptables -L -n
  1. v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
    x:在 v 的基础上,禁止自动单位换算(K、M)
    n:只显示IP地址和端口号,不将ip解析为域名

 

6、删除已添加的iptables规则

将所有iptables以序号标记显示,执行:

  1. iptables -L -n –line-numbers

比如要删除INPUT里序号为8的规则,执行:

  1. iptables -D INPUT 8

7、iptables的开机启动及规则保存

CentOS上可能会存在安装好iptables后,iptables并不开机自启动,可以执行一下:

  1. chkconfig –level 345 iptables on

将其加入开机启动。

保存规则:CentOS上可以执行:

  1. service iptables save

另外更需要注意的是Debian/Ubuntu上iptables是不会保存规则的。

需要按如下步骤进行,让网卡关闭是保存iptables规则,启动时加载iptables规则:

创建/etc/network/if-post-down.d/iptables 文件,添加如下内容:

  1. #!/bin/bash
  2. iptables-save > /etc/iptables.rules

执行:chmod +x /etc/network/if-post-down.d/iptables 添加执行权限。

创建/etc/network/if-pre-up.d/iptables 文件,添加如下内容:

  1. #!/bin/bash
  2. iptables-restore < /etc/iptables.rules

执行:chmod +x /etc/network/if-pre-up.d/iptables 添加执行权限。

关于更多的iptables的使用方法可以执行:iptables –help或网上搜索一下iptables参数的说明。

是时候放弃putty了,推荐个putty的替代品:Xshell

虽然putty轻巧啦,但是有的时候还是闲功能太弱.我自己改用Xshell的理由就几个:

  1. 免费
  2. 可以保存用户名和密码.不用每次登陆输密码那么累
  3. 多标签.管理多台服务器方便
  4. 可以使用rz命令,传小文件不用winscp这么麻烦了.

虽然putty也有很多修改版可以实现保存密码,多标签等功能,但毕竟是修改版嘛,直接用免费的正版软件不是挺好的?

官网下载地址:

http://www.netsarang.com/download/down_xsh5.html

保存用户和密码

这很简单,一看就会,不用多做解释了.当然,xshell还有很多强大的功能,不过这应该是最实用的了吧.


多标签

重点介绍下这个rz和sz命令

首先,你要在xshell里面激活zmodem功能

第二步,服务器上安装lrzsz命令

centos:

ubuntu/debian:

然后就可以开始使用rz和sz命令了.

从本机传文件到服务器,使用  rz 命令.直接在命令行收入 rz .就会弹出文件传输窗口,选择完文件就会传到当前目录下.如图:

从服务器传文件到本机,使用   sz 文件名 .也是直接弹出文件传输窗口,选择要保持的位置.如图:

 

是不是超方便呢.不用putty和winscp两个软件切来切去了…

lnmp无法删除目录,目录包含.user.ini

lnmp无法删除目录,目录包含.user.ini,无法删除“.user.ini”文件解决方法,LNMP无法删除或更改权限,显示:rm: cannot remove `.user.ini’: Operation not permitted

无法删除“.user.ini”文件解决方法,运行后删除即可

  1. chattr -i /home/wwwroot/yoursite/.user.ini

如果是需要修改文件,记得修改完以后运行:

  1. chattr +i /home/wwwroot/yoursite/.user.ini

chattr命令:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。chattr命令的作用很大,通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。

语法 chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录

  1. 参数  描述  
  2. -R  递归处理所有的文件及子目录。  
  3. -V  详细显示修改内容,并打印输出。  
  4. –   失效属性。  
  5. +   激活属性。  
  6. =   指定属性。  
  7. A   Atime,告诉系统不要修改对这个文件的最后访问时间。  
  8. S   Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。  
  9. a   Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。  
  10. i   Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。  
  11. D   检查压缩文件中的错误。  
  12. d   No dump,在进行文件系统备份时,dump程序将忽略这个文件。  
  13. C   Compress,系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。  
  14. s   Secure Delete,让系统在删除这个文件时,使用0填充文件所在的区域。  
  15. u   Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。  

例子

  1. 用chattr命令防止系统中某个关键文件被修改:  
  2. # chattr +i /etc/resolv.conf  
  3.     
  4. 用lsattr查询文件属性:  
  5. # lsattr /etc/resolv.conf  
  6. —-i——– /etc/resolv.conf #显示如上  
  7.     
  8. 让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:  
  9. # chattr +a /var/log/messages  

LNMP环境301重定向的方法

本站绑定了wuwenwu.com和www.wuwenwu.com,这样对搜索引擎很不友好,导致域名的PR值分散到两个URL上了。301重定向就可以解决这个问题,把不带www和带www的域名合并到一起。

下面以本站为例,做了LNMP环境下的nginx域名301重定向教程。

方法/步骤

1.直接用WinSCP编辑器打开 /usr/local/nginx/conf/vhost/www.wuwenwu.com.conf 这个配置文件,代码如下:

  1. server
  2.      {
  3.          listen       80;
  4.          server_name wuwenwu.com www.wuwenwu.com;
  5.          index index.html index.htm index.php default.html default.htm default.php;
  6.          root  /home/wwwroot/wuwenwu.com;
  7.          include typecho.conf;
  8.          location ~ .*.(php|php5)?$
  9.                  {
  10.                          fastcgi_pass  unix:/tmp/php-cgi.sock;
  11.                          fastcgi_index index.php;
  12.                          include fcgi.conf;
  13.                  }
  14.          location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
  15.                  {
  16.                          expires      30d;
  17.                  }
  18.          location ~ .*.(js|css)?$
  19.                  {
  20.                          expires      12h;
  21.                  }
  22.          access_log off;
  23.      }

2.现在把 server_name wuwenwu.com www.wuwenwu.com; 这行的 wuwenwu.com 删掉。

3.再在后面加上下面代码:

  1. server {
  2.    server_name wuwenwu.com;
  3.    rewrite ^(.*) http://www.wuwenwu.com$1 permanent;
  4. }

最终效果见下图:

lnmp301

改完后重启nginx就生效了。虽然做了301重定向,但是DNS处还是要做A记录解析的。完成后,试试效果,打开wuwenwu.com就会自动跳转到www.wuwenwu.com。