6_oHji
6_oHji
ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค☺
GitHub   Gmail
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (62)
    • ๐Ÿ’ก DEEP DIVE (17)
      • PATTERN (17)
    • ๐Ÿ“ ๋„์ ๋„์  (4)
    • ๐ŸŒˆ EXPERIENCE (3)
    • ๐Ÿ’ป PROJECT (3)
    • ๐Ÿ“’ STUDY (34)
      • ALGORITHM (1)
      • JAVA (5)
      • FRONT-END (7)
      • BACK-END (10)
      • SPRING (7)
      • NETWORK (3)
      • CLOUD (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ์Šคํ† ๋ฆฌ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ
hELLO ยท Designed By ์ •์ƒ์šฐ.
6_oHji
6_oHji
[๋ผ์ด์ง•์บ ํ”„ ์„œ๋ฒ„ 11๊ธฐ] 2์ฃผ์ฐจ ๊ธฐ๋ก ๐Ÿ“’
๐ŸŒˆ EXPERIENCE

[๋ผ์ด์ง•์บ ํ”„ ์„œ๋ฒ„ 11๊ธฐ] 2์ฃผ์ฐจ ๊ธฐ๋ก ๐Ÿ“’

2022. 12. 19. 15:39

๐Ÿ“Œ ์ˆ˜์—…

๐ŸŒŸ ๋„คํŠธ์›Œํฌ

๋„คํŠธ์›Œํฌ๋Š” Net + Work ์˜ ํ•ฉ์„ฑ์–ด๋กœ์จ ์ปดํ“จํ„ฐ๋“ค์ด ํ†ต์‹  ๊ธฐ์ˆ ์„ ์ด์šฉํ•˜์—ฌ ๊ทธ๋ฌผ๋ง์ฒ˜๋Ÿผ ์—ฐ๊ฒฐ๋œ ํ†ต์‹  ์ด์šฉ ํ˜•ํƒœ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ข€๋” ์‰ฝ๊ฒŒ ๋งํ•˜์ž๋ฉด "๋‘ ๋Œ€ ์ด์ƒ์˜ ์ปดํ“จํ„ฐ๋“ค์„ ์—ฐ๊ฒฐํ•˜๊ณ  ์„œ๋กœ ํ†ต์‹ (์ด์•ผ๊ธฐ)ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ"

๐ŸŒŸ IP ์ฃผ์†Œ

  • ๊ฐ€๊ฒŒ์— ๊ฐ€๋ ค๋ฉด ์ฃผ์†Œ๋ฅผ ์•Œ์•„์•ผํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์„œ๋ฒ„์˜ ์ฃผ์†Œ๋ฅผ ์•Œ์•„์•ผ ํ•œ๋‹ค.
  • IP ์ฃผ์†Œ(์ˆซ์ž) & ๋„๋ฉ”์ธ ์ฃผ์†Œ(WWW.~~)
  • IP ์ฃผ์†Œ๋งŒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ์ง๊ด€์ ์ด๊ณ  ์ธ๊ฐ„ ์นœํ™”์ ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด IP ์ฃผ์†Œ๋กœ ๋งคํ•‘ํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. ์ด ์ž‘์—…์„ DNS ์„œ๋ฒ„๊ฐ€ ๋งก๋Š”๋‹ค.(Domain Name Server)
  • ํฌํŠธ : ์„œ๋ฒ„ ์ ‘๊ทผ ์‹œ ๋ฌธ์„ ํ†ตํ•ด ํ†ต๊ณผํ•œ๋‹ค(127.0.0.1:8080์—์„œ 8080์ด port, ๋ฌธ์˜ ๋ฒˆํ˜ธ)
  • ํฌ๊ฒŒ ๊ณ ๊ฐ ์ „์šฉ ๋ฌธ(์ฃผ๋ฌธ, ์‹์‚ฌ) & ์ง์› ์ „์šฉ ๋ฌธ(๊ด€๋ฆฌ) ์ธ ๊ฒƒ๊ณผ ๊ฐ™์ด ๋“ค์–ด์˜ค๋Š” ๋ฌธ์— ๋”ฐ๋ผ์„œ ํ•˜๋Š” ์ผ์ด ์ •ํ•ด์ ธ ์žˆ๋‹ค.
  • ํ”„๋กœํ† ์ฝœ : ์ธํ„ฐ๋„ท ์ƒ์—์„œ๋„ ํ†ต์‹  ๋ฐฉ์‹์„ ์ •ํ•ด๋‘” ๊ฒŒ ์žˆ๋‹ค. (์ฃผ๋ฌธ ๋ฐฉ์‹์„ ํ‚ค์˜ค์Šคํฌ, ์ ์›, ์‚ฌ์ด๋ Œ ์˜ค๋” ๋“ฑ์œผ๋กœ ํŠน์ • ์ง“๋Š” ๊ฒƒ์ฒ˜๋Ÿผ)
  • → ์–ด๋–ค ํฌํŠธ๋กœ ๋“ค์–ด์˜ค๋А๋ƒ์— ๋”ฐ๋ผ ํ–‰๋™ ์ฃผ์ฒด์™€ ํ–‰๋™์ด ๊ฒฐ์ • ๋˜๊ณ , ํ–‰๋™ ๋ฐฉ์‹ ํ”„๋กœํ† ์ฝœ์ด ๊ฒฐ์ •์ด ๋œ๋‹ค.
  • ๊ด€๋ก€์ ์œผ๋กœ port์™€ protocol์€ ๋งคํ•‘๋˜์–ด ์žˆ์Œ(80 port๋Š” http, 443 port๋Š” https, 22 port๋Š” ssh ๋˜๋Š” sftp, 21 port๋Š” ftp, 3306 port๋Š” mysql/aws)
  • httpd mysqld์—์„œ d๊ฐ€ daemon
  • ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™, ์•„์›ƒ๋ฐ”์šด๋“œ ๊ทœ์น™
  • URI : uniform resource identier URL(Locator-์œ„์น˜, ๊ฒฝ๋กœ) & URN(Name-์ด๋ฆ„)

๐ŸŒŸํฌํŠธํฌ์›Œ๋”ฉ

  • ๊ณต์œ ๊ธฐ ์•ˆ : private IP / ๋ฐ– : public IP
  • ๋ฐ–์—์„œ ๋ณผ ๋•Œ๋Š” public IP๋ฐ–์— ๋ณด์ด์ง€ ์•Š์Œ.
  • ๋‚ด๋ถ€ ip ์ฃผ์†Œ ํ™•์ธ ๋ช…๋ น์–ด ํ„ฐ๋ฏธ๋„์—์„œ ์ž…๋ ฅํ•˜๋ฉด ์•Œ ์ˆ˜ ์žˆ์Œ.

๐ŸŒŸ ํด๋ผ์šฐ๋“œ

  • ์„œ๋ฒ„๋ž€ ๊ฒƒ์€ 24์‹œ๊ฐ„ ์ผœ์ ธ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ํ•˜๋“œ์›จ์–ด์ ์ธ ๊ณ ๋ฏผ๋ณด๋‹ค ์†Œํ”„ํŠธ์›จ์–ด ์ ์ธ ๊ฒƒ๋งŒ ๊ด€๋ฆฌํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์ด๋‹ค.
  • ๋Œ€ํ‘œ : aws

๐ŸŒŸ URL

  • ํ”„๋กœํ† ์ฝœ://์„œ๋ธŒ๋„๋ฉ”์ธ.์„œ๋ฒ„์ฃผ์†Œ(IP, ๋„๋ฉ”์ธ):ํฌํŠธ๋ฒˆํ˜ธ/๊ฒฝ๋กœ
  • redirection(ํ”„๋กœํ† ์ฝœ ์ž๋™ ๋ณ€๊ฒฝ, ๋„๋ฉ”์ธ ์ฃผ์†Œ ๋ณ€๊ฒฝ, ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ์ „ํ™˜ ๋“ฑ)
  • ์ฟผ๋ฆฌ์ŠคํŠธ๋ง(ํŒŒ๋ผ๋ฏธํ„ฐ) : ์ฃผ์†Œ์ฐฝ์— ?๋‚˜ = ํ•„ํ„ฐ๋ง ์กฐ๊ฑด
  •  

 

๐Ÿ“Œ ๊ณผ์ œ 1. Local ์„œ๋ฒ„ ๊ตฌ์ถ• / Window/MacOS + Apache PHP MySQL (Bitnami) - ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•˜๊ธฐ: phpinfo ๋„์šฐ๊ธฐ (by ํฌํŠธํฌ์›Œ๋”ฉ)

๐ŸŒŸ Bitnami ์„ค์น˜

๐ŸŒŸ ์™ธ๋ถ€ IP ์ฃผ์†Œ ํ™•์ธ

<๋…ธํŠธ๋ถ ์™ธ๋ถ€ IP>
<ํœด๋Œ€ํฐ ์™ธ๋ถ€ IP>

๋™์ผํ•œ ๋„คํŠธ์›Œํฌ(WIFI)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด ์™ธ๋ถ€ IP๋Š” ๋™์ผํ•˜๋‹ค.

๐ŸŒŸ ๋‚ด๋ถ€ IP ์ฃผ์†Œ ํ™•์ธ (ipconfig ๋ช…๋ น์–ด๋กœ ํ™•์ธ ๊ฐ€๋Šฅ)

๐ŸŒŸ ํฌํŠธํฌ์›Œ๋”ฉ

SK ๊ณต์œ ๊ธฐ ์ฃผ์†Œ 192.168.35.1 / ๊ณผ์ œ ์˜์ƒ ์ฒจ๋ถ€ X

 


 

๐Ÿ“Œ ๊ณผ์ œ 2. AWS ์„œ๋ฒ„ ๊ตฌ์ถ• / Linux + Nginx PHP MySQL

๐ŸŒŸ AWS ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

๐ŸŒŸ WinSCP ๋‹ค์šด๋กœ๋“œ

WinSCP๋Š” ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์œˆ๋„์šฐ์šฉ์œผ๋กœ ๊ฐœ๋ฐœ๋œ ์ž์œ -์˜คํ”ˆ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์ด๊ณ , SFTP, SCP ๋ฐ FTP ํด๋ผ์ด์–ธํŠธ์ด๋‹ค. ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๋กœ์ปฌ ๋ฐ ์›๊ฒฉ ์ปดํ“จํ„ฐ ๊ฐ„ ๋ณด์•ˆ ํŒŒ์ผ ์ „์†ก์ด๋‹ค.

SFTP๋ฅผ ์ด์šฉํ•˜์—ฌ ์ƒ์„ฑํ•œ ์ธ์Šคํ„ด์Šค์— ์ ‘๊ทผ

๐ŸŒŸ PuTTY ์„ค์น˜

๐Ÿšจ putty์—์„œ ์—ด๊ธฐ ์‹คํ–‰์ด ์•ˆ๋œ๋‹ค๋ฉด Putty ๊ฒฝ๋กœ ์„ค์ • ๋˜๋Š” ์„ค์น˜ ์ž์ฒด๊ฐ€ ์•ˆ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ

๐Ÿ’ก ์ฐธ๊ณ  ์‚ฌ์ดํŠธ

 

WinSCP์™€ PuTTY๋ฅผ ์ด์šฉํ•ด์„œ AWS EC2 ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•˜๊ธฐ

Windows ์šด์˜์ฒด์ œ์—์„œ Unix ๊ณ„์—ด ํ”Œ๋žซํผ ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•  ๋•Œ, ์›๊ฒฉ ์ ‘์†์„ ์ง€์›ํ•˜๋Š” SSH(Secure Shell) ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ๋Œ€ํ‘œ์ ์œผ๋กœ PuTTY์™€ WinSCP๊ฐ€ ์žˆ๋‹ค. Putty๋ฅผ ์ด์šฉํ•˜์—ฌ AWS EC2 ์ธ์Šคํ„ด์Šค์— ์›

velog.io

  • putty์—์„œ ngnix, php, mysql ์„ค์น˜
sudo apt update
sudo apt install nginx
sudo apt install mysql-server
sudo apt install php-fpm php-mysql
cd /var/www/html
sudo vi index.php 

<?php
phpinfo();
?>

sudo vi /etc/nginx/sites-available/default

# php ๋ถ€๋ถ„ ์ฃผ์„ ํ•ด์ œ
# php ๋ฒ„์ „ ์„ค์ • ๋ณธ์ธ์˜ ๊ฒฝ์šฐ php7.4 -> php8.1

sudo service nginx restart

๐ŸŒŸ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ์ˆ˜์ •

์ˆ˜์ • ์ „
์ˆ˜์ • ํ›„(HTTP, HTTPS)
NGINX ํ™•์ธ
PHP ์—ฐ๋™

๐ŸŒŸ mysql user ์ƒ์„ฑ

์ฐธ๊ณ  ์‚ฌ์ดํŠธ : https://nickjoit.tistory.com/144

 

mysql ์‚ฌ์šฉ์ž์ถ”๊ฐ€/DB์ƒ์„ฑ/๊ถŒํ•œ๋ถ€์—ฌ

์„œ๋ฒ„ ๊ด€๋ฆฌ๋ฅผ ํ•˜๋‹ค๋ณด๋ฉด mysql ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ์ถ”๊ฐ€ํ•ด ์ค„๋•Œ๊ฐ€ ์žˆ๋‹ค. MySQL ์ ‘์† ๋ฐ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์ถ”๊ฐ€# mysql -u root -p ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „์— ๋จผ์ € ํ˜„์žฌ ์ƒ์„ฑ๋œ ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ํ™•์ธํ•œ๋‹ค. mysql > use

nickjoit.tistory.com

๊ณ„์ • ์ถ”๊ฐ€ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ

๐ŸŒŸ MySQL ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•˜๊ธฐ - DataGrip ์ด์šฉ

๐ŸŒŸ phpMyAdmin ์„ค์น˜

์ฐธ๊ณ  ์‚ฌ์ดํŠธ: https://velog.io/@vector13/AWS์„-์ด์šฉํ•œ-์„œ๋ฒ„-๊ตฌ์ถ•-LinuxNginxPhpMysql

sudo apt update
sudo apt install phpmyadmin
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
sudo vi /etc/nginx/sites-available/default

# index.php ์ถ”๊ฐ€

sudo service nginx restart

๐ŸŒŸ Domain ์ ์šฉ

์ฐธ๊ณ  ์‚ฌ์ดํŠธ : https://mslilsunshine.tistory.com/163

 

AWS EC2 ์„œ๋ฒ„์— ๋„๋ฉ”์ธ/HTTPS/Redirection ์ ์šฉ

๐ŸŒŸGoal : ๋„๋ฉ”์ธ์„ ๊ตฌ์ž…ํ•˜์—ฌ EC2 ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜๊ณ , HTTPS, ์„œ๋ธŒ๋„๋ฉ”์ธ, Redirection๊นŒ์ง€ ์ ์šฉํ•ด๋ณด์ž. - ๋„๋ฉ”์ธ ์ ์šฉ : ๊ฐ€๋น„์•„์—์„œ 1๋…„์งœ๋ฆฌ ๋„๋ฉ”์ธ์„ ํ•˜๋‚˜ ๊ตฌ์ž…ํ•ด๋ณด์˜€๋‹ค. ์›ํ•˜๋Š” ๋„๋ฉ”์ธ์„ ์•„๋ฌด๊ฑฐ๋‚˜ ๊ตฌ์ž…

mslilsunshine.tistory.com

๐ŸŒŸ HTTPS ์ ์šฉ

sudo apt update
sudo apt install snapd
sudo snap install hello-world
sudo snap install --classic certbot
# ์ธ์ฆ์„œ ๋ฐœ๊ธ‰
sudo certbot --nginx -d tulipa-dev.shop

# Successfully received certificate.
# Certificate is saved at: /etc/letsencrypt/live/tulipa-dev.shop/fullchain.pem
# Key is saved at:         /etc/letsencrypt/live/tulipa-dev.shop/privkey.pem
# Successfully deployed certificate for tulipa-dev.shop to /etc/nginx/sites-enabled/default
# Congratulations! You have successfully enabled HTTPS on <https://tulipa-dev.shop>

HTTPS ๋ณด์•ˆ ์—ฐ๊ฒฐํ•˜๋ฉด URL ์˜†์— ์ขŒ๋ฌผ์‡  ๋ชจ์–‘์ด ๋œฌ๋‹ค.

๐ŸŒŸ ์„œ๋ธŒ๋„๋ฉ”์ธ

cd /var/www/html
sudo mkdir dev #์„œ๋ธŒ๋„๋ฉ”์ธ ๋ช…์œผ๋กœ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
sudo mkdir prod

cd dev
sudo touch main.html
sudo vi main.html  #๋ฉ”์ธ ํŽ˜์ด์ง€๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด๋‘”๋‹ค. 

cd prod
sudo touch main.html
sudo vi main.html

sudo vi /etc/nginx/sites-available/default

# ์•„๋ž˜์˜ ์ฝ”๋“œ ์ถ”๊ฐ€
server{
	root /var/www/html/dev;
	index main.html;
	server_name dev.tulipa-dev.shop;
	
	location \\ {
		try_files $uri/ =404;
	}
	location ~ \\.php$ {
		include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/run/php/php8.1-fpm.sock;
	}
}
server{
	root /var/www/html/prod;
	index main.html;
	server_name prod.tulipa-dev.shop;
	
	location \\ {
		try_files $uri/ =404;
	}
	location ~ \\.php$ {
		include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/run/php/php8.1-fpm.sock;
	}
}

sudo service nginx restart

๐ŸŒŸ ๋ฆฌ๋‹ค์ด๋ ‰์…˜

sudo vi /etc/nginx/sites-available/default

# ์•„๋ž˜์˜ ์ฝ”๋“œ ์ถ”๊ฐ€
server{
	listen 80;
	server_name 52.79.166.30;
	return 301 https://www.tulipa-dev.shop$request_uri;
}

sudo service nginx restart

 


 

๐Ÿ“Œ ๊ณผ์ œ 3. Sub Domain์— ๋‚˜๋งŒ์˜ ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

๐Ÿšจ ๋กœ์ปฌ์—์„œ WinSCP๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ํŒŒ์ผ ์ „์†ก ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ(๊ถŒํ•œ ๋ฌธ์ œ)

๐Ÿ’ก ์ฐธ๊ณ  ์‚ฌ์ดํŠธ : https://velog.io/@leesomyoung/WinSCP-Permission-denied-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0

 

[WinSCP] Permission denied ๋ฌธ์ œ ํ•ด๊ฒฐ

WinSCP๋กœ ํ•„์š”ํ•œ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋Š” ๋„์ค‘ ์—๋Ÿฌ๊ฐ€ ์ƒ๊ฒผ๋‹ค.๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ์ธ๋ฐ, ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ WinSCP ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ํŒŒ์ผ์„ ์—…๋กœ๋“œ๋ฅผ ๋ˆŒ๋ €๋Š”๋ฐ, ๊ถŒํ•œ ๊ฑฐ๋ถ€ ๋ฉ”์‹œ์ง€์˜€๋‹ค. ์ด ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์—๋Š” ๋‘

velog.io

sudo vi /etc/nginx/sites-available/default

# index.html ์ถ”๊ฐ€

 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด
    '๐ŸŒˆ EXPERIENCE' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [๋ผ์ด์ง•์บ ํ”„ ์„œ๋ฒ„ 11๊ธฐ] 1์ฃผ์ฐจ ๊ธฐ๋ก ๐Ÿ“’
    • [๋ผ์ด์ง•์บ ํ”„ ์„œ๋ฒ„ 11๊ธฐ] ์†Œ๊ฐœ ๋ฐ ํ›„๊ธฐ(์šฐ์ˆ˜ ์ˆ˜๋ฃŒ) ๐Ÿ’ป
    6_oHji
    6_oHji
    ๋„์ ๋„์ 

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”