分享最近用的几个命令
1.批量kill进程
生产机器上为了解决压力开了好多进程,当程序需要修改重启时很麻烦。
需要ps -ef挨个查看进程号,然后kll -9 pid来关闭进程,更新程序重启。
xargs命令可以帮我们解决这个问题,把下面命令中的process换成你的进程名关键字就可以了
ps -ef|grep processname |grep -v grep|awk '{print $2}'|xargs kill -9
2.solaris下递归grep
solaris下的grep比较简单,没有-r参数,可以用组合命令来替代,其中stringtofind是要在文件中查找的字符串
find ./ -type f -print | xargs file | grep text ...
利用nginx泛域名解析配置二级域名和多域名
网站的目录结构为
html
├── bbs
└── www
html为nginx的安装目录下默认的存放源代码的路径。
bbs为论坛程序源代码路径
www为主页程序源代码路径
把相应程序放入上面的路径通过
http://www.youdomain.com 访问的就是主页
http://bbs.yourdomain.com 访问的就是论坛
其它二级域名类推。
server {
listen 80;
server_name ~^(?<subdomain>.+).yourdomain.com$;
root html/$subdomain;
index index.html index....
1.查询连接到指定端口的客户端IP
netstat -aon|grep 8096
2.递归查找当前目录下文件包含的内容
find . -name "*.cpp" -exec grep "tofindstr" {} ;
3.递归查找当前目下的文件
find ./ -print|xargs grep deposit
4.程序在后台运行,securecrt关闭后程序不退出,程序在后台继续运行。
如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
nohup command > log.file 2>&1 &
在上面的例子中,输出被重定向到myout.file文件中。
使用 jobs 查看...
有人问我为什么nginx的access日志文件突然间变大M,查看结果nginx默认主机日志记录出现如下的400错误。
重现办法:
telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET / HTTP/1.1
HTTP/1.1 400 Bad Request
Server: nginx/1.2.5
Date: Wed, 26 Dec 2012 03:37:08 GMT
Content-Type: text/html
Content-Length: 172
Connection: close
<html>
<head><title>400 Bad Request</title>&...
之前的nginx配置是对nginx配置文件的具体含义进行讲解,不过对于nginx的新手可能一头雾水。
今天看到个文档不错,翻译过来分享给大家,可以让新手更详细地了解nginx配置,可以说是nginx配置入门必备。
Nginx是一个轻量级高性能的web服务器,它是为快速响应大量静态文件请求和高效利用系统资源而设计的。与apache使用面向进程或线程的方式处理请求不同,nginx使用异步事件驱动模型在负载下性能更突出。
虽然nginx能高效地服务静态文件,但也有人认为nginx处理动态内容并不理想。不像apache服务器,nginx没用使用内嵌解释器的方式来处理...
使用php-fpm解析PHP,"No input file specified","File not found"是令nginx新手头疼的常见错误,原因是php-fpm进程找不到SCRIPT_FILENAME配置的要执行的.php文件,php-fpm返回给nginx的默认404错误提示。
比如我的网站doucument_root下没有test.php,访问这个文件时通过抓包可以看到返回的内容。
HTTP/1.1 404 Not Found
Date: Fri, 21 Dec 2012 08:15:28 GMT
Content-Type: text/html
Proxy-Connection: close
Server: nginx/1.2.5
X-Powered-By: PHP/5.4.7
Via: 1.1 c3300 (NetCache NetApp/6.0.7)
Content-Length: 16
File not fo...
nginx 的 403 Forbidden errors 表示你在请求一个资源文件但是nginx不允许你查看。
403 Forbidden 只是一个HTTP状态码,像404,200一样不是技术上的错误。
哪些场景需要返回403状态码的场景?
1.网站禁止特定的用户访问所有内容,例:网站屏蔽某个ip访问。
2.访问禁止目录浏览的目录,例:设置autoindex off后访问目录。
3.用户访问只能被内网访问的文件。
以上几种常见的需要返回 403 Forbidden 的场景。
由于服务器端的错误配置导致在不希望nginx返回403时返回403 Forbidden。
1.权限配置不正确
这个是nginx出现403 forbidden最常见...
nginx的版本号默认是打开的,可以在默认的错误页面和http响应头中查看到。
比如http://blog.redis.com.cn的HTTP响应头信息
有些时候HTTP/1.1 200 OK
Server: nginx/1.2.3
Date: Fri, 14 Dec 2012 05:39:29 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.4.7
X-Pingback: http://blog.redis.com.cn/xmlrpc.php
Content-Encoding: gzip
不同版本,特别是低版本的nginx可能存在漏洞,就不希望能被人轻易获取到系统版本号。
这个时候我们可以显示的隐藏nginx version,使...
nginx不仅可以来做反向代理,也可以用来做正向代理(透明代理,代理上网),nginx反向代理看这里
反向代理,外部机器通过网关访问网关后面服务器上的内容,网关起到了反向代理的功能,我们平时通过浏览器访问远程的web服务器大都是这样实现的。
正向代理,就是上面的过程反过来,我们平时说的代理上网,局域网中的用户通过网关做代理访问外部的网络。
nginx同样可以实现代理上网的功能,配置如下:
user www;
worker_processes 1;
error_log /var/log/nginx/error.log debug;
events {
use epoll;
wor...
如何设置能限制某个IP某一时间段的访问次数是一个让人头疼的问题,特别面对恶意的ddos攻击的时候。其中CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。
cc攻击一般就是使用有限的ip数对服务器频繁发送数据来达到攻击的目的,nginx可以通过HttpLimitReqModul和HttpLimitZoneModule配置来限制ip在同一时间段的访问次数来防cc攻击。
HttpLimitReqModul用来限制连单位时间内连接数的模...