在linux下使用Nginx构建虚拟主机

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。 Igor 将源代码以类 BSD 许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。

 

1. 获取Nginx

 

(1) 官方网址 http://nginx.org/en/download.html

 

(2) 官方文档 http://wiki.nginx.org/

 

(3) 中文文档 http://wiki.nginx.org/NginxChs

 

目前最新版为 当前稳定版: Nginx 1.0.2 (2011-05-10)

 

2. 安装Nginx

# wget http://nginx.org/download/nginx-1.0.2.tar.gz
# 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  www.XXXXXX.com alias XXXXX.com;
        location / {
          proxy_pass              http://117.0.0.138: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              http://117.0.0.138: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;
        }
    }

 那么两个虚拟主机就配置好了。一个是XXXXXX.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  www.XXXXXX.com alias XXXXX.com;
        location / {
          proxy_pass              http://117.0.0.138: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

 

(1) 执行 /usr/local/nginx/sbin/nginx   即可启动nginx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值