2013
06
07
14:50

Nginx配置文件nginx.conf中文详解

#定义Nginx运行的用户和用户组

user www www;

 

#nginx进程数,建议设置为等于CPU总核心数。

worker_processes 8;

 

#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]

error_log /var/log/nginx/error.log info;

 

#进程文件

pid /var/run/nginx.pid;

 

#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。

worker_rlimit_nofile 65535;

 

#工作模式与连接数上限

events

{

#参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。

use epoll;

#单个进程最大连接数(最大连接数=连接数*进程数)

worker_connections 65535;

}

 

#设定http服务器

http

{

include mime.types; #文件扩展名与文件类型映射表

default_type application/octet-stream; #默认文件类型

#charset utf-8; #默认编码

server_names_hash_bucket_size 128; #服务器名字的hash表大小

client_header_buffer_size 32k; #上传文件大小限制

large_client_header_buffers 4 64k; #设定请求缓

client_max_body_size 8m; #设定请求缓

sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。

autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。

tcp_nopush on; #防止网络阻塞

tcp_nodelay on; #防止网络阻塞

keepalive_timeout 120; #长连接超时时间,单位是秒

 

#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_size 64k;

fastcgi_buffers 4 64k;

fastcgi_busy_buffers_size 128k;

fastcgi_temp_file_write_size 128k;

 

#gzip模块设置

gzip on; #开启gzip压缩输出

gzip_min_length 1k; #最小压缩文件大小

gzip_buffers 4 16k; #压缩缓冲区

gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)

gzip_comp_level 2; #压缩等级

gzip_types text/plain application/x-javascript text/css application/xml;

#压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。

gzip_vary on;

#limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用

 

upstream blog.yourname.com {

#upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。

server 192.168.80.121:80 weight=3;

server 192.168.80.122:80 weight=2;

server 192.168.80.123:80 weight=3;

}

 

#虚拟主机的配置

server

{

#监听端口

listen 80;

#域名可以有多个,用空格隔开

server_name www.yourname.com yourname.com;

index index.html index.htm index.php;

root /data/www/yourname;

location ~ .*.(php|php5)?$

{

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

}

#图片缓存时间设置

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 10d;

}

#JS和CSS缓存时间设置

location ~ .*.(js|css)?$

{

expires 1h;

}

#日志格式设定

log_format access ‘$remote_addr – $remote_user [$time_local] “$request” ‘

‘$status $body_bytes_sent “$http_referer” ‘

‘”$http_user_agent” $http_x_forwarded_for’;

#定义本虚拟主机的访问日志

access_log /var/log/nginx/access.log access;

 

#对 “/” 启用反向代理

location / {

proxy_pass http://127.0.0.1:88;

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr;

#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#以下是一些反向代理的配置,可选。

proxy_set_header Host $host;

client_max_body_size 10m; #允许客户端请求的最大单文件字节数

client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,

proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)

proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)

proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)

proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小

proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置

proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)

proxy_temp_file_write_size 64k;

#设定缓存文件夹大小,大于这个值,将从upstream服务器传

}

 

#设定查看Nginx状态的地址

location /NginxStatus {

stub_status on;

access_log on;

auth_basic “NginxStatus”;

auth_basic_user_file conf/htpasswd;

#htpasswd文件的内容可以用apache提供的htpasswd工具来产生。

}

 

#本地动静分离反向代理配置

#所有jsp的页面均交由tomcat或resin处理

location ~ .(jsp|jspx|do)?$ {

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://127.0.0.1:8080;

}

#所有静态文件由nginx直接读取不经过tomcat或resin

location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$

{ expires 15d; }

location ~ .*.(js|css)?$

{ expires 1h; }

}

}

2013
06
07
14:30

谷歌浏览器 Chrome 中你可能不知道的快捷键

越来越多的人在使用谷歌浏览器了,你也同样可能对它的设计感到惊叹,作为开发人员的你,是不是想了解到更多一点的秘密呢?

 

在浏览器里输入如下快捷方式会得到很多有用的信息,赶快试试吧:

about:

about:dns

about:plugins

about:memory

view-source:[URL]

about:cache

 

about: 得到浏览器相关的信息 包括 谷歌浏览器,WebKit和V8的版本号,以及用户代理字符串。

如下所示:

谷歌浏览器 4.1.249.1042 (正式版本 42199)

WebKit 532.5

V8 1.3.18.22

User Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1042 Safari/532.5

 

about:dns 得到dns信息,

 

about:plugins 得到已经安装的插件信息

 

about:memory 现在 Chrome 的内存占用信息

 

view-source:[URL] 就是查看源码了,

比如: view-source:http://www.google.com.hk/webhp?source=g_cn 查看谷歌首页的源码,这个和打开网页在查看源码是一样滴,快捷键 Ctrl+U ,别忘了

 

about:cache 缓存信息,可能会很大哦

 

都是很有用的信息,大家赶快动手试试吧。

2013
06
07
08:10

freebsd同步时间

# ntpdate cn.pool.ntp.org

 

这样时间就准了。

cn.poolntp.org 是中国的时间服务器。

 

如想每天晚上23点同步一次时间

# ee /etc/crontab

在最后加入

 

#Synchronise My Server clock

#minute hour mday month wday who command

0 23 * * * root /usr/sbin/ntpdate cn.pool.ntp.org > /dev/null

 

保存退出,就可以了。

2013
06
06
17:09

freebsd 下vsftpd安装错误

===> Deinstalling for ftp/vsftpd

===> vsftpd-ssl not installed, skipping

===> Installing for vsftpd-ssl-3.0.2

/usr/bin/env PKG_PREFIX=/usr/local /bin/sh /usr/ports/ftp/vsftpd/pkg-install vsftpd-ssl-3.0.2 PRE-INSTALL

pw: no such user `ftp’

pw: user ‘ftp’ already exists

Failed to add user ftp as gid 14

*** Error code 1

Stop in /usr/ports/ftp/vsftpd.

*** Error code 1

Stop in /usr/ports/ftp/vsftpd.

 

遇到这个问题后,搞了一天,才得到解决,也不知道是不是对所有人都实用。解决方法如下:

直接删除ee /etc/password 和 /etc/master.passwd手动删除ftp用户,然后

pwd_mkdb /etc/master.passwd更新一下ok

再cd /usr/ports/ftp/vsftpd && make install clean

2013
06
06
14:52

天堂的门坏了

天堂门坏了,上帝招标重修。

印度人说:3千块弄好,理由是材料费1千,人工费1千,我自己赚1千;

德国人说:要6千,材料费2千,人工2千,自己赚2千;

最后中国人淡定地说:这个要9千元,3千给你,3千我的,3千给那个印度人干。上帝拍案:中标!

 

 

后来地狱的门也坏了,招标时吸取教训,制定控制价3000。

德国人看了一眼走了,印度人报价3000。

中国人给了评标的小鬼500,报价3000,中标。

德国人印度人都纳闷:看他怎么干?

再后来,中国人花了500材料500人工,修了一半宣布停工。

拖了半年,地狱追加投资3000,完工!

 

 

再后来天堂连接地狱的电梯坏了,也要重修。

经过前面两次教训后,控制定价3000而且要一次性修好。

德国人又来,看了一下走了,印度人报价3000。

中国人也报价3000而且还称完工后有茅台送,中标。

拿到钱后中国人开工。材料500人工500。完工后。

上帝叫人验收。验收员(事先收了中国人红包500)说不合格,要重建。

于是追加资金9000重建!

 

 

再后来,人间的大门也坏了,投胎的上不来。

经过前几次的教训之后,严格定价3000,监理,审计现场跟踪!并且免费保修1亿年。

德国人吓跑了,印度人报价3000,

中国人来了,无偿修好,免费保修2亿年,但要5万年的管理权,上帝同意了。

于是中国人修好了后在门口设了个收费站,投胎每人每次500,双向收费上不封顶。

多给钱的投胎到美国,给500的投到欧洲,逃费的一律投到中国。

2013
06
05
17:25

nginx中配置ip直接访问的默认站点

nginx中,每个站点都是由一个server段定义的,这里面设定了监听的ip和端口,站点的域名,根目录等信息。但一般来说vps主机上每个ip上会对应几个不同的站点。这样就会出现一个问题,直接访问这个ip的话,访问的会是哪个站点?

答案是这样的:在Listen ip:port; 这个指令行中,有一个参数default_server,指定了它后,这个server段就会是这个ip的默认站点;如果没有这个参数,那么默认ip直接访问的是nginx.conf中出现的第一个server段对应的站点。

server{

listen 80 default_server;

server_name ixq.us;

rewrite ^ http://www.ixq.us$request_uri?;

}

2013
06
05
15:16

Linux防火墙Firestarter

Firestarter是一款适合个人用户和小型企业的图形界面iptables配置工具,可以用来构建和维护防火墙,加固网络安全。对于与局域网共享唯一公共IP地址的NAT防火墙来说,这是一个不错的选择,并且在防火墙之后,它还有一些公共服务,或者一个分离的DMZ。它拥有打开或关闭防火墙的一些简易命令,可以查看状态视图和当前的活动。

 

虽然Firestarter需要GTK并设计在GNOME下面运行,但是它同样也能够在KDE下面运行。

 

主要特点

 

适用于台式机,服务器和网关

可共享Internet连接

允许自定义入站和出站访问策略

使用向导轻松配置防火墙

设置和控制DHCP服务器

实时展示外来入侵和其他防火墙事件,方便用户及时调整ICMP参数以帮助阻止DoS攻击

查看活动的网络连接,包括任何进站和出站的访问必须经过防火墙

安装

# aptitude install firestarter

当然,你也可以用Synaptic(新立得软件包管理器)来安装。

 

主界面截图

运行向导配置

 

 

 

点击 FireStarter 主界面的菜单 防火墙 → 运行向导 可以进入 FireStarter 的运行向导界面。不要看到英文就担心,这里的关键信息文字已经被翻译成中文,很容易理解。按照向导的指示点击“前进”。

第一步是选择连接到 Internet 的网络设备,一般来说由软件自动侦测的网络设备不会有错的。但这些网络设备至少需要是已经激活的网络连接(例如 eth0、eth1)等。

第二步是选择连接到内部局域网的接口设备,一般来说用户可以相信软件的自动侦测功能。这里有个特别的选项用于设置是否实现共享 Internet 上网,即“Enable Internet connection sharing”,如果你要使内部局域网内的其他计算机可以共享这台主机上的 Internet 连接,那么请在这个选项旁边打个勾。

第三步是选择是否立即启用防火墙。通常这个选项是打勾选择的。

这时候点击“保存”,一切已经就绪。

 

使用首选项

 

和别的 Linux 软件一样,FireStarter 也有“首选项”使用户可以随时对该软件进行各方面的配置。你可以从左边的折叠菜单里选择 防火墙 / 网络配置,然后在右边的配置界面中一步完成。

 

事实上这个界面囊括了运行向导中的三个步骤,你可以在这里分别选择连接到 Internet 的网络设备(Internet connected network device)和连接到内部局域网的网络设备(Local network connected device)。

然后在“Enable Internet connection sharing”选项前面打个勾。在配置窗口的右下角点击“接受”按钮,配置就完成了。

 

在“首选项”的接口(Interface)菜单中,在以下两个选项的前面都打个勾:

 

启用托盘图标

Minimize to tray on window close(当窗口关闭时最小化到系统托盘)

 

 

在“首选项”的防火墙菜单中,在以下选项的前面打个勾:

 

Start/restart firewall on program startup(启动时运行 FireStarter)

Start/restart firewall on dial-out(如果你使用拨号网络的话,请开启本项)

Start/restart firewall on DHCP lease renewal(从 DHCP 获得 IP 时自动运行)

ICMP过滤,你可以根据自己的需要勾选。

Tos过滤,也是根据自己的需要勾选。

设置好了,在配置窗口的右下角点击“接受”按钮。

 

更多配置功能

 

FIreStarter 的界面非常直观。你可以很容易了解和上手使用其中的各种功能。

 

你可以在主界面中见到“状态”“事件”“策略”三个选项卡。分别点击,可以看到 FireStarter 防火墙当前的运行状态、被过滤连接的事件日志(你可以随时清空或者保存这些日志)、在“策略”中随时添加删除自定义的防火墙规则以实现更复杂多样的准入和过滤设置。下图为查看事件,被过滤的连接:

自定义防火墙规则,点击策略选项:

新建规则:向局域网内其他计算机开放 https 安全浏览服务的端口

术语

 

默认策略:在默认情况下,firestarter实现了用户友好的策略,该策略能够保护防火墙主机和客户端系统。在一般情况下,它允许出站流量,并屏蔽那些并不是用来响应出站流量的入站流量。具体说来,默认的firestarter策略如下。

屏蔽新的来自因特网、目的地是防火墙主机或客户端系统的入站连接。

允许那些用来响应由防火墙主机或客户端系统发起的到Internet的连接而发送的入站分组。

允许防火墙主机建立连接。

允许客户端系统建立到因特网的连接。

不允许客户端系统建立到防火墙主机的连接。

在使用防火墙向导设置firestarter之后,就能够修改默认策略以满足你的需要。

(防火墙)主机(系统)——运行着防火墙的系统。

客户端系统——与防火墙主机位于同一个局域网的系统,它们离开局域网的分组以及(特别是从因特网)进入局域网的分组都要经过防火墙主机。

策略——防火墙应用的规则集。

规则——一条语句,用来指定当防火墙在它的网络接口中接收到来自指定系统的指定类型的分组时执行什么动作。

连接——在TCP中,连接指的是两个系统交换的数据所经过的路径。客户端系统通过向服务器系统发送一个SYN(同步)分组打开一条连接。服务器向该客户端发回一个ACK(应答)分组,然后两个系统交换数据。客户端用一个SYN分组将连接关闭。虽然UDP的工作方式有所不同(因为它没有连接的概念),但是就这里的讨论而言,UDP连接这个概念是合适的。

入站连接——这些连接包括来自因特网的连接以及将防火墙主机作为目的地的客户端系统。

出站连接——这些连接包括来自防火墙主机的连接以及将因特网作为目的地的客户端系统。

2013
06
04
10:08

lftp使用

命令:

lftp user@site:port

 

这个命令可以防止密码以明文出现。

 

终端:

 

man lftp

 

进入lftp后

 

help

 

获得帮助

 

就可以看到命令列表

 

下面我们看一下lftp常用的命令:

 

ls

显示远端文件列表。

cd

切换远端目录。

get

下载远端文件。

mget

下载远端文件(可以用通配符也就是 *)。

pget

使用多个线程来下载远端文件, 预设为五个。

mirror

下载/上传/同步 整个目录。

put

上传文件。

mput

上传多个文件(支持通配符)。

mv

移动远端文件(远端文件改名)。

rm

删除远端文件。

mrm

删除多个远端文件(支持通配符)。

mkdir

建立远端目录。

rmdir

删除远端目录。

pwd

显示目前远端所在目录。

du

计算远端目录的大小

!

执行本地 shell的命令(由于lftp 没有 lls, 故可用 !ls 来替代)

lcd

切换本地目录

lpwd

显示本地目录

alias

定义别名

bookmark

设定书签。

exit

退出ftp

2013
06
03
17:14

IIS访问需要用户名和密码的解决方法

鼠标右击Internet Explorer-属性-安全-自定义级别-在用户验证里把”自动使用当前的用户名和密码”勾上.重新打开IE,输入http://localhost/或http://127.0.0.1/

2013
05
31
13:28

怎么把组策略(gpdeit.msc)还原于默认

最近把手的一个VPS安装了windows server 2003,主要是经常用linux/BSD怕日后遇见windows服务器无从下手,安装IIS,FTP这里我说不详细说明了。这篇文章主要写我修改组策略后遇到的一个小问题,本来想服务器安全一点,但是windows 2003设置太麻烦了,不像linux一条命令全部解决。修改组策略时不知道哪里出问题了,网站也无法访问。没办法,就还原组策略:

开始-运行 输入cmd 确定

输入Secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /areas USER_RIGHTS /verbose

然后使用:
gpupdate.exe
更新策略