WSGI
μλ²λ₯Ό νΈμΆνμ¬ μλ΅Nginx
)λ₯Ό μ€μΉνκ³ μ μ©Tip! Nginx
Nginx
λ λμ μ±λ₯μ μν΄μ κ°λ°λ μΉ μλ²λ‘ μ μ μ¬μ©μκ° μ¦κ°νλ μΆμΈμ΄λ©° νΉν νμ΄μ¬ μΉ νλ μμν¬μΈ μ₯κ³ λ νλΌμ€ν¬λ±μμ μ£Όλ‘ μ¬μ©λλ μλ²- λν Nginxλ₯Ό μ¬μ©νκΈ° μν μ€μ λ λ¬΄μ² κ°λ¨νμ¬ μ½κ² μ¬μ©ν μ μ
Nginx
λ₯Ό μ€μΉ(mysite) ubuntu@ip-172-26-12-247:~/projects/mysite$ sudo apt install nginx
/etc/nginx/sites-available
λλ ν°λ¦¬λ‘ μ΄λ(mysite) ubuntu@ip-172-26-12-247:~/projects/mysite$ cd /etc/nginx/sites-available/
/etc/nginx/sites-available
λλ ν°λ¦¬λ Nginx
μ μ€μ νμΌλ€μ΄ μμΉν λλ ν°λ¦¬deafult
λΌλ μ€μ νμΌλ§ μ‘΄μ¬Nginx
μ μ€μ νμΌμ λ€μκ³Ό κ°μ΄ κ΄λ¦¬μ κΆνμΌλ‘ μμ±(mysite) ubuntu@ip-172-26-12-247:/etc/nginx/sites-available$ sudo nano mysite
mysite
νμΌμ λ΄μ©μ λ€μκ³Ό κ°μ΄ μμ±# [νμΌλͺ
: /etc/nginx/sites-available/mysite]
server {
listen 80;
server_name 3.35.153.92;
location = /favicon.ico { access_log off; log_not_found off; }
location /static {
alias /home/ubuntu/projects/mysite/static;
}
location / {
include proxy_params;
proxy_pass http://unix:/tmp/gunicorn.sock;
}
}
listen 80
μ μΉ μλ²λ₯Ό 80 ν¬νΈλ‘ μλΉμ€ νλ€λ μλ―Έhttp://3.35.153.92:8000/
λμ ν¬νΈλ₯Ό μλ΅νμ¬ http://3.35.153.92
μ²λΌ μΉ λΈλΌμ°μ μμ μ μ ν μ μμserver_name
μλ κ³ μ IPλ₯Ό λ±λ‘
location /static
μ μ μ νμΌμ λν μ€μ μΌλ‘ /static
μΌλ‘ μμλλ URL μμ²μ Nginx
κ° /home/ubuntu/projects/mysite/static
λλ ν°λ¦¬μ νμΌμ μ½μ΄μ μ²λ¦¬νλ€λ μ€μ
location /
μ location /static
μμ μ€μ ν κ² μ΄μΈμ λͺ¨λ μμ²μ Gunicorn
μ΄ μ²λ¦¬νλλ‘ νλ μ€μ proxy_pass
λ μ΄μ μ₯μμ μ€μ νλ Gunicorn
μ μ λμ€ μμΌ κ²½λ‘/static
μΌλ‘ μμλλ URLμ Nginx
κ° μ²λ¦¬νκ³ λλ¨Έμ§ URLμ λν΄μλ Gunicorn
μ΄ μ²λ¦¬νκ² λ¨mysite
νμΌμ Nginx
κ° νκ²½ νμΌλ‘ μ½μ μ μλλ‘ μ€μ ν΄μΌ ν¨/etc/nginx/sites-enabled
λλ ν°λ¦¬λ‘ μ΄λ(mysite) ubuntu@ip-172-26-12-247:/etc/nginx/sites-available$ cd /etc/nginx/sites-enabled/
(mysite) ubuntu@ip-172-26-12-247:/etc/nginx/sites-enabled$
sites-enabled
λλ ν°λ¦¬λ site-available
λλ ν°λ¦¬μ μλ μ€μ νμΌ μ€μμ νμ±ννκ³ μΆμ κ²μ λ§ν¬λ‘ κ΄λ¦¬νλ λλ ν°λ¦¬ls
λͺ
λ Ήμ μννλ©΄ νμ¬ default
μ€μ νμΌλ§ λ§ν¬λ¨μ νμΈν μ μμ(mysite) ubuntu@ip-172-26-12-247:/etc/nginx/sites-enabled$ ls
default
default
λ§ν¬λ μμ νκ³ mysite
νμΌμ λ§ν¬νλλ‘ λ³κ²½ν΄μΌ ν¨# default λ§ν¬ μμ
(mysite) ubuntu@ip-172-26-12-247:/etc/nginx/sites-enabled$ sudo rm default
# mysite νμΌ λ§ν¬
(mysite) ubuntu@ip-172-26-12-247:/etc/nginx/sites-enabled$ sudo ln -s /etc/nginx/sites-available/mysite
ls
λͺ
λ Ήμ μννλ©΄ default
λ μ¬λΌμ§κ³ mysite
λ§ν¬λ§ λ¨μ κ²μ νμΈν μ μμ(mysite) ubuntu@ip-172-26-12-247:/etc/nginx/sites-enabled$ ls
mysite
Nginx
λ μ€μΉν λ μλμΌλ‘ μ€νλλ―λ‘ μμμ μμ±ν Nginx
μ€μ μ μ μ©νλ €λ©΄ Nginx
λ₯Ό λ€μ μμν΄μΌ ν¨(mysite) ubuntu@ip-172-26-12-247:/etc/nginx/sites-enabled$ sudo systemctl restart nginx
Nginx
μ μ€μ νμΌμ μ€λ₯κ° μλμ§ νμΈνλ λ°©λ²(mysite) ubuntu@ip-172-26-12-247:/etc/nginx/sites-enabled$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
nginx -t
λͺ
λ Ή μν μ μ€λ₯κ° λ°μνλ€λ©΄ μ€μ μ΄ μ¬λ°λ₯΄μ§ μμ κ²½μ°μ΄λ―λ‘ Nginx
μλ²κ° μ μμ μΌλ‘ μ€νλμ§ μμ κ²# Nginx μ€μ§νλ λͺ
λ Ή
(mysite) ubuntu@ip-172-26-12-247:/etc/nginx/sites-enabled$ sudo systemctl stop nginx
# Nginx μμνλ λͺ
λ Ή
(mysite) ubuntu@ip-172-26-12-247:/etc/nginx/sites-enabled$ sudo systemctl start nginx