๐Ÿ“DevOps

    [Github Action] Github Action์„ ์ด์šฉํ•ด์„œ EC2์— ์ž๋™๋ฐฐํฌํ•˜๊ธฐ (์ž‘์„ฑ์ค‘)

    [Github Action] Github Action์„ ์ด์šฉํ•ด์„œ EC2์— ์ž๋™๋ฐฐํฌํ•˜๊ธฐ (์ž‘์„ฑ์ค‘)

    ์›๋ž˜ ๋ฐฐํฌ ๋กœ์ง์€, ๊ฐœ๋ฐœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด main ๋ธŒ๋ Œ์น˜์— merge ๋˜๋ฉด ec2์— ์ ‘์†ํ•ด์„œ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์— ๋ธŒ๋ Œ์น˜๋ฅผ pull ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ Github Action์„ ์‚ฌ์šฉํ•ด์„œ ์œ„ ๊ณผ์ •์„ ์ž๋™ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜์–ด ์ ์šฉํ•ด๋ณด์•˜๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ 1. ๋กœ์ปฌ์ปดํ“จํ„ฐ์—์„œ main ๋ธŒ๋ Œ์น˜๋กœ push ํ•˜๋ฉด 2. Github Action ์‹คํ–‰ 1) ec2์— ์ ‘์† 2) ์ž‘์„ฑ๋œ script ์‹คํ–‰ - cloneํ•œ ํ”„๋กœ์ ํŠธ๋กœ ์ด๋™ - ์ง€์ •ํ•œ ๋ธŒ๋ Œ์น˜๋ฅผ git pull 3. ๋ฐฐํฌ ์™„๋ฃŒ ๋ฐฉ๋ฒ• 1. Github Action ์ƒ์„ฑํ•˜๊ธฐ Github > ์ ์šฉํ•  ํ”„๋กœ์ ํŠธ > Action set up a workflow yourself ํด๋ฆญ .yml ํŒŒ์ผ ์ž‘์„ฑํ•˜๊ธฐ name: main branch auto ci pro..

    [AWS] Job for nginx.service failed because the control process exited with error code. ์—๋Ÿฌ

    [AWS] Job for nginx.service failed because the control process exited with error code. ์—๋Ÿฌ

    "Job for nginx.service failed because the control process exited with error code." # nignx ์ƒํƒœ ํ™•์ธ systemctl status nginx.service "Failed to start A high performance web server and a reverse proxy server." - ํฌํŠธ ๋ฒˆํ˜ธ๊ฐ€ ์ถฉ๋Œ๋‚œ ๊ฒƒ >>apache๊ฐ€ ๊น”๋ ค์žˆ๋Š” ๊ฒฝ์šฐ # apache ์‚ฌ์šฉ ๋ฉˆ์ถค sudo service apache2 stop >> apache๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ # 80๋ฒˆ ํฌํŠธ ํ™•์ธํ•˜๊ธฐ netstat -anp | grep 80 => nginx๊ฐ€ ์‚ฌ์šฉ์ค‘ # nginx PID ํ™•์ธํ•˜๊ธฐ ps -aef | grep nginx # PID ์ฃฝ์ด๊ธฐ (๋งจ..

    [AWS] ํƒ„๋ ฅ์  IP(Elastic IPs) ์‚ฌ์šฉํ•˜๊ธฐ

    [AWS] ํƒ„๋ ฅ์  IP(Elastic IPs) ์‚ฌ์šฉํ•˜๊ธฐ

    AWS์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ฉด IP์ฃผ์†Œ๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, ์ด IP์ฃผ์†Œ๋Š” ๊ณ ์ •๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ค‘์ง€ํ•˜๊ฑฐ๋‚˜ ์ข…๋ฃŒํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด ๊ธฐ์กด์— ํ• ๋‹น๋ฐ›์€ IP์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด ๋ฒ„๋ฆฐ๋‹ค. ์œ„ ์ƒํ™ฉ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ธ์Šคํ„ด์Šค์— ํƒ„๋ ฅ์  IP(Elastic IP)๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. 1. ํƒ„๋ ฅ์  IP ํ• ๋‹น ๋ฐ›๊ธฐ 2. ์ธ์Šคํ„ด์Šค์— ํ• ๋‹น๋ฐ›์€ IP ์—ฐ๊ฒฐํ•˜๊ธฐ ์—ฐ๊ฒฐํ•ด์ค„ ์ธ์Šคํ„ด์Šค ์„ ํƒ ์ด๋ ‡๊ฒŒ ์—ฐ๊ฒฐํ•ด์ฃผ๊ณ  ์ธ์Šคํ„ด์Šค ๋Œ€์‹œ๋ณด๋“œ์— ๋“ค์–ด๊ฐ€ ํผ๋ธ”๋ฆญ IP ์ฃผ์†Œ๋ฅผ ๋ณด๋ฉด ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ดํ›„ ๋‚ด๊ฐ€ ๊ฒช์—ˆ๋˜ ์˜ˆ์ƒ๋ฐ–์˜ ์—๋Ÿฌ ์ƒํ™ฉ 1. ํƒ„๋ ฅ์  IP๋ฅผ ์—ฐ๊ฒฐํ•œ ํ›„ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์— ๋ฐฐํฌํ–ˆ๋˜ ์›น์— ์ ‘์†์„ ์‹œ๋„ํ•˜๋‹ˆ๊นŒ '์‚ฌ์ดํŠธ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Œ'์ด ๋œจ๋ฉฐ ์ ‘์†์ด ์•ˆ๋จ => ์›์ธ : ๋ฐฐํฌํ–ˆ์„๋•Œ ์—ฐ๊ฒฐํ•œ ๋„๋ฉ”์ธ์„ ๊ตฌ๋งคํ•œ ์‚ฌ์ดํŠธ์˜ DNS๊ด€๋ฆฌ์—์„œ๋„ ๋ณ€๊ฒฝ๋œ I..

    [AWS] https ์ธ์ฆ ๋งŒ๋ฃŒ์‹œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

    [AWS] https ์ธ์ฆ ๋งŒ๋ฃŒ์‹œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

    "์—ฐ๊ฒฐ์ด ๋น„๊ณต๊ฐœ๋กœ ์„ค์ •๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค" => https ์ธ์ฆ ๋งŒ๋ฃŒ๋˜์„œ ์ƒ๊ธด ๋ฌธ์ œ 1, SSL ์ธ์ฆ์„œ ๋ฐœ๊ธ‰๋ฐ›๊ธฐ # lets encrypt ์„ค์น˜ sudo apt update -y & sudo apt install lets encrypt -y # nginx ์ค‘์ง€ sudo systemctl stop nginx # ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ sudo certbot certonly --standalone -d {๋ฐœ๊ธ‰๋ฐ›์„ ๋„๋ฉ”์ธ} - ๋ฐœ๊ธ‰๋ฐ›์œผ๋ฉด ์•„๋ž˜์— .pem ํŒŒ์ผ 2๊ฐœ์˜ ์œ„์น˜๋ฅผ ์•Œ๋ ค์คŒ # nginx ์„ค์ •ํŒŒ์ผ ์ˆ˜์ • /etc/nginx/sites-available์˜ default ๋ฅผ ์ˆ˜์ • ์œ„์—์„œ ์•Œ๋ ค์ค€ ํŒŒ์ผ 2๊ฐœ๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ธฐ ssl_certificate “{fullchain.pemd์˜ ์œ„์น˜}; ssl_certificate_key ..

    [AWS] mysql ์™ธ๋ถ€์ ‘๊ทผ ํ—ˆ์šฉํ•˜๊ธฐ

    [AWS] mysql ์™ธ๋ถ€์ ‘๊ทผ ํ—ˆ์šฉํ•˜๊ธฐ

    mysql์—์„œ ์„ค์ • root ๊ณ„์ • ์ƒ์„ฑํ•˜๊ธฐ CREATE USER 'root'@'%' IDENTIFIED BY '{๋น„๋ฐ€๋ฒˆํ˜ธ}'; ์™ธ๋ถ€์ ‘๊ทผ ํ—ˆ์šฉํ•˜๊ธฐ //๋ชจ๋“  ์ ‘๊ทผ ํ—ˆ์šฉ GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //ํŠน์ • IP ์ ‘๊ทผ ํ—ˆ์šฉ GRANT ALL PRIVILEGES ON *.* TO ‘root’@‘192.168.56.101’ WITH GRANT OPTION; //ํŠน์ • IP ๋Œ€์—ญ ์ ‘๊ทผ ํ—ˆ์šฉ GRANT ALL PRIVILEGES ON *.* TO ‘root’@‘192.168.%’ WITH GRANT OPTION; ๊ณ„์ •์ด ์ž˜ ๋“ฑ๋ก ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ select user,plugin,host from mysql.user; ์ €์žฅํ•˜๊ธฐ FLUSH ..

    [AWS] ์šฐ๋ถ„ํˆฌ์— ๋ผ๋ผ๋ฒจ ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ php7.4

    [AWS] ์šฐ๋ถ„ํˆฌ์— ๋ผ๋ผ๋ฒจ ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ php7.4

    sudo apt-get update apache2 ์„ค์น˜ sudo apt-get install apache2 mysql ์„ค์น˜ sudo apt-get install mysql-server php7.3 ์„ค์น˜ sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.3 sudo apt-get install php7.3-bz2 php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-mysql php7.3-mbstring php7.3-zip php7.3-fpm php7.3-intl php7.3-simplexml php7.3-bcmath php7.3-dev php7.3-cg..