NGINX

Nginx

0. What is nginx?

  • client 가 외부 IP와 그 포트를 통해 server 에 접근하면,
  • 그 때부터는 request 를 내부 IP 와 port 로 연결을 해주어야 한다.
  • 일종의 proxy server 역할을 해주는 것이 nginx

1. Install Nginx

1
2
$ sudo apt-get update
$ sudo apt-get install nginx

2. Manage the Nginx Process

  • nginx Process
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #start Nginx
    $ sudo systemctl start nginx

    #stop nginx
    $ sudo systemctl stop nginx

    #restart nginx
    $ sudo systemctl restart nginx

    #check status nginx
    $ sudo systemctl status nginx

    # reload nginx
    $ sudo systemctl reload nginx

3. Structure

  • /etc/nginx
    • Nginx의 설정에 관련된 directory
  • /etc/nginx/nginx.conf
    • nginx의 기본설정 파일, global설정은 이 파일에서
  • /etc/nginx/sites-available/
    • 포트 접속시 개별 설정하는 directory
    • 여기 안에 default 파일 변경

4. Nginx Configuration

4.1 static file serving

/etc/nginx/sites-available/default 파일 수정

1
2
3
4
5
6
7
8
9
server {
location / {
root /path/to/html ;
}

location /images/ {
root /path/to/image;
}
}

4.2 proxy server

  • port 별로 설정이 가능하다
    1
    2
    3
    4
    5
    6
    7
    8
    server {
    # default 는 80 port (http default)
    # 8080 port 에 대해서
    listen 8080;
    location / {
    proxy_pass http://localhost:8080;
    }
    }
  • 여러개의 포트를 연결
server {
  listen 8080;
  listen 80;

  location / {
    proxy_pass http://localhost:8080;
  }
}