대형 사이트 구 조 를 구축 하 는 실험 환경 (Nginx 프 록 시 서버 편)

5472 단어 nginx
Porxy 서버 설정 Proxy 서버 (192.168.10.20) 는 주로 터미널 클 라 이언 트 의 접속 을 담당 하고 Squid 캐 시 서버 두 대 에 균형 적 인 부 하 를 제공 합 니 다.이제 시작 합 시다!
서버 네트워크 설정 \ # ee / etc / rc. configlnc0="inet 192.168.10.20 netmask 255.255.255.0"defaultrouter="192.168.10.10"           hostname="proxy.rd.bj"
# ee /etc/hosts192.168.10.20    proxy.rd.bj
# ee /etc/resolv.confnameserver 192.168.10.40
네트워크 환경 설정 이 끝 난 후에 우 리 는 Nginx 를 설치 하기 시 작 했 습 니 다. 그곳 에서 나 에 게 \ # whereis nginxnginx: / usr / ports / www / nginx \ # make config \ # make showconfig   #내 설정 옵션 = = = > The following configuration options are available for nginx - 0.5.34:     DEBUG=off "Enable nginx debugging"     HTTP_MODULE=on "Enable HTTP module"     HTTP_ADDITION_MODULE=on "Enable http_addition module"     HTTP_DAV_MODULE=on "Enable http_webdav module"     HTTP_FLV_MODULE=on "Enable http_flv module"     HTTP_PERL_MODULE=on "Enable http_perl module"     HTTP_REALIP_MODULE=on "Enable http_realip module"     HTTP_REWRITE_MODULE=on "Enable http_rewrite module"     HTTP_SSL_MODULE=on "Enable http_ssl module"     HTTP_STATUS_MODULE=on "Enable http_stub_status module"     HTTP_SUB_MODULE=on "Enable http_sub module"     MAIL_MODULE=off "Enable IMAP4/POP3/SMTP proxy module"     MAIL_IMAP_MODULE=off "Enable IMAP4 proxy module"     MAIL_POP3_MODULE=off "Enable POP3 proxy module"     MAIL_SMTP_MODULE=off "Enable SMTP proxy module"     MAIL_SSL_MODULE=off "Enable mail_ssl module"     WWW = on "Enable html sample files" = = > Use 'make config' to modify these settings \ # make install clean 이 또 기다 리 기 시 작 했 습 니 다.
\ # cd / usr / local / etc / nginx \ # ee nginx. conf \ # 프로필 변경 내 가 변경 한 프로필 은 다음 과 같 습 니 다: user ww ww;worker_processes 1;
error_log /var/log/nginx_error.log;
pid        /var/run/nginx.pid;
events {    use kqueue;    worker_connections 65535;}
http {    include       mime.types;    default_type application/octet-stream;
    log_format main '$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 main;
    client_header_timeout 3m;    client_body_timeout    3m;    send_timeout           3m;
    sendfile       on;    tcp_nopush     on;    tcp_nodelay    on;
    keepalive_timeout 65;
    client_header_buffer_size    1k;    large_client_header_buffers 4 4k;    output_buffers   1 32k;    postpone_output 1460;
    gzip on;    gzip_min_length 1100;    gzip_buffers     4 8k;    gzip_types       text/plain;
    upstream mysvr {        server 192.168.10.30:3128 weight=5;        server 192.168.10.31:3128 weight=5;    }
    server {        listen       80;        server_name www.rd.bj;
        charset gbk;
        access_log /var/log/nginx_host.access.log main;
        location / {            proxy_pass      http://mysvr/;
            proxy_redirect             off;            proxy_set_header           Host $host;            proxy_set_header           X-Real-IP $remote_addr;            proxy_set_header           X-Forwarded-For $proxy_add_x_forwarded_for;            client_max_body_size       10m;            client_body_buffer_size    128k;            proxy_connect_timeout      90;            proxy_send_timeout         90;            proxy_read_timeout         90;            proxy_buffer_size          4k;            proxy_buffers              4 32k;            proxy_busy_buffers_size    64k;            proxy_temp_file_write_size 64k;        }
        location /nginx {             stub_status             on;             access_log              on;             auth_basic              "NginxStatus";             auth_basic_user_file    /usr/local/etc/nginx/htpasswd;        }    }}설정 파일 을 저장 하고 종료 한 후 현재 설정 한 파일 을 검증 합 니 다. \ # rehash \ # nginx - t 2007 / 12 / 27 15: 42: 52 [info] 25243 \ # 0: the configuration file / usr / local / etc / nginx / nginx. conf syntax is ok 2007 / 12 / 27 15: 42: 52 [info] 25243 \ # 0: the configuration file / usr / local / etc / nginx / nginx. conf was tested successfully
Very good, 문제 없습니다. 설정 파일 에 Nginx 의 상태 정 보 를 볼 수 있 도록 설정 되 어 있 습 니 다. 따라서 htppasswd 파일 을 만들어 야 합 니 다. 이 때 는 Apache 의 htpasswd 도 구 를 사용 해 야 합 니 다. 이 프 록 시 에는 Apache 가 없습니다. 지금 은 웹 서버 에 만 의존 할 수 있 습 니 다. 복사 파일 을 만 듭 니 다. htppasswd 파일 을 만 드 는방법: \ # htpasswd -c /tmp/htpassswd nginx
비밀 번 호 를 두 번 입력 하면 완 료 됩 니 다. 그리고 생 성 된 htpasswd 파일 을 proxy 기계 의 / usr / local / etc / nginx 디 렉 터 리 에 복사 하면 됩 니 다. 어떻게 두 기계 사이 에 파일 을 복사 합 니까? scp 가 나 왔 습 니 다.. \ # scp / tmp / [email protected]:/usr/local/etc/nginx
자, 이제 모든 것 이 갖 춰 졌 습 니 다. 이제 그녀 를 시작 하 세 요!!! \ nginx \ # ps - aux | grep nginxroot    804 0.0 3.4 4908 4288 ?? Ss    4:49PM   0:00.00 nginx: master process nginx (nginx)www     805 0.0 13.8 18004 17404 ?? S     4:49PM   0:00.02 nginx: worker process (nginx)root    807 0.0 0.3   536   416 p0 RL+   4:49PM   0:00.00 grep nginx
현재 브 라 우 저 로 Nginx 의 상 태 를 확인 하고 http://192.168.10.20/nginx 사용자 이름과 비밀 번 호 를 입력 하여 들 어 갑 니 다. 그림: 자, Nginx 도 설정 이 완료 되 었 습 니 다.

좋은 웹페이지 즐겨찾기