2018년 3월 18일 일요일

some tips for using ubuntu on Amazon lighthouse, open web server with node.js.

계속 햇깔려서 메모겸 작성합니다.

Amazon lightsail 을 통해 생성한 Ubuntu운영체제에서
nodejs를 외부에서 정상적으로 접속 가능한 서버로 띄우는중 해맸던 자료입니다.

우선 lightsail은 ufw와 독립적으로 포트포워딩을 제공하고 있기 때문에,
ufw를 활성화시 lightsail 각각 설정이 필요합니다.
(ec2또한 마찬가지라는코멘트를 봤습니다)

ufw만 활성화 후, ssh접속을 요청했는데 문제가 생기는 일이 발생..
(Amazon web ssh 는 22포트이니깐, ufw활성화전 22를 allow해줘야 제접속시 접속가능!! 안그럼 서버 짜이요!)

반대로 규칙을 추가할때도 ufw/aws dashboard 각각 허용을 해 주어야 합니다.

이후 node / nginx 설치,
node는 내부 포트로 swf 허용후 서버 개방,
nginx는 기본 80포트로 외부에서 접속을 관리하는데, 들어온 요청을 방금 연 node와 연결을 설정해야합니다.

에디터로 /etc/nginx/sites-avaliable/default 를 열어
중간의

location/{} 을 찾아가, 안에 값을 하나 써준다
proxy_pass http://localhost:내부포트/ ;
를 써줍니다.

내부포트는 node로 열때 포트번호를 말합니다.

뿅 완성입니다.


some tips for using ubuntu on Amazon lighthouse, open web server with node.js.


install ubuntu on lighthouse is no need to write, cause its super easy right?


first of all, lightsail's firewall(in aws dashboard) and ufw are operation diffirently,


if you enable ufw in ubuntu without allow port for ssh, you will never reach to ssh again.

(case of lighthouse, guess like you never reach to server again, unless you format)

therefore, you have to open port for ssh before enable ufw!


also, if you want to enable other port, you have to enable aws dashboard and ufw too.

otherwise, it might be work local network, but you cannot reach from other network.



node server will operate local. you need to mount WAS before, unless you dont want to connect other network.

nginx or tomcot will help this, i'll try nginx.
install nginx and nodejs.


after installing nginx, you can access from other network with http://yourlightsailIP/ .

now, you need to hook-up your own nodeserver.


open /etc/nginx/site-available/default with editor.

you will see 'proxy_pass'parameter inside of 'location/{}'

either or not, write down lines like this ' proxy_pass http://localhost:[your node server port]/; '

(in my case : proxy_pass http://localhost:8080/; )


after than, turn on node server, and try to connect from other network.

voilà! you'll see your website now.

댓글 없음:

댓글 쓰기