Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。 Igor 将源代码以类 BSD 许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。
1. 获取Nginx
(2) 官方文档
(3) 中文文档
目前最新版为 当前稳定版: Nginx 1.0.2 (2011-05-10)
2. 安装Nginx
# wget
# tar zxvf nginx-1.0.2.tar.gz
# cd nginx-1.0.2
# ./configure
# make
# make install默认会安装到 /usr/local/nginx 目录下3. Nginx 常用命令(1) 启动 /usr/local/nginx/sbin/nginx (2) 停止 /usr/local/nginx/sbin/nginx -s stop(3)重新加载配置文件(热重启) /usr/local/nginx/sbin/nginx -s reload(4)配置文件进行检查 /usr/local/nginx/sbin/nginx -t(5) /usr/local/nginx/sbin/nginx -p 路径 ,重新设置ngix的启动目录 (default: /usr/local/nginx/) 如: /usr/local/nginx/sbin/nginx -p /home/nginx(6) /usr/local/nginx/sbin/nginx -c filename , 重新设置配置文件 (default: conf/nginx.conf) 如: /usr/local/nginx/sbin/nginx -c /home/nginx/nginx.conf(7) 设置开机启动服务 在/etc/rc.local文件中加入nginx启动命令,如 /usr/local/nginx/sbin/nginx 4. 配置虚拟主机(1) 打开配置文件usr/local/nginx/conf/nginx.conf,可以看到http中包含多个server,注释掉配置中默认的server,在http中加上server {
listen 80;
charset utf8;
server_name alias linuxidc.com;
location / {
proxy_pass :8881;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
}
server {
listen 80;
charset utf8;
server_name abc.com;
location / {
proxy_pass :10010;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
} 那么两个虚拟主机就配置好了。一个是linuxidcX.com,一个是abc.com。
5. 给虚拟机配置缓存,相当于 Squid 服务。
(1) 缓存不适合实时性很高的系统。
(2) 配置如下:
proxy_cache_path /usr/local/nginx/cache levels=1:2 keys_zone=STATIC:10m
inactive=24h max_size=1g;
server {
listen 80;
charset utf8;
server_name alias linuxidc.com;
location / {
proxy_pass :8881;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host; proxy_cache STATIC; #缓存的名字 对应上边的 keys_zone=STATIC:10m
proxy_cache_valid 200 1d;
proxy_cache_use_stale error timeout invalid_header updating
http_500 http_502 http_503 http_504;
}
}
6. 启动nginx