nginx目录验证

建立一个密码文件,然后设置nginx设置

bear@njava:/$ sudo mkdir /etc/nginx/conf
bear@njava:/$ sudo htpasswd -c /etc/nginx/conf/passwd njava
bear@njava:/$ sudo vi /etc/nginx/sites-available/njava
location ~ ^/xxx/  {
      root    /data/htdocs/xxx;
      auth_basic              "input your username and password";
      auth_basic_user_file /etc/nginx/conf/passwd;
}

Tags: ,

星期日, 28 3 月, 2010 服务器 没有评论

nginx限制并发连接

做法:定义一个叫“limit”的记录区,总容量为 10M,以变量 $binary_remote_addr 作为会话的判断基准

修改nginx配置

bear@njava:/$ sudo vi /etc/nginx/sites-available/njava

limit_zone   limit  $binary_remote_addr  10m;
server {
location /download/ {
limit_conn   limit  1;
}

Tags: ,

星期日, 28 3 月, 2010 服务器 没有评论

在ubuntu9.10下用cacti监控nginx运行

Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结 构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。http://www.cacti.net/

1 安装cacti

bear@njava:/$  sudo apt-get install cacti-cactid 

2 下载cacti-nginx脚本

bear@njava:/$ wget http://forums.cacti.net/download.php?id=12676
bear@njava:/$ tar -xzvf cacti-nginx.tar.gz
bear@njava:/$ sudo cp cacti-nginx/get_nginx_socket_status.pl /usr/share/cacti/site/scripts
bear@njava:/$ sudo cp cacti-nginx/get_nginx_clients_status.pl /usr/share/cacti/site/scripts
bear@njava:/$ sudo chmod 755 /usr/share/cacti/site/scripts/get_nginx*

3 检查脚本

bear@njava:/$ /usr/share/cacti/site/scripts/get_nginx_socket_status.pl http://www.njava.com/nginx_status

4 配置cacti的nginx虚拟主机

 
bear@njava:$ sudo vi /etc/nginx/sites-available/cacti
server {
        listen   80;
        server_name cacti.njava.com;
        access_log  /var/log/nginx/cacti.access.log;

        location / {
                root   /usr/share/cacti/site;
                index  index.html index.htm index.php;
        }

        location ~ \.php$ {
                fastcgi_pass unix:/tmp/php-cgi.njava.sock;
                fastcgi_index index.php;
                set $path_info "/";
                set $real_script_name $fastcgi_script_name;
                if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                    set $real_script_name $1;
                    set $path_info $2;
                }
               fastcgi_param SCRIPT_FILENAME /usr/share/cacti/site/$real_script_name;
               fastcgi_param script_name $real_script_name;
               fastcgi_param path_info $path_info;
               include /etc/nginx/fastcgi_params;
        }
}

bear@njava:$ sudo ln -s /etc/nginx/sites-available/cacti  /etc/nginx/sites-enable/cacti

bear@njava:$ sudo /etc/init.d/nginx reload

5 从cacti的UI上传cacti模板

cacti_graph_template_nginx_clients_stat.xml
cacti_graph_template_nginx_sockets_stat.xml

Tags: , ,

星期日, 28 3 月, 2010 服务器 没有评论

ssh因为eCryptfs的原因PubkeyAuthentication登录不上

折腾了一天,ubuntu9.10服务端authorized_keys文件权限,.ssh权限都正常,ssh基于密码登录能正常登录,但是基于ras的密钥登录却出现问题。必须要服务器控制台先登录了,远程的ssh才能登录。查期原因,原来是eCryptfs闹腾的。

eCryptfs – Enterprise Cryptographic Filesystem 是linux下一个企业级的磁盘加密系统。

解决办法一

 $ /sbin/umount.ecryptfs_private
 $ cd $HOME
 $ chmod 700 .
 $ mkdir -m 700 .ssh
 $ chmod 500 .
 $ echo $YOUR_REAL_PUBLIC_KEY > .ssh/authorized_keys
 $ /sbin/mount.ecryptfs_private

解决方法二
bear@njava:~$ vi /etc/ssh/sshd_config

AuthorizedKeysFile /etc/.ssh/%u/authorized_keys

Tags: ,

星期六, 27 3 月, 2010 服务器 没有评论

ubuntu启动加载调整sysv-rc-conf

1 安装sysv-rc-conf

bear@njava:~$ sudo apt-get update
bear@njava:~$ sudo apt-get install sysv-rc-conf

2 运行

bear@njava:~$ sudo sysv-rc-conf

3 运行等级
开机进程执行顺序如下:
运行等级 S:开机进程中的第一个运行等级。/etc/init.d/rcS脚本将被调用到开启并且/etc/rcS.d目录下的所有进程将被执行。
运行等级 1:单用户模式。/etc/rc1.d目录下的所有进程将被执行。
运行等级 2,3,4,5:在debian系统里是多用户环境,可能不包含图形用户界面。同样的,在相应目录下的进程将被运行。
运行等级 0:关闭计算机
运行等级 6:重起计算机

Tags: ,

星期六, 27 3 月, 2010 服务器 没有评论

ssh安全策略

1 客户机生成私钥和公钥

客户端:

$ ssh-keygen -t rsa

2 上传公钥 xx.pub

ssh-copy-id -i ~/.ssh/bear@njava.pub bear@njava.com

或者
服务端:

$ mkdir ~/.ssh
$ chmod 700 .ssh
$ cat xx.pub>~/.ssh/authorized_keys
$ chmod 600 authorized_keys

3 禁止密码登录
服务端:

$ sudo vim /etc/ssh/sshd_config 

#PasswordAuthentication yes /*禁止密码验证登录
PasswordAuthentication no

#确保公钥登录
PubkeyAuthentication yes 

#LogLevel info  提高日志级别
LogLevel VERBOSE

#LoginGraceTime 120 登录等待的最短时间 改为20秒,可以有效的防御thwarting automated),暴力攻击ssh,和DDOS
LoginGraceTime 20

#Banner /etc/issue.net 警告信息,建立/etc/issue 文件,ln -s 到 /etc/issue.net
Banner /etc/issue.net

#只允许特定用户ssh登录
AllowUsers 'bear njava'

#不允许特定用户ssh登录
DenyUsers 'pig java'

#只允许指定组用户登录
AllowGroups sshlogin

#添加组信息的方法
#sudo addgroup --gid 450 sshlogin
#sudo adduser  sshlogin 

#改变ssh监听端口
Port 2222

4 重启ssh

sudo /etc/init.d/ssh restart

Tags: , ,

星期五, 26 3 月, 2010 服务器 没有评论

什么是UNIX Domain Socket IPC

socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程。这是因为,IPC机制本质上是可靠的通讯,而网络协议是为不可靠的通讯设计的。UNIX Domain Socket也提供面向流和面向数据包两种API接口,类似于TCP和UDP,但是面向消息的UNIX Domain Socket也是可靠的,消息既不会丢失也不会顺序错乱。

UNIX Domain Socket是全双工的,API接口语义丰富,相比其它IPC机制有明显的优越性,目前已成为使用最广泛的IPC机制,比如X Window服务器和GUI程序之间就是通过UNIX Domain Socket通讯的。

使用UNIX Domain Socket的过程和网络socket十分相似,也要先调用socket()创建一个socket文件描述符,address family指定为AF_UNIX,type可以选择SOCK_DGRAM或SOCK_STREAM,protocol参数仍然指定为0即可。

UNIX Domain Socket与网络socket编程最明显的不同在于地址格式不同,用结构体sockaddr_un表示,网络编程的socket地址是IP地址加端口号,而UNIX Domain Socket的地址是一个socket类型的文件在文件系统中的路径,这个socket文件由bind()调用创建,如果调用bind()时该文件已存在,则bind()错误返回。

Tags: ,

星期五, 26 3 月, 2010 网络 没有评论

nginx链接php的一种方法,unix domain socket

1 建立sock文件/tmp/php-cgi.njava.sock

bear@njava:/tmp$sudo chown www-data /tmp/php-cgi.njava.sock

2 修改站点配置/etc/nginx/site-available

# fastcgi_pass  127.0.0.1:9000;
fastcgi_pass   unix:/tmp/php-cgi.njava.sock;

3 修改php-cgi启动方式

#DAEMON_OPTS=”-a 127.0.0.1 -p 9000 -C 1 -u www-data -f /usr/bin/php-cgi”
DAEMON_OPTS=”-a 127.0.0.1 -s /tmp/php-cgi.njava.sock -C 1 -u www-data -f /usr/bin/php-cgi

Tags: , ,

星期五, 26 3 月, 2010 服务器 没有评论

域名的8种状态

1、 ACTIVE:活动状态。由Registry设置;该域名可以由Registrar更改;可以续费;至少被指派一个DNS。

2、 REGISTRY-LOCK:注册局锁定。由注册局设置;该域名不可以由注册商更改、删除;必须由注册局解除此状态才可以由注册商更改域名信息;域名可以续费;如果域名被指派至少一个DNS则可以包含在(域名根服务器)的区域中(可以正常使用)。

3、 REGISTRY-HOLD:注册局保留。由注册局设置;该域名不可以由注册商更改、删除;必须由注册局解除此状态才可以由注册商更改域名信息;域名可以续费;该域名不包括在(域名根服务器)的区域中(不能正常使用)。

4、 REGISTRAR-LOCK:注册商锁定。由该域名的原始注册商设置;该域名不可以被更改或删除;必须由注册商解除此状态才可以更改域名信息;该域名可以续费。该域名包含在(域名根服务器)的区域中(可以正常使用)。

5、 REGISTRAR-HOLD:注册商保留。由该域名的原始注册商设置;该域名不可以被更改或删除;必须由注册商解除此状态才可以更改域名信息;该域名可以续费。该域名不包括在(域名根服务器)的区域中(不能正常使用)。

6、 REDEMPTIONPERIOD:宽限期。当注册商向注册局提出删除域名请求后,由注册局将域名设置称此状态,不过,条件是该域名已经注册了5天以上(如果该域名注册时间不足5天,则立即删除);该域名不包括在(域名根服务器)的区域中(不能正常使用);该域名不可以被更改或清除,只可以被恢复;任何其他注册商提出对此域名的更改或其他请求都将被拒绝;该状态最多保持30天。

7、 PENDINGRESTORE:恢复未决。当注册商提出将处于REDEMPTIONPERIOD的域名恢复请求后,由注册局设置;该域名包含在(域名根服务器)的区域中(可以正常使用);注册商提出的更改或任何其他请求都将被拒绝;在7天之内,有注册商向注册局提供必需的恢复文件,如果注册商在7天之内提供了这些文件,该域名将被置为ACTIVE状态,否则,该域名将重新返回到REDEMPTIONPERIOD状态。

8、 PENDINGDELETE:删除未决。如果一个域名在被设置成REDEMPTIONPERIOD状态期间内,注册商没有提出恢复请求,那么,域名将被置于PENDINGDELETE状态,注册商对此域名的任何请求都将被拒绝;5天之后清除。

Tags:

星期四, 25 3 月, 2010 Web 没有评论

Google.cn已经302去香港了

3月23日消息,据国外媒体报道,谷歌周一宣布,已正式关闭中国内地网站Google.cn,同时将用户重新定向到谷歌香港网站。

 北京时间3月23日凌晨3时零3分,谷歌公司高级副总裁、首席法律官大卫·德拉蒙德公开发表声明,再次借黑客攻击问题指责中国,宣布停止对谷歌中国搜索服务的“过滤审查”,并将搜索服务由中国内地转至香港。

谷歌称:“履行我们不再对Google.cn进行审查的承诺很难,我们希望全世界尽可能多的网民访问到我们的服务,其中包括中国内地用户。但是,在整个谈判过程中,中国政府的态度很明确,自我审查是一个不可商量的法律规定。”

谷歌表示:“我们相信,这种通过谷歌香港网站(Google.com.hk)提供未经审查的简体中文搜索服务的做法是可行的,而且完全合法,将在很大程度上提升中国网民所访问的信息量。”

谷歌还表示:“我们十分希望中国政府能够尊重我们的决定。”另外,关闭Google.cn网站后,谷歌在内地的研发和销售团队将予以保留。

受该决定影响,谷歌在内地的一部分员工可能将失业,但知情人士称,大部分员工仍将继续为香港网站Google.com.hk服务。

google跳转

bear@bear-laptop:~$ curl -I www.g.cn

HTTP/1.1 301 Moved Permanently

Location: http://www.google.cn/webhp?source=g_cn

Date: Tue, 23 Mar 2010 03:51:48 GMT

Expires: Tue, 23 Mar 2010 03:51:48 GMT

Cache-Control: private, max-age=2592000

Content-Type: text/html; charset=UTF-8

Server: gws

Content-Length: 235

X-XSS-Protection: 0

google302去香港了,不是301,哈哈

bear@bear-laptop:~$ curl -I www.google.cn

HTTP/1.1 302 Found

Location: http://www.google.com.hk/url?sa=p&cki=PREF%3DID%3Dd83b4d507eefd755:FF%3D2:LD%3Dzh-CN:NW%3D1:TM%3D1269316321:LM%3D1269316321:S%3DGFQBLG4qIPsWAO51&q=http://www.google.com.hk/&ust=1269316351043237&usg=AFQjCNERVTkZUumndQ1a34tTuFj4UFHGcw

Cache-Control: private

Content-Type: text/html; charset=UTF-8

Set-Cookie: PREF=ID=d83b4d507eefd755:NW=1:TM=1269316321:LM=1269316321:S=rcWSYLH01KNeQF_W; expires=Thu, 22-Mar-2012 03:52:01 GMT; path=/; domain=.google.cn

Set-Cookie: NID=33=h6A0wWWNC8Lv83l8JJzytNn7No3_LZ_vsJvYRPdOW6Hxvye_kwKOS3XRm5jPFvgACIiQ7lLsA_-9QjFbQo2OEqyiUzM7GtqkwMB8BUh6WS6WIFkSoggDjgUKulmrp1EW; expires=Wed, 22-Sep-2010 03:52:01 GMT; path=/; domain=.google.cn; HttpOnly

Date: Tue, 23 Mar 2010 03:52:01 GMT

Server: gws

Content-Length: 445

X-XSS-Protection: 0


bear@bear-laptop:~$ date
2010年 03月 23日 星期二 11:52:39 CST

Tags: ,

星期二, 23 3 月, 2010 Web 没有评论
1LMooBmUE153Wnd3zDryWvDyXxQudbFxDr