[Soft Squared] ์๋ฒ ๊ฐ๋ฐ์ผ์ง 2์ฃผ์ฐจ
๐ 2์ฃผ์ฐจ ๊ฐ์๋ด์ฉ(2021.09.10)
๐ท ๋ง์ด ๋ค๋ฃจ๋ Linux ๋ช ๋ น์ด
โผ Sudo : ๋ช ๋ น์ด ์์ ์ฐ๋ฉด ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ๋ช ๋ น์ด๋ฅผ ์คํํ๋ค.
โผ Sudo su : ๊ด๋ฆฌ์๋ก ์ ํ
โ Sudo VS Sudo su : ์๋ฒ๋ฅผ ์ด์ํ ๋ 1๋ช ์ด๋ฉด ์๊ด์ด ์์ง๋ง ์ฌ๋ฌ๋ช ์ด์ ์ฌ์ฉํ ๋๋ Sudo su๋ฅผ ์ฐ๊ฒ๋๋ฉด ๋ ธ์ถ๋ ์ ์์ผ๋ฏ๋ก Sudo๋ฅผ ์ฌ์ฉํ๋ค.
โผ Cd(Change Directory) : ๊ฒฝ๋ก๋ฅผ ๋ฐ๊พผ๋ค.
โผ mkdir(Make Directory) : ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ ๋ค.
โผ Wget(Webget) : ์น์์ ํ์ผ์ ๋ค์ด๋ก๋ ํ๋ค.
โผ Cmake : C์ธ์ด๋ก ๋ง๋ ์์ค๋ฅผ make ํ๋ค.
โผ make : make ํ์ผ์ ์ปดํ์ผํ๋ค.
โ ์ปดํ์ผ๋ฌ(Compiler) : '๋ฒ์ญ๊ธฐ'๋ผ๋ ๋ป์ผ๋ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฐ๊ฟ์ฃผ๋ ์ญํ ์ ํ๋ค.
โผ ps(Process Status) : ํ๋ก์ธ์ค์ ์ํ๋ฅผ ๋ณด์ฌ์ค๋ค.
โผ netstat : ๋คํธ์ํฌ ์ํ๋ฅผ ๋ณด์ฌ์ค๋ค.(๋คํธ์ํฌ ์ฐ๊ฒฐ ์ํ, ๋ผ์ฐํ ํ ์ด๋ธ, ์ธํฐํ์ด์ค ์ํ)
โ ๋ผ์ฐํ : ํจํท์ ์ ์ก ๊ฒฝ๋ก๋ฅผ ์ง์
โผ cp(Copy) : ๋ณต์ฌํ๋ค
๐ท URL ,DNS
โผURL(Uniform Resource Locator) : ๋คํธ์ํฌ์์ ํด๋น ์ ๋ณด ์์์ ์ข ๋ฅ,์์น๋ฅผ ๋ํ๋ด๊ณ ์๋ค.
โ URI, URL, URN
- URI(Uniform Resource Identifier) : ์ธํฐ๋ท์ ์๋ ์์์ ๋ํ๋ด๋ ์ ์ผํ ์ฃผ์(์ค์ ์ฃผ์)
- URL(Uniform Resource Locator) : ๋คํธ์ํฌ ์์ ์์์ ์์น๋ฅผ ๋ํ๋ธ๋ค.
- URN(Unifro Resource Name) : URL ์์ http๋ฅผ ๋บ ๋ถ๋ถ์ผ๋ก ๋คํธ์ํฌ ์ ์์์ ์ด๋ฆ์ ๋ํ๋ธ๋ค.
โผDNS(Domain Name Server) : ๋คํธ์ํฌ์์ ๋๋ฉ์ธ์ด๋ ํธ์คํธ ์ด๋ฆ์ ์ซ์๋ก ๋ IP ์ฃผ์๋ก ํด์ํด์ฃผ๋ TCP/IP ๋คํธ์ํฌ ์๋น์ค๋ก ์๋ฅผ ๋ค์ด www.naver.com์ด๋ผ๋ ๋๋ฉ์ธ(Domain)์ ์ ๋ ฅํ๊ฒ ๋๋ฉด ์ ๋๋ฉ์ธ๊ณผ Mapping ๋๋ IP์ฃผ์๋ฅผ ์ฐพ์์ค๋ค.
#Domain : IP ์ฃผ์์ ๋ณ๋ช . IP์ฃผ์๋ฅผ ์๊ธฐ ์ฌ์ด ์๋ฌธ์ผ๋ก ํํํ ๊ฒ์ ๋งํ๋ค.
๐ท ํ๋กํ ์ฝ
ํต์ ์์คํ ์ด ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํต์ ๊ท์น์ด๋ค.
โผ http : ์น ์๋ฒ์ ์ฌ์ฉ์์ ์ธํฐ๋ท ๋ธ๋ผ์ฐ์ ์ฌ์ด์ ๋ฌธ์๋ฅผ ์ ์กํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ํต์ ๊ท์ฝ
โป Client, Server ๋ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์ผ์ ํ๋ค.
โป ๋ฌด์ํ ํ๋กํ ์ฝ์ด๋ค.(Client์ ์ ๋ณด๋ฅผ ์ ์ฅํ์ง ์์.)
โป ๋น์ฐ๊ฒฐ์ฑ์ด๋ค.(ํ๋ฒ ์ฐ๊ฒฐํ๋ฉด ๋์) → ์๋ต์๋ ๋น ๋ฆ
โผ https : HTTP์ ๋ณด์์ด ๊ฐํ๋ ๋ฒ์
โผ ftp : ์ธํฐ๋ท์ ํตํด ๋ค๋ฅธ ์ปดํจํฐ๋ก ํ์ผ์ ์ ์กํ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ
โผ sftp : ssh๋ฅผ ์ด์ฉํ ํ์ผ์ ์ก ํ๋กํ ์ฝ๋ก ํ์ผ์ ์ํธํํ์ฌ SSH๋ฅผ ํตํด ์ ์กํ๋ค.
ํ๋กํ ์ฝ | ํฌํธ๋ฒํธ |
HTTP | 80 |
HTTPS | 443 |
FTP | 21 |
SFTP | 22 |
#Port : Port ๋ฒํธ๋ ๋ฌธ์ด๋ผ๊ณ ํ ์ ์๋๋ฐ, Port ๋ฒํธ์ ๋ฐ๋ผ์ ๋ค์ด๊ฐ๋ ๋ฌธ์ด ๋ค๋ฅด๊ฒ ๋๋ค. ํ๋กํ ์ฝ 1๊ฐ๋น ํฌํธ๋ฒํธ๋ฅผ 1๊ฐ์ฉ ์์๋ก ๋ถ์ฌ๊ฐ ๊ฐ๋ฅํ๋ฉฐ ์ค๋ณต๋ ํฌํธ๋ฒํธ๋ฅผ ๋ถ์ฌํ ์๋ ์๋ค.
๐ท ์ธ๋ฐ์ด๋, ์์๋ฐ์ด๋ ๊ท์น
Port ์ ์ ๊ทผํ ๋ ๋๊ตฐ๊ฐ๋ ์ ๊ทผํ ์ ์๊ณ ๋๊ตฐ๊ฐ๋ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ๊ถํ์ด ํ์ํ๋ค. ์ด๋ฅผ ์ํด ์ค์ ํ๋ ๋ฐฉ๋ฒ์ด ์ธ๋ฐ์ด๋ ๊ท์น๊ณผ ์์๋ฐ์ด๋ ๊ท์น์ด ์๋ค.
โผ ์ธ๋ฐ์ด๋
- ์๋ฒ ๋ด๋ถ๋ก ๋ค์ด์ค๋ ๊ฒ
- ํด๋ผ์ด์ธํธ → ์๋ฒ- ํด๋ผ์ด์ธํธ์์ ์ ๋ก๋๋ฅผ ํ ๋- Windows ๋ฐฉํ๋ฒฝ ๊ธฐ๋ณธ ์ค์ : ๋ชจ๋ ์ ์ ์ฐจ๋จ
โผ ์์๋ฐ์ด๋
- ์๋ฒ์์ ๋ฐ๊นฅ์ผ๋ก ๋๊ฐ๋ ๊ฒ
- ์๋ฒ → ํด๋ผ์ด์ธํธ
- ํด๋ผ์ด์ธํธ์์ ๋ค์ด๋ก๋ ํ ๋
- Windows ๋ฐฉํ๋ฒฝ ๊ธฐ๋ณธ ์ค์ : ๋ชจ๋ ์ ์ ํ์ฉ
#Daemon Process : Background ํ๋ก์ธ์ค์ ์ผ์ข ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ๊ณ์ ์์ฃผํ์ฌ
์ฌ์ฉ์์ ์์ฒญ์ ์ํํ๋ค. (Ex. mysqld, httpd)
โผ Background Process VS ForeGround Process
โป Background Process : ์ฌ์ฉ์ ์ ๋ ฅ๊ณผ ์๊ด์์ด ์คํ๋๋ํ๋ก์ธ์ค
โป Foreground Process : ์์์ ํด๋น ํ๋ก์ธ์ค ์คํ์ ๋ช ๋ นํ ํ, ํด๋น ํ๋ก์ธ์ค ์ํ ์ข ๋ฃ๊น์ง ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ์ ๋ ฅ์ ํ์ง ๋ชปํ๋๋ก ํ๋ ํ๋ก์ธ์ค
๐ท ํฌํธํฌ์๋ฉ(Port Forwarding)
๊ฐ๊ฐ์ ์๋ฒ์ ํฌํธ ๋ฒํธ๋ฅผ ๋ถ์ฌํ์ฌ ์ ์ ๊ฐ๋ฅํ๊ฒ ํจ
Q. ์ธ๋ถ์์ PC 1์ ์ ์ํ๋ ค๊ณ ํ ๋ ์ด๋ป๊ฒ ์ ์ํ ์ ์์๊น?
A. ์ธ๋ถ IP(๊ณต์ ๊ธฐ IP 123)์ + ํฌํธ๋ฒํธ๋ฅผ ์ ๋ ฅํ์ฌ ์ ์ํ ์ ์๋ค.
๐2์ฃผ์ฐจ ๊ณผ์
๐Local ์๋ฒ ๊ตฌ์ถ/ Window/Mac OS + Apache PHP MySQL (Bitnami)
- ์ธ๋ถ์์ ์ ์ํ๊ธฐ : phpinfo ๋์ฐ๊ธฐ (by ํฌํธํฌ์๋ฉ)
๐ AWS ์๋ฒ ๊ตฌ์ถ/ Linux + Nginx PHP MySQL
- ์ธ๋ถ์์ ์ ์ํ๊ธฐ : phpinfo ๋์ฐ๊ธฐ
- MySQL ์ธ๋ถ์์ ์ ์ํ๊ธฐ
- phpMyAdmin ์ค์น
- Domain ์ ์ฉ (๊ฐ๋น์, ํ์ด์ฆ ๊ตฌ์ )
- HTTPS ์ ์ฉ (let's encrypt)
- Sub Domain ์ ์ฉ (Dev, Prod)
- Redirection ์ ์ฉ (IP to Domain)
๐ท 2021.09.15
โผ Local ์๋ฒ ๊ตฌ์ถ ๋ฐ ์ธ๋ถ ์ ์ํ๊ธฐ
1. Bitnami ์ค์น
Bitnami ์ค์น ํ ๋์ IP๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋์จ๋ค.
(IP ํ์ธ ๋ฐฉ๋ฒ : ์คํ → cmd → ipconfig)
2. phpinfo.php ๋ง๋ค๊ธฐ
bitnami ๊ฐ ์ค์น๋์ด์๋ ๊ฒฝ๋ก๋ก ๊ฐ์ apache2 → htdocs ๋ก ๋ค์ด๊ฐํ phpinfo ๋ฅผ text ํ์ผ๋ก ์์ฑ์ ํ ํ ํ์ฅ์ ๋ณ๊ฒฝ์ ํด์ฃผ๋ฉด ๋๋ค.
- phpinfo.php ํ์ผ ๋ง๋ค๊ธฐ
<?php
phpinfo();
?>
์ ์ฝ๋๋ฅผ ํ ์คํธ ํ์ผ๋ก ์ ์ฅ ํ ํ์ฅ์๋ฅผ ๋ณ๊ฒฝํด์ฃผ๋ฉด ๋๋ค.
- ํ์ฅ์ ๋ณ๊ฒฝ๋ฒ
๋ณด๊ธฐ → ์ต์ → ๋ณด๊ธฐ → ์๋ ค์ง ํ์ผ ํ์์ ํ์ผ ํ์ฅ๋ช ์จ๊ธฐ๊ธฐ ํด์
- ๊ฒฐ๊ณผํ์ธ
3. ํฌํธํฌ์๋ฉ(1์ฐจ ์๋ : ์ง)
์ธ๋ถ์์ ๋ด PC์ ์ ์ํ ์ ์๋๋ก ๋ด ๊ณต์ ๊ธฐ์์ ํฌํธํฌ์๋ฉ์ผ๋ก ํฌํธ๋ฅผ ๊ฐ๋ฐฉํด์ค์ผ ํ๋ค.
์ต์ด์๋ ์ง์์ ์๋๋ฅผ ํ๋๋ฐ ์ง ๋คํธ์ํฌ ํ๊ฒฝ์ด ์ ์ฌ์ง๊ณผ ๊ฐ์ด 3๊ฐ์ ๊ณต์ ๊ธฐ๋ก ๋์ด์์๋ค. ๊ฐ๊ฐ์ ๊ณต์ ๊ธฐ์์ ๋ค์ ๊ณต์ ๊ธฐ ๊น์ง ํฌํธํฌ์๋ฉ์ ๊ฐ์ ํด์ฃผ๋ฉด ๋๋ค๊ณ ํด์ ๊ทธ๋๋ก ์คํํ์๋ค.
โป ๊ณต์ ๊ธฐ 1 ์์ ๊ณต์ ๊ธฐ 2๋ก ํฌํธํฌ์๋ฉ
โป ๊ณต์ ๊ธฐ 2 ์์ ๊ณต์ ๊ธฐ 3๋ก ํฌํธํฌ์๋ฉ
โป ๊ณต์ ๊ธฐ 3 ์์ ๋ด PC ๋ก ํฌํธํฌ์๋ฉ
๐ก ๊ณต์ ๊ธฐ์ IP๊ฐ ๋ค์ด๋ฒ์์ "๋ด ์ฃผ์ ํ์ธ" ์ ๋์ค๋ IP์ ๊ฐ๋ค๋ฉด ์ต์๋จ ๊ณต์ ๊ธฐ์ด๋ค.
์ด๋ ๊ฒ ์คํํ์์ผ๋ ์ด์ฐ๋ ์ผ์ธ์ง LG U+ ์ต์๋จ๋ถํฐ ๊ณต์ ๊ธฐ์ ํฌํธ๊ฐ ์ด๋ฆฌ์ง ์์๊ณ ์ค๋ฅํด๊ฒฐ์ ์ํด ๊ฐ์ข ๊ตฌ๊ธ๋ง ๊ฒ์, ๋ฐฉํ๋ฒฝ ํด์ , LG U+ ์๊ฒฉ์ ๊ฒ ๋ฑ์ ๋ฐ์์ผ๋ ๋ฌด์จ ๋ฌธ์ ์ธ์ง ์ฐพ์ ์๊ฐ ์์๋ค.
๐ท 2021.09.16
โผ Local ์๋ฒ ๊ตฌ์ถ ๋ฐ ์ธ๋ถ ์ ์ํ๊ธฐ
3. ํฌํธํฌ์๋ฉ (2์ฐจ ์๋ : ์นดํ)
๊ฒฐ๊ตญ ์ง์ LG U+ ๊ธฐ์ฌ๋ ๊น์ง ์์ ํ์ธํ์์ผ๋ ํด๊ฒฐํ์ง ๋ชปํ๊ณ , ์นดํ ๊ณต์ ๊ธฐ๋ฅผ ํตํด ํฌํธํฌ์๋ฉ์ ์งํํ์๋ค.
ํฌํธ ํฌ์๋ฉ ์์ cmd ipconfig ์ Gateway ์ฃผ์๋ก ์ ์ํ๋ฉด ๊ณต์ ๊ธฐ ๊ด๋ฆฌ์ ์๋ฒ๋ก ์ ์ํ ์ ์๋ค.
์์ ๊ฐ์ด ํฌํธํฌ์๋ฉ์ ์ค์ ํด ์ฃผ๋๋ฐ ์ด ๋
โป ์ธ๋ถํฌํธ : ์ธ๋ถ์์ ์ ์ํ ํฌํธ
โป ๋ด๋ถํฌํธ : ๋ด๋ถ์์ ์ ์ํ ํฌํธ
โป ๋ด๋ถ IP ์ฃผ์ : ์ธ๋ถ์์ ์ ์ํ ๋ ์ฐ๊ฒฐํ IP ์ฃผ์ (๋ด PC IP์ฃผ์)
๊ฐ ๋๋ค.
์์ ๊ฐ์ด ์ ๋ ฅํด ์ฃผ์๊ณ , ์ด์ ํด๋ํฐ์ผ๋ก ์ ์ํ๊ธฐ ์ ์ ํฌํธ์ ๊ฐ๋ฐฉ์ ํ์ธํ๊ธฐ ์ํด
https://www.yougetsignal.com/tools/open-ports/ ์ ๋ค์ด๊ฐ๋ค. ์ ์ฌ์ดํธ์ ๋ค์ด๊ฐ๋ฉด Port์ ๊ฐ๋ฐฉ ํ์ธ ๋ฐ ๋ด ๊ณต์ธ IP์ฃผ์๋ฅผ ํ์ธํ ์ ์๋ค.
4. ํด๋ํฐ์ผ๋ก ์ ์ํ์ธ
์ด์ ํด๋ํฐ์ผ๋ก ๊ณต์ธ IP:๊ฐ๋ฐฉํฌํธ/phpinfo.php ๋ฅผ ์ ๋ ฅํ๊ฒ ๋๋ฉด ์ ์์ด ๊ฐ๋ฅํ์ง ์ํ์ง ํ์ธํ ์ ์๋ค.
โผ AWS๋ก ์๋ฒ ๊ตฌ์ถํ๊ธฐ - ์ธ๋ถ์์ ์ ์ํ๊ธฐ / Phpinfo ๋์ฐ๊ธฐ
1. AWS ์ ์ ํ ๊ฐ์ ๋ฐ ์ธ์คํด์ค ์์ฑ
AWS์ ์ ์ํ์ฌ ๊ณ์ ์์ฑ ๋ฐ ์ธ์คํด์ค๋ฅผ ์์ฑํ์๋ค.
2. ๊ทธ ํ ์๋ฒ ๊ฐ๋์ ์ํด WINSCP ๋ฅผ ๋ค์ด๋ฐ์ ๊ตฌ๋ํ์๋ค.
์ด ๋ AWS ์ธ์คํด์ค ์์ฑ์ ๋ง๋ค์๋ ๊ฐ์ธํค ํ์ผ์ ์ธ์ฆํ์ฌ ์๋ฒ๋ฅผ ๊ฐ๋ํ๋ค.
3. WINSCP ๋ด์์ Putty๋ฅผ ์ด์ฉํ์ฌ NGINX, MYSQL, PHP ๋ค์ด๋ก๋
- Nginx ์ค์น
sudo apt get update
sudo apt install nginx
์ด ๋ AWS๋ก ๋ค์ด๊ฐ์ ์ธ๋ฐ์ด๋ ๊ท์น์ HTTP์ธ 80ํฌํธ๋ฅผ ํ์ฉํด์ฃผ๋ ๊ท์น์ ์ถ๊ฐํด์ค์ผํ๋ค.
๊ฒฐ๊ณผ ํ์ธ
- MySQL ์ค์น
sudo apt install mysql-server
sudo mysql_secure_installation
ํ ํจ์ค์๋ ์ค์ ์ ํ๊ณ mysql ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ๋๋ค.
๊ฒฐ๊ณผํ์ธ
- PHP ์ค์น
sudo add-apt-repository universe
sudo apt install php-fpm php-mysql
# php-fpm : apache์์ configure์ ๋น์ทํ ์ญํ ๋ก PHP๋ฅผ FastCGI ๋ฐฉ์์ผ๋ก ๋์ํ๋๋ก ํ๋ ์๋ฃจ์ ์ธ๋ฐ, ์ฃผ๋ก Nginx์ ํจ๊ป ์ฌ์ฉ๋๋ค.
- PHPINFO ๋ง๋ค๊ธฐ
index.php ๋ก ์ด๋ฆ์ ๋ง๋ค๊ณ
sudo cd /var/www/html/
sudo vi index.php
์๋ ํ์ผ์ ๋ง๋ ํ ์ ์ฅ
<?php
phpinfo();
?>
๊ทธ ํ ๋ชจ๋ ์ค์ ์ ํด์ฃผ๋ฉด
sudo vi /etc/nginx/sites-available/default
์๋์ ๊ฐ์ด ํ์ผ ์์ ํ ์ ์ฅ(ubuntu 18.04 ๋ฒ์ ์์๋ php7.2๊ฐ ์ฐ์ธ๋ค.)
Nginx ์๋ฒ๋ฅผ ์ฌ๊ฐ๋ ํ ๊ฒฐ๊ณผ ํ์ธ
sudo service nginx restart
โผ AWS๋ก ์๋ฒ ๊ตฌ์ถํ๊ธฐ - MySQL ์ธ๋ถ์์ ์ ์ํ๊ธฐ
1. MySQL ์ฌ์ฉ์ ์์ฑ
$sudo mysql -u root -p
mysql> create user 'Seokin'@'%' identified by 'password';
2. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ๋ฐ ๊ถํ ๋ถ์ฌ
mysql> create database Seokindb;
mysql> show databases;
mysql> grant all privileges on Seokindb.*to 'Seokin'@'%';
mysql flush privileges;
3. MySQL ์ธ๋ถ ์ ์ ์ค์
cd /etc/mysql/mysql.conf.d
sudo vi mysqld.cnf
bind-adress = 0.0.0.0 ์ผ๋ก ์์
4. MySQL ์๋ฒ ์ฌ์์
sudo service mysql restart
5. ์ธ๋ฐ์ด๋ ๊ท์น ์ถ๊ฐ
6. Datagrip์ผ๋ก ์ธ๋ถ์์ MySQL ์ ์
HOST์ IP์ฃผ์๋ฅผ ์ ๋ ฅํ๋ฉด ๋๋ค. Test Connection ์ Succeeded ๊ฐ ๋์ค๋ฉด ๋๋ค.
โผ AWS๋ก ์๋ฒ ๊ตฌ์ถํ๊ธฐ - phpMyAdmin ์ค์น
1. phpMyAdmin ์ค์น
์ํธ ๋ฐ ๊ฐ์ข ์ค์ ์ ํด์ค๋ค.
sudo apt update
sudo apt upgrade
sudo apt install phpmyadmin
2. Nginx ์ phpMyAdmin ์ฐ๊ฒฐ
- ์ฌ๋ณผ๋ฆญ ๋งํฌ ์ค์
Nginx๊ฐ phpMyAdmin ํ์ผ์ ์ฐพ์ ์ ์๋๋ก ์ฐ๊ฒฐํด์ค๋ค.
Nginx์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ธ : /var/www/html/phpmyadmin ๊ณผ phpMyAdmin ์ ๋๋ ํ ๋ฆฌ/usr/share/phpmyadmin ์ฐ๊ฒฐ
# ์ฌ๋ณผ๋ฆญ๋งํฌ : ๋งํฌ๋ฅผ ์ฐ๊ฒฐํ์ฌ ์๋ณธ ํ์ผ์ ์ง์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ๋ด๋ ๋งํฌ
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
- Nginx ์ค์ ๋ณ๊ฒฝ
sudo vi /etc/nginx/sites-available/default
3. Nginx ์๋ฒ ์ฌ์์ ํ ๊ฒฐ๊ณผํ์ธ
sudo service nginx restart
์น ๋ธ๋ผ์ฐ์ ์ http://AWS ํ ๋น IP/phpmyadmin ์ผ๋ก ๊ฒฐ๊ณผํ์ธ
โผ AWS๋ก ์๋ฒ ๊ตฌ์ถํ๊ธฐ - Domain ์ฐ๊ฒฐ & HTTPS ์ ์ฉ
1. Domain ์ฐ๊ฒฐ
- ๊ฐ๋น์์์ ํ์๊ฐ์ ๋ฐ ๋๋ฉ์ธ ๊ตฌ๋งค
- My ๊ฐ๋น์ → ์๋น์ค๊ด๋ฆฌ→ ๋๋ฉ์ธ→ ๊ด๋ฆฌํด → ๋๋ฉ์ธ ์ฐ๊ฒฐ ์ค์ → ๊ตฌ์ ํ ๋๋ฉ์ธ ์ค์
- DNS ์ค์ → ๋ ์ฝ๋ ์์ → ๋ ์ฝ๋ ์ถ๊ฐ
ํธ์คํธ์ @๋ฅผ ๋ฃ์ผ๋ฉด www ์์ด๋ ์ ์ ๊ฐ๋ฅํ๋ค.
2. ๊ฒฐ๊ณผ ํ์ธ
3. HTTPS ์ ์ฉ์ ์ํ CertBot ์ค์น
certbot์ ์ํ ์ ์ฅ์๋ฅผ ์ถ๊ฐํ๋ค.
sudo apt update
sudo apt upgrade
sudo add-apt-repository ppa:certbot/certbot
๋ค์ ์ ๋ฐ์ดํธํ์ฌ ๋ฐ์ํ ํ certbot์ nginx ํจํค์ง๋ฅผ ์ค์น
sudo apt install python3-certbot-nginx
4. Nginx ์ค์ ๋ณ๊ฒฝ
sudo vi /etc/nginx/sites-available/default
server ๋ธ๋ก์ ๋ง๋ค์ด์ server_name์ ๋ด๊ฐ ์ฌ์ฉํ๋ ๋๋ฉ์ธ ์ถ๊ฐ ํ ์ ์ฅ
* listen 80 ๋ค์ default_server๋ listen 80์ผ๋ก๋ง ์์
ํ ์คํธ ๋ฐ ๋ฆฌ๋ก๋
sudo nginx -t
sudo systemctl reload nginx
5. TLS ์ธ์ฆ์ ์ค์น ๋ฐ ์ธ๋ฐ์ด๋ ๊ท์น์ถ๊ฐ / ๊ฒฐ๊ณผ ํ์ธ
certbot์ Nginx ํจํค์ง๋ฅผ ํตํ์ฌ ๋๋ฉ์ธ์ ์ธ์ฆ์ ํ๋
sudo certbot --nginx -d www.seokin-test.shop -d seokin-test.shop
HTTPS ์ธ๋ฐ์ด๋ ๊ท์น ์ถ๊ฐ
Nginx ์๋ฒ ์ฌ์์ ํ ๊ฒฐ๊ณผํ์ธ
HTTPS๋ก ์ ์์ ์์ ๊ฐ์ด ์๋ฌผ์ ๊ฐ ๊ฑธ๋ฆฌ๋ฉด ๋๋ค.
โผ AWS๋ก ์๋ฒ ๊ตฌ์ถํ๊ธฐ - SubDomain
1. ๊ฐ๋น์ DNS ๋ ์ฝ๋ ์ถ๊ฐ
ํ์ ์ CNAME์ผ๋ก ๋ฐ๊ฟ ์๋ธ ๋๋ฉ์ธ์ ์ถ๊ฐํ๋ค.
2. ์๋ธ๋๋ฉ์ธ ๊ด๋ จ HTML ํ์ผ ๋ง๋ค๊ธฐ
cd /var/www/html/
sudo chmod -R 777 .
์ด๋ ๊ฒ ๊ถํ์ ์ค์ ํํ WINSCP์์ ํด๋๋ฅผ ๋ง๋ ํ Vi ํธ์ง๊ธฐ๋ก HelloWorld์ธ HTMLํ์ผ ๋ง๋ค์๋ค.
๊ทธ๋ฅ putty์์ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด์ค๋ ๋๋ค.
3. Nginx ์ค์ ๋ณ๊ฒฝ
Nginx์์ ์๋ฒ์ ์๋ธ๋๋ฉ์ธ์ ์ถ๊ฐ์์ผ์ค์ผ ํ๋ค.
4. Nginx ์ฌ์์ ํ ๊ฒฐ๊ณผํ์ธ
sudo servie nginx restart
โผ AWS๋ก ์๋ฒ ๊ตฌ์ถํ๊ธฐ - Redirection
- redirection ์ค์ ํ๊ธฐ
sudo vi /etc/nginx/sites-available/default
- Server Block ์ฝ์
server {
if ($host = 13.125.107.42){
return 301 https://seokin-test.shop$request_uri;
}
listen 80;
listen [::]:80;
server_name 13.125.107.42;
return 404;
}
๐จ ์ค๋ฅ ๋ฐ์
๐ ํด๊ฒฐ ๋ฐฉ๋ฒ : ์ฐพ์ง ๋ชปํ์ฑ๋ก... ์ฌ์ค์น ํ์๋ค.. ์ค์นํ๊ณ ๋ณด๋ redirect ์์ return ์ 302๋ก ํด์คฌ๋๋ ์ด๋ฐ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ฏํ๋ค. ๊ทธ ํ if๋ฌธ์ผ๋ก 301๋ก ๋ฆฌ๋ค์ด๋ ํธ ํด์คฌ๋๋ ์ ์์ ์ผ๋ก ์๋ํ์๋ค.
๐ก 301๊ณผ 302์ ์ฐจ์ด
- 301 : ํด๋น URL ์ด ์๊ตฌ์ ์ผ๋ก ๋ณํ๋์์์ ๋ํ๋
- 302 : ํด๋น URL ์ด ์์์ ์ผ๋ก ์๋ก์ด URL๋ก ์ด๋ํ์
๐ ์ฑ๋ฆฐ์ง ๊ณผ์
๐Sub Domain์ ๊ฐ๊ฐ ๋๋ง์ ํ์ด์ง ๋ง๋ค๊ธฐ (html, css, javascript)
๊ณผ๊ฑฐ ํ๋ค๊ฐ ์ค๊ฐ์ ๊ด๋๋ ํ๋ก์ ํธ๋ฅผ ์์ ๋ฐ ๋ณด์ํด์ ๋ง๋ค์ด ๋ณด๋ ค๊ณ ํ๋ค.
๊ณ ๋ ค์ฌํญ
๐ ๋ฐ์ํ ์น์ผ๋ก ์ค์
๐ ๋ ์ด์์ ๊ตฌ์กฐ์ ๋ํ ๊ณ ๋ ค