Nginx in EC2

5351 ワード


Nginx


エンジンXは、接続を同時に処理するためのWebサーバプログラムです.アパッチと2大山脈を形成しているが、最近急速に台頭している.これは、より簡単で、非同期で動作し、大きな効率を示しているからです.

ロール#ロール#


HTTPサーバー


html、css、画像などの静的ファイルをフロントエンドで転送する役割を果たします.

リバースプロキシサーバ


プロキシサーバは、クライアント要求を受信してサーバに転送する送信者である.リバース・エージェント・サーバを使用すると、セキュリティ上の利点があり、リクエストの割り当てに役立ちます.

長所


Nginxはイベント駆動構造の非同期方式で動作する.新しいリクエストがあればapacheは新しいスレッドを生成して処理するので,多くのリクエストがあればCPUやメモリの消費が増加する.逆に,エンジンXの流れは固定されており,新しいスレッドは生成されないため,少ないリソースで効率的に実行できる.

設定

sudo apt-get install nginx
usr/local/etc/nginxに移動すると、エンジンXファイルを表示できます.

使用

nginx.confファイルは、エンジンX方式を指定するファイルです.
sudo vi nginx.conf
ファイルを開くと、次の構造が表示されます.
# worker 프로세스를 실행할 사용자 설정
user  nginx;

# worker 프로세스 설정
worker_processes  1;

# 오류 로그 파일 경로
error_log  /var/log/nginx/error.log warn;

# NGINX 마스터 프로세스 ID 를 저장할 파일 경로 
pid        /var/run/nginx.pid;


# 접속 처리에 관한 설정을 한다.
events {
    # 워커 프로레스 한 개당 동시 접속 수 지정 (512 혹은 1024 를 기준으로 지정)
    worker_connections  1024;
}

# 웹, 프록시 관련 서버 설정
http {
    # mime.types 파일을 읽어들인다.
    include       /etc/nginx/mime.types;
  
    # MIME 타입 설정
    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;

    # sendfile api 를 사용 여부
    sendfile        on;
    #tcp_nopush     on;

    # 접속시 커넥션 유지 시간
    keepalive_timeout  65;

    #gzip  on;

    # /etc/nginx/conf.d 디렉토리 아래 있는 .conf 파일을 모두 읽어 들임
    include /etc/nginx/conf.d/*.conf;
}

逆プロキシ設定


逆プロキシを設定するには、次の構造を使用します.
http {
    server {
        listen 80;
        location / {
            proxy_pass http://127.0.0.1:8080;
        }
    }
}