์น๊ฐ๋ฐ ๊ณต๋ถ 15์ผ์ฐจ
๐ถ ์ฐ์ 14์ผ์ฐจ์ ์ ๋ ๋ถ๋ถ.....
๋๋ ์ค๋ฅ๋ฉ์์ง๋ง ์ด์ฌํ ๋ณด๋ฉด์ ์ด๋ค ์ค์ด ํ๋ ธ๋ ์ฐพ๊ณ ์์๋๋ฐ
ํํฐ์ชฝ์ ๋ฌธ์๋ฅผ ๋ฃ์ด๋ณด๋...............
function show_bucket() {
$.ajax({
type: "GET",
url: "/bucket",
data: {},
success: function (response) {
let rows = response['buckets']
for (let i = 0; i < rows.length; i++){
let num = rows[i]['num']
let cmt = rows[i]['bucket']
let done = rows[i]['done']
let temp_html = ``
if (done==0){
temp_html = ` <li>
<h2>โ
${cmt}</h2>
<button onclick="done_bucket(${num})" type="button" class="btn btn-outline-primary">์๋ฃ</button>
</li>`
} else {
temp_html = `<li>
<h2 class="done">โ
${cmt}</h2>
</li>`
}
$('#bucket-list').append(temp_html)
}
alert(response["msg"])
}
});
}
let num = row[i]['num'] ์ ์๋ชป์ด๊ฑฐ์๋คใ ใ ใ
์๋ ์ค๋ฅ๋ฉ์์ง๋ ์ ํ ์๊ด์๋ ๊ณณ์์ ํ๋ ค๋ฒ๋ฆฌ๋ฉด ๋๊ฐ์ ์ด๋ณด๋ ์ด๋ป๊ฒ ์ฐพ๋๊ตฌ์...
๋์์ ๋ฐ์ง ๋ชปํ๋ค๋ฉด ์ง๋ ๋ชป ๋บ ๋ป ํ๋ค.. ํด๊ฒฐํด์ ๋คํ์ด๋ค....
๐ถ AWS ์๋ฒ ์ค์ ํ๊ธฐ
1. ๋ก๊ทธ์ธ ํ๋ฉด ๊ธฐ๋ณธ ํ๋ฉด
๋ง์ฝ ์ด๊ฒ ๋์ค๋ฉด ๊ฐ์ ๋จธ์ ์์ ํด๋ฆญ
์ด๋ ๊ฒ ๋์ค๋ฉด ' ์ธ์คํด์ค ' ๋๋ฌ์ค๋ค
๊ทธ๋ผ ์ด๋ฐ ๋ชจ์์ด ๋์ค๋๋ฐ, ๋๋ ์ญ ์งํํ๋ค๊ฐ ์ผ์ง๋๋ฌธ์ ์ข ๋ฃ์์ผฐ์.........
์ฌ๊ธฐ์ ์ค๋ฅธ์ชฝ ์์ ์ฃผํฉ์ '์ธ์คํด์ค ์์' ๋๋ฌ์ค๋ค.
์กฐ๊ธ ๋ด๋ฆฌ๋ฉด ๋์ค๋ Ubuntu 20.04 ์ ํ
๊ทธ ๋ค๋ก ์์์ ๋ ๋ฒ ๋๋ฌ์ฃผ๋ฉด ์๋๊ฐ์ ํ๋ฉด์ด ๋์ค๋๋ฐ
์ ํคํ์ด ์์ฑ์ผ๋ก ์ ํํ๊ณ
์ด๋ฆ ์ ๋ ฅํ๊ณ ํคํ์ด ๋ค์ด๋ก๋ ํ๋ฉด ๋ญ๊ฐ ํ๋๊ฐ ๋ค์ด์ด ๋๋ค. ์ ๋๋์. ๊ทธ๋ฆฌ๊ณ ์ธ์คํด์ค ์์.
์ด๋ ๊ฒ ๋๊ธฐ ์ค ์ผ๋ก ๋จ๋ฉด ์ ๋๊ฑฐ๊ณ , ๋ช ๋ถ ์์ผ๋ฉด
์ด๋ ๊ฒ ์คํ ์ค ์ผ๋ก ๋ฐ๋๋ค. ๊ธ์ ์์ ๋น ์นธ์ ํด๋ฆญํ๋ฉด
์๋์ชฝ์ ์ ๋ณด๊ฐ ๋ฌ๋ค. ํผ๋ธ๋ฆญ IPv4 ์ฃผ์ ์๋ ๋ณต์ฌ ๋ฒํผ์ ๋๋ฌ๋๋๋ค.
์์์์ Git Bash ์คํ. ๋จ๋ ์ฝ์์ฐฝ์
ssh -i
๊น์ง ์ ๋ ฅํ๊ณ ์ข ์ ์ ๋ค์ด๋ฐ์์ง ํ์ผ์ ๊ทธ๋๋ก ๋์ด์ ๋๋๋ค.
๊ทธ๋ผ ์ฃผ์๊ฐ ์ ๋ ฅ๋๊ณ , ํ ์นธ ๋๊ณ
ubunto@
์ ๋ ฅํ๊ณ ์๊น ๋ณต์ฌํ๋๊ฑฐ ๋ง์ฐ์ค ์ฐํด๋ฆญ์ผ๋ก ๋ถ์ฌ๋ฃ๊ธฐ ํ๋ค.
๊ธ๋ก ์ ์ผ๋ ์ข ๋ณต์กํด ๋ณด์ธ๋ค. ์ด๋ฐ ๋ชจ์ต์ด๋ค.
๋ง์ฐ์ค ์ฐํด๋ฆญ ๋ถ์ฌ๋ฃ๊ธฐ ํ ๊ฒ ์๊น ๋ณต์ฌํ๊ฑฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์ํฐ๋ฅผ ๋๋ฌ์ฃผ๋ฉด ์ ๋ง ์ฐ๊ฒฐํ ๊ฑฐ๋๊ณ ๋จ๋๋ฐ yes์ํฐ
๊ทธ๋ผ ๋์ด๋ค.
๋์ถฉ ์๋ฐ์์ผ๋ก ๋์ค๋ฉด ์ ๋ ๊ฒ.
๊ฐ๋จํ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
ls: ๋ด ์์น์ ๋ชจ๋ ํ์ผ์ ๋ณด์ฌ์ค๋ค.
pwd: ๋ด ์์น(ํด๋์ ๊ฒฝ๋ก)๋ฅผ ์๋ ค์ค๋ค.
mkdir: ๋ด ์์น ์๋์ ํด๋๋ฅผ ํ๋ ๋ง๋ ๋ค.
cd [๊ฐ ๊ณณ]: ๋๋ฅผ [๊ฐ ๊ณณ] ํด๋๋ก ์ด๋์ํจ๋ค.
cd .. : ๋๋ฅผ ์์ ํด๋๋ก ์ด๋์ํจ๋ค.
cp -r [๋ณต์ฌํ ๊ฒ] [๋ถ์ฌ๋ฃ๊ธฐ ํ ๊ฒ]: ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ
rm -rf [์ง์ธ ๊ฒ]: ์ง์ฐ๊ธฐ
sudo [์คํ ํ ๋ช
๋ น์ด]: ๋ช
๋ น์ด๋ฅผ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํ๋ค.
sudo su: ๊ด๋ฆฌ๊ฐ ๊ถํ์ผ๋ก ๋ค์ด๊ฐ๋ค. (๋์ฌ๋๋ exit์ผ๋ก ๋์ด)
์ฌ๊ธฐ๊น์ง ํ๋ฉด ์๋ฒ๋ก ์ธ ์ปดํจํฐ๋ฅผ ๋ฑ ๋์๊ฒ ๊น์ง ์๋ฃ๋ค.
๐ถ ์๋ฒ ์ธํ ํ๊ธฐ
1. ์ด 5๊ฐ์ง๋ฅผ ๋ณต๋ถํด์ค์ ์ค์นํ๋ค.
# python3 -> python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
# pip3 -> pip
sudo apt-get update
sudo apt-get install -y python3-pip
sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
# port forwarding
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
2. ์ค์นํด๋๋ FileZilla ๋ฅผ ์คํํด์ ํ์ผ(F) ๋ฐ์ ๋ณธ์ฒด 3๋ ์๋ ๊ฒ ๊ฐ์ ์์ด์ฝ ํด๋ฆญ
3. New site ๋ฅผ ๋๋ฌ ์ด๋ฆ์ ์ ํด์ฃผ๊ณ , ์ค๋ฅธ์ชฝ ์ธํ ์ ๋๊ฐ์ด ํด์ผํ๋ค. ํธ์คํธ๋ง ๋ด ์ธ์คํด์ค IPv4 ์ ๋ ฅ.
์์์๋ ํธ์คํธํค ๋จ๋ฉด ํ์ธ.
๊ทธ๋ผ ์๋์ฒ๋ผ ์ค๋ฅธ์ชฝ์ ์๋ฒํ๋ฉด์ด ๋ฌ๋ค. sparta ๋ ๋ด๊ฐ ๋ง๋ค์ด ๋ ํด๋์ด๋ค.
4. ์์ ๋ก ํ๋ ํฌ๋ช ๋ก์ ์๋ฒ์ ์ฌ๋ฆฐ๋ค. app.py templates static ์ธ ๊ฐ์ง๋ง ์ฌ๋ฆฌ๋ฉด ๋๋ค. ๋๋๊ทธ ๋๋์ผ๋ก ๊ฐ๋ฅ.
Git basg ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์ณ๋ณด๋ฉด ์ ๋ค์ด๊ฐ ์๋ ๊ฑธ ์ ์ ์๋ค.
5. ์คํ์ ์ํด python app.py๋ฅผ ์ ๋ ฅ
ํ๋ฉด ์ด๋ ๊ฒ flask ๊ฐ ์๊น๋ ธ๋ค๊ณ ๋ฉ์์ง๊ฐ ๋ฌ๋ค. pip install flask ๋ฅผ ์ ๋ ฅํด์ค์ ์ค์นํด์ค๋ค.
๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก bs4, dnspython, pymongo ๋ฅผ ์ค์นํด์ฃผ๊ณ python app.py๋ฅผ ์ ๋ ฅํ๋ฉด
์ด๋ ๊ฒ, pycharm ์๋์ชฝ ์ฝ์์์ ๋ดค๋ ๊ฒ๊ณผ ๋น์ทํ ๋ชจ์ต์ด ๋ณด์ด๋ฉด์ ์คํ์ด ์๋ฃ๋๋ค.
6. ํฌํธ ์ด์ด์ฃผ๊ธฐ
[๋ณด์] ํญ์์ ๋ณด์ ๊ทธ๋ฃน ์๋์ ์๋ launch-wizard ๋ฅผ ํด๋ฆญ. ๋ค์ ์ซ์๋ฅผ ๋ค๋ฅผ ์ ์๋ค.
์ฐ์ธกํ๋จ์ [์ธ๋ฐ์ด๋ ๊ท์น ํธ์ง] ์์ด๋ก [Edit Inbound rules] ๋ก ๋ผ์์ ์๋ ์๋ค.
๊ท์น ์ถ๊ฐ๋ฅผ ํด์ 5000๋ฒ๊ณผ 80์ ์ถ๊ฐํ๋ค. ๊ทธ ์ค๋ฅธ์ชฝ์ Anywhere-IPv4 ๋ก ๋ณ๊ฒฝ ํ ๊ท์น ์ ์ฅ
โป 80๋ฒ์ ๊ณต์ฉํฌํธ๋ค. ๋ณดํต ์ธํฐ๋ท ์ฃผ์๋ฅผ ์ ๋ ฅํ๋ฉด ๋ค์ 80์ด ์๋ต๋ผ์๋๊ฒ. ๊ทธ๋์ ์์ ์ฐ๋ถํฌ ํจํค์ง ์ค์
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
์ด ๋ถ๋ถ์ด 80์ผ๋ก ๋ค์ด์จ ๊ฑธ 5000์ผ๋ก ๋ฆฌ๋ค์ด๋ ํธ ํด์ฃผ๋ ํจํค์ง์ด๋ค.
์ดํ ์ธํฐ๋ท ์ฃผ์์ฐฝ์ ํผ๋ธ๋ฆญ IPv4 ์ฃผ์:5000 ์ ์ ๋ ฅํ๋ฉด ์ ์์ด ์ ์์ ์ผ๋ก ๋๋ค. 5000์ ์๋ถ์ฌ๋ ๋๋ค.
๐ถ Git ์ ๊บผ๋ ์๋ฒ ๋์๊ฐ๊ฒ ํ๊ธฐ - nohup ์ค์ ํ๊ธฐ
Git ์์ Ctrl + c ๋ฅผ ๋๋ฌ ์๋ฒ์์น์์ ๋น ์ ธ ๋์จ ๋ค
nohup python app.py &
๋ฅผ ์ ๋ ฅํ๊ณ ์ํฐ๋ฅผ ๋๋ฅด๋ฉด
์ด๋ ๊ฒ ๋จ๋ฉด์, Git ์ ๊บผ๋ ์นํ์ด์ง๊ฐ ์ ์์ ์ผ๋ก ์๋ํ๋ค.
๋ง์ฝ ์ฝ๋ฉ ์์ ๋ฑ์ ์ด์ ๋ก ์๋ฒ๋ฅผ ์ข ๋ฃํ๊ณ ์ถ๋ค๋ฉด
ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill
์ด์ฐ ์ฌ์ง๋ค๋์ ์์ฒญ ๊ธธ์ด์ก๋ฐ. ์ค๋์ ์ฌ๊ธฐ๊น์ง..............