当前位置: 欧洲杯竞猜 > 计算机知识 > 正文

在Linux下利用Nginx创设虚拟主机,Nginx简单负载均

时间:2019-09-06 16:06来源:计算机知识
 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过两

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

Nginx("engine x")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,它已经在该站点运行超过两年半了。Igor将源代码以类BSD许可证的形式发布。Nginx的中文维基:[url]
tar jxvf pcre-7.9.tar.bz2
cd pcre-7.9/
./configure
make
make install2、安装nginx
tar zxvf nginx-0.6.36.tar.gz
cd nginx-0.6.36/
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module
make
make install3、运行nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf4、配置nginx反向代理
loading.abc.com和loading.xyz.com域名均指向nginx所在的服务器IP,用户访问[url] www www;worker_processes 10;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;#最大文件描述符
worker_rlimit_nofile 51200;events {
use epoll;
worker_connections 51200;
}http {
include conf/mime.types;
default_type application/octet-stream;
keepalive_timeout 120;
tcp_nodelay on; upstream abc {
server 192.168.1.2:80;
server 192.168.1.3:80;
server 192.168.1.4:80;
server 192.168.1.5:80;
} upstream xyz {
server 192.168.1.7:8080;
server 192.168.1.7:8081;
server 192.168.1.7:8082;
} server {
listen 80;
server_name loading.abc.com;
location / {
proxy_pass[url]];
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
} log_format abc '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /www/logs/abc.log abc;
} server {
listen 80;
server_name loading.xyz.com;
location / {
proxy_pass[url]];
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
} log_format xyz '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /www/logs/xyz.log xyz;
}
}

  1. 获取Nginx
     
    (1) 官方网址
     
    (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
  3. 配置虚拟主机(1) 打开配置文件usr/local/nginx/conf/nginx.conf,可以看到http中包含多个server,注释掉配置中默认的server,在http中加上server {
            listen       80;
            charset utf8;
            server_name  www.linuxidc.com alias linuxidc.com;
            location / {
              proxy_pass              ;
           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              ;
             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  www.linuxidcX.com alias linuxidc.com;
            location / {
              proxy_pass              ;
           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

x")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开...

("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Ram...

编辑:计算机知识 本文来源:在Linux下利用Nginx创设虚拟主机,Nginx简单负载均

关键词: 欧洲杯竞猜

  • 上一篇:没有了
  • 下一篇:没有了