Nginx๋?
NginX๋?
์น ์๋ฒ ์ํํธ์จ์ด๋ก, ๊ฐ๋ฒผ์๊ณผ ๋์ ์ฑ๋ฅ์ ๋ชฉํ๋ก ํ๋ค. ์น ์๋ฒ, ๋ฆฌ๋ฒ์ค ํ๋ก์ ๋ฐ ๋ฉ์ผ ํ๋ก์ ๊ธฐ๋ฅ์ ๊ฐ์ง๋ค.
Nginx๋ ์์ฒญ์ ์๋ตํ๊ธฐ ์ํด ๋น๋๊ธฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ฉฐ, ์ด๋ ์ํ์น HTTP ์๋ฒ์ ์ค๋ ๋/ํ๋ก์ธ์ค ๊ธฐ๋ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ ๊ฒ๊ณผ๋ ๋์กฐ์ ์ด๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ ์๋ฒ์ ๋ง์ ๋ถํ๊ฐ ์๊ธธ ๊ฒฝ์ฐ์ ์ฑ๋ฅ์ ์์ธกํ๊ธฐ ์ฝ๊ฒ ํด์ค๋ค.
์ถ์ฒ: [์ํค๋ฐฑ๊ณผ]
๊ฐ๋จํ๊ฒ ๋งํ๋ฉด ๊ฒฝ๋ ์น ์๋ฒ์ด๋ฉฐ, ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์์ฒญ์ ๋ฐ์์ ๋ ์์ฒญ์ ๋ง๋ ์ ์ ํ์ผ์ ์๋ตํด์ฃผ๋ HTTP Web Server๋ก ํ์ฉ๋๊ธฐ๋ ํ๊ณ , Reverse Proxy Server๋ก ํ์ฉํ์ฌ WAS ์๋ฒ์ ๋ถํ๋ฅผ ์ค์ผ ์ ์๋ ๋ก๋ ๋ฐธ๋ฐ์๋ก ํ์ฉ๋๊ธฐ๋ ํ๋ค.
๋ณธ์ธ์ React๋ฅผ Nginx๋ก ๋ฐฐํฌํ๊ธฐ์ ๊ฐ๋จํ Nginx์ ๊ฐ๋ ์ ์ ๋ฆฌํด๋ณด๊ณ , ์ค์น๋ฅผ ์์ํ๋ค.
๊ฐ๋ฐํ๊ฒฝ: MacOS (m1)
NGINX ์ค์นํ๊ธฐ
์๋ ๋ฐฉ๋ฒ์ผ๋ก NGINX๋ฅผ ์ค์นํ๊ธฐ ์ brew ํจํค์ง ๊ด๋ฆฌ์๊ฐ ์ค์น๋์ด ์์ด์ผ ํ๋ค.
๋ณธ์ธ์ ์ด๋ฏธ brew๊ฐ ์ค์น๋์ด ์์ด ๋ฒ์ ํ์ธ์ผ๋ก ํ์ธ๋ง ํ๊ณ nginx ์ค์น๋ฅผ ์์ํ๋ค.
brew๋ฅผ ์ด์ฉํด nginx๋ฅผ ์ค์นํ๊ธฐ ๋๋ฌธ์ brew๊ฐ ์ค์น๋์ด ์์ง ์๋ค๋ฉด, ๋ฏธ๋ฆฌ ์ค์นํ๊ณ ์งํํ๋ฉด ๋ ๊ฒ์ด๋ค.
- Homebrew ๋ฒ์ ํ์ธ
brew -v
- nginx ์ค์นํ๊ธฐ
brew install nginx
→ brew๋ฅผ ์ด์ฉํด NginX๋ฅผ ์ค์นํ๋ค.
nginx.conf ํ์ผ ๊ฒฝ๋ก ํ์ธํ๊ธฐ
brew info nginx
→ brew info ${package๋ช }: ํด๋น ํจํค์ง๊ฐ ์ด๋ ์์น์ ์ค์น๋์ด ์๋ ์ง ํ์ธ ๊ฐ๋ฅํ๋ค.
์ค์น๋์ด ์๋ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ค.
nginx: stable 1.21.6, HEAD
HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server
<https://nginx.org/>
/opt/homebrew/Cellar/nginx/1.21.6_1 (26 files, 2.2MB) *
Poured from bottle on 2022-04-13 at 14:30:40
From: <https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/nginx.rb>
License: BSD-2-Clause
==> Dependencies
Required: openssl@1.1 โ, pcre2 โ
==> Options
--HEAD
Install HEAD version
==> Caveats
Docroot is: /opt/homebrew/var/www
The default port has been set in /opt/homebrew/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo.
nginx will load all files in /opt/homebrew/etc/nginx/servers/.
To restart nginx after an upgrade:
brew services restart nginx
Or, if you don't want/need a background service you can just run:
/opt/homebrew/opt/nginx/bin/nginx -g daemon off;
==> Analytics
install: 39,803 (30 days), 123,899 (90 days), 485,441 (365 days)
install-on-request: 39,713 (30 days), 123,684 (90 days), 484,435 (365 days)
build-error: 24 (30 days)
๋งฅ ๋ฒ์ ์ด๋ ์ํฉ์ ๋ฐ๋ผ ์ค์น ์์น๊ฐ ๋ค๋ฅผ ์ ์์ผ๋, ์ค์ค๋ก ํ์ธํด๋ณด๋ ๊ฒ์ด ์ ์ผ ์ ํํ๋ค.
๋ณธ์ธ์ ๊ฒฝ์ฐ์๋
/opt/homebrew/etc/nginx/nginx.conf
์ conf ํ์ผ์ด ์์นํด ์๋ค.
nginx.conf ํ์ผ ์์
์๋ ์ฝ๋๋ฅผ ํตํด nginx.conf ํ์ผ์ ์์ ํ ์ ์๋ค.
(password๋ฅผ ์๊ตฌํ๋ ๊ฒฝ์ฐ ์ปดํจํฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ฉด ๋๋ค.)
sudo vim /opt/homebrew/etc/nginx/nginx.conf
nginx.conf ํ์ผ์ ํ์ธ ํ๋ฉด server ๋ถ๋ถ์ด ์ค์ ๋์ด ์๋ค.
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
- ๊ธฐ๋ณธ ํฌํธ๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด
listen 80;
์์ ๊ฐ์ด ์ํ๋ ํฌํธ๋ก ์์ ์ด ๊ฐ๋ฅํ๋ค.
- root html์ ์น ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ์ฌ๋ณผ๋ฆญ ๋งํฌ์ด๋ฉฐ ๊ฐ์ธ์ฉ์ผ๋ก ์ฌ์ฉํ๋ค๋ฉด ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ์ค์ ์ ๋ณ๊ฒฝํ๋ ๊ฒ๋ณด๋ค ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์์ ์ฌ์ฉํ๋ ค๋ฉด ์๋์ ๊ฐ์ด ์ด์ฉํ๋ค.
# ์ ๊ทผํ๊ธฐ ์ฝ๊ณ , ์ํ๋ ๋๋ ํ ๋ฆฌ์์ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์์ฑ.
ln -s /opt/homebrew/var/www [๋งํฌ ์ด๋ฆ]
Homebrew๋ก ๋ฐฑ๊ทธ๋ผ์ด๋ ์๋น์ค ๊ด๋ฆฌ
brew services # ์๋์ผ๋ก homebrew/services๋ฅผ tap, ํ์ฌ ์ค์น๋ ์๋น์ค ๋ชฉ๋ก ํ์ธ
brew services [run|start|stop|restart|cleanup] service_name # ๋ช
๋ น์ด
# run - ์์ํ๋, ์์ํ๋ก๊ทธ๋จ์ผ๋ก ๋ฑ๋กํ์ง ์์
# start - ์์ํ๊ณ ์์ํ๋ก๊ทธ๋จ์ผ๋ก ๋ฑ๋ก
brew services start nginx # nginx ์์
homebrew services๋ฅผ ์ด์ฉํ๋ฉด ์ฝ๊ฒ ๋ฐฑ๊ทธ๋ผ์ด๋ ์๋น์ค๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
conf ํ์ผ ์์ ์ ์๋ฃํ๋ค๋ฉด ์๋ ๋ช ๋ น์ด๋ก nginx๋ฅผ ์ฌ์์ ํ ์ ์๋ค.
brew service restart nginx
NGINX ๋ช ๋ น์ด
# ์์
nginx
# ์ค์ง
nginx -s stop
# ์ฌ์์
nginx -s reload
Reference
https://ko.wikipedia.org/wiki/Nginx
https://icarus8050.tistory.com/57
[Nginx] Nginx ์ดํดํ๊ธฐ
Nginx? Nginx๋ ๊ฐ๋จํ๊ฒ ๋ง์๋๋ฆฌ์๋ฉด ๊ฒฝ๋ ์น ์๋ฒ์ ๋๋ค. ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์์ฒญ์ ๋ฐ์์ ๋ ์์ฒญ์ ๋ง๋ ์ ์ ํ์ผ์ ์๋ตํด์ฃผ๋ HTTP Web Server๋ก ํ์ฉ๋๊ธฐ๋ ํ๊ณ , Reverse Proxy Server๋ก ํ์ฉํ์ฌ
icarus8050.tistory.com
https://jehwanyoo.net/2021/04/06/mac-NGINX-Tutorial-1-NGINX-์ค์น/
(mac) NGINX Tutorial #1 - NGINX ์ค์น
ํด๋น ํํ ๋ฆฌ์ผ๋ฅผ ์์ํ๊ธฐ ์ ์ brew ํจํค์ง ๊ด๋ฆฌ์๊ฐ ์ค์น๋์ด ์๋์ง ํ์ธํด์ฃผ์ธ์! (๋งํฌ) NGINX ์ค์นํ๊ธฐ1brew install nginx brew๋ฅผ ์ด์ฉํด NginX๋ฅผ ์ค์นํด์ค๋๋ค. nginx.conf ํ์ผ ๊ฒฝ๋ก ํ์ธ1brew info nginx
jehwanyoo.net
์ฐธ๊ณ ์ผ์ (2022.04.13)
'Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MySQL] MySQL safe mode ํด์ - Error Code : 1175 (0) | 2022.07.29 |
---|---|
[React] CORS ์ค๋ฅ (0) | 2022.03.13 |
[React] ์ ๋ ๊ฒฝ๋ก ์ค์ ํ๊ธฐ (0) | 2022.03.02 |
[IntelliJ] (Springboot) jsp ๋ณ๊ฒฝ ํ ์ฆ์ ๋ฐ์ ํด๊ฒฐ ๋ฐฉ๋ฒ (0) | 2022.02.04 |
[Intellij] Intellij ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐํ๊ธฐ(Mac, Maven) (0) | 2022.01.25 |
๋๊ธ