티스토리 뷰

NodeJS

NginX Window OS 설치 및 세팅

Grand_J 2019. 5. 28. 15:53
반응형

NginX Window OS 설치 및 세팅

공식 홈페이지 다운로드
참고 : http://nginx.org/en/download.html

설치 및 실행, 종료 방법
Window버전 다운로드 받고 압축을 푼다.
Nginx.exe를 실행
or
CMD 창으로 압축푼 경로로 들어간다. (그냥 해당위치에 배치파일 만들어서 써서 사용함. 귀차나)
시작 : nginx 
종료 : nginx -s stop

참고 : nginx/Windows-1.16.0


Cluster 및 세팅 (변경내용을 색상으로 표시)
\conf\nginx.conf 파일 오픈

참고 : https://www.nginx.com/resources/wiki/start/topics/examples/full/

----------------------아래는 세팅 내용--------------------------


#user  nobody;
# 사용 코어 갯수 세팅 - jsd -
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    # worker_processes 갯수에 비래하여 커넥션 - jsd -
    worker_connections  1024;
}


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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

   #upstream cluster 구성시 사용 옵션
   #ip_hash : 같은 ip는 같은 ip서버를 호출
   #weight=n : 업스트림 서버의 비중을 나타냄 weight=2 > 2배 더 호출 함.\
   #max_fails=n : 실패 발생하면 서버 죽었다고 판단.
   #fail_timeout=n : 해당 시간만큼 응답없으면 죽었다고 판단.
   #backup : 모든 서버가 동작하지 않을 때 backup 사용.
    upstream nodejs_server {
        #least_conn;
        ip_hash;
        server 192.168.99.100:8080 weight=2 max_fails=3 fail_timeout=10s;
        server 192.168.99.100:8081 weight=2 max_fails=3 fail_timeout=10s;
        server 192.168.99.100:8082 weight=2 max_fails=3 fail_timeout=10s;
    }

    #XXXX번 포트 NodeJS 서버로 연결 - jsd -
    server {
        #포트
        listen       8080;
        #도메인
        server_name  localhost;

        #charset
        charset utf-8;

        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        # / root 셋팅 proxy_pass에서 클러스터 세팅 적용 - jsd -
        # WebSocket connection to 'ws://localhost:8080/socket.io/?EIO=3&transport=websocket&sid=3uzcJLGrxo8cZq_gAAAD' failed: Error during WebSocket handshake: Unexpected response code: 400
        # 위 웹소켓 연결 에러로 proxy_http_version, proxy_set_header 옵션 추가
        # proxy_http_version : WebSocket에 필요한 노드 백엔드와 통신 할 때 HTTP / 1.1을 사용하도록 지시
        # proxy_set_header : WebSocket을 사용할 때 브라우저가 HTTP를 통해 시작하는 업그레이드 요청에 응답하도록 지시

        location / {
            #root   html;
            #index  index.html index.htm;             
            proxy_pass http://nodejs_server;
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

------------------------------------------------------------------

 

 

 

끘ㄷ#%$^$&^^%^#%$@!@$ㄲㅇㄹㄴㄹ

반응형