[AI] 젯슨 나노(Jetson Nano) 초간단 리눅스 웹서버 구축하기
젯슨 나노(Jetson Nano) Ubuntu Linux에서 간단하게 웹서버 동작하기
젯슨 나노에서 darknet YOLOv3등에서 나온 결과물을 느려 터진 원격 접속에서 보기도 힘들고, 웹에 올리자니 네트워크에 연결되어있어야 하는 번거로움 때문에 간단하게 젯슨 나노에서 웹 서버를 열어서 동일한 네트워크상에서 접속하기로 했습니다. 젯슨 나노(Jetson Nano)는 Ubuntu 기반이기 때문에 너무나도 간단하게 Apache2를 설치하기만 하면 80 port를 오픈할 수 있습니다!
젯슨 나노(Jetson Nano) Apache2 설치
//
// 최신버전 패키지 설치를 위해 apt-get을 최신버전으로 update.
//
sudo apt-get update
sudo apt-get upgrade
//
// apache2 설치.
//
sudo apt-get install apache2
apt-get을 최신으로 업그레이드를 한 뒤 apache2를 설치하도록 합니다.
//
// linux ip 확인
//
ifconfig
초간단 서버 설치가 완료되었습니다. 단순히 패키지 설치만으로 웹 서버가 열린다는 건 참으로 멋진 일입니다. 테스트를 위해 원격지 피씨에서 192.168.0.13 (ifconfig) 명령어를 이용하여 확인 후 접속을 시도해봅니다. 아래와 같이 Apache2 Ubuntu Default Page가 열린다면 정상적으로 설치가 완료된 것입니다. 물론 공유기를 통해 동일 네트워크에 있어야 하며, 만약 외부에서 접속이 가능하게 하고 싶으면 공유기에서 추가로 설정을 해야 합니다.
(젯슨 나노 원격 접속에서 자체적으로 확인할 때는 Loopback Address인 http://localhost 또는 127.0.0.1로 접속해도 됩니다.)
Apache2 기본 실행 옵션
아래의 service 명령어를 이용하여 apache2 start, stop, reload 등 시작과 종료를 할 수 있습니다. 만약 Apache2 서비스가 동작중이지 않거나 문제가 생겼다면 아래 명령어를 통해 직접 실행할 수 있습니다.
service apache2 start
service apache2 stop
service apache2 reload
기본 설치가 완료되었으니 index.html 페이지를 수정하면 됩니다. 웹 서비스를 하는 서버라면 웹 계정을 새로 생성하여 각각의 공간에서 html 관리를 해야 하겠지만, 내부 네트워크에서만 동작하거나 테스트용으로는 html 디렉터리의 권한을 변경하여 간단히 사용하도록 합니다. Apache2를 기본 설치하게 되면 기본 index.html 경로는 /var/www/html/
이며, 아래의 경로에서 DocumentRoot를 확인 및 수정할 수 있습니다.
vi /etc/apache2/sites-available/000-default.conf
Apache2를 설치하면 /var/www/html
의 권한은 읽기 전용 상태입니다. root 계정의 디렉터리이기 때문에 기본 보안상태인데요, 저는 외부 보안이 필요하지 않아 간단하게 권한을 제거하여 사용할 수 있도록 합니다. -R 옵션을 입력한 이유는 폴더 안에 있는 index.html 권한까지 변경하기 위한 것입니다.
//
// -R 옵셥을 주어 하위폴더까지 모두 777권한으로 변경
//
sudo chmod -R 777 /var/www/html/
권한을 변경한 후 기존에 있던 index.html을 제거하고 새로 작성합니다.
//
// remove default index.html
//
rm /var/www/html/index.html
//
// create index.html
//
vi /var/www/html/index.html
HTML SAMPLE CODE
아래 코드 중 <head>에 meta tag는 Linux는 UTF-8 기반이기때문에 유니코드등 한글 표현이 깨지게 되어있습니다. 그래서 인코딩설정을 해주어야 한글이 출력되기때문에 아래와같이 <head>에 선언한것입니다.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="UTF-8" />
</head>
<body>
<h1>Hello! 웬디의 기묘한 이야기.</h1>
</body>
</html>
이제 <img src="" />를 이용한다던지 하여 html을 자유롭게 수정한 뒤 웹으로 접근하여 다양한 처리가 가능합니다. 주의하실점은 html에서의 root('/') 경로는 /var/www/html/
경로이니 darknet YOLOv3등에서 나온 결과물을 html 경로로 이동하여 처리해야합니다.
'⌨ DEVELOPMENT > AI' 카테고리의 다른 글
[AI] 머신러닝의 꽃 강화학습(Reinforcement Learning) a.k.a RL (0) | 2019.12.21 |
---|---|
[AI] 머신러닝 지도학습(Supervised Learning) , 비지도학습(Unsupervised Learning) 차이점과 장단점 (8) | 2019.12.18 |
[AI] 젯슨 나노(Jetson Nano) 명령어 하나로 최대 성능으로 사용하기 (2) | 2019.12.14 |
[AI] YOLO v3 darknet - 이미지 여러개 순차적으로 처리하기 (4) | 2019.12.09 |
[AI] jetson Nano GPU Architecture is sm=5.3 (0) | 2019.11.24 |
[AI] jetson nano SSH가 접속이 되지 않을때 ssh-keygen -A 한방으로! (0) | 2019.11.21 |
[AI] YOLO v3 darknet 소스 코드 분석 main은 어디있는가? (2) | 2019.11.18 |
[AI] 젯슨 나노(Jetson Nano) darknet YOLO v3 설치 및 샘플 돌려보기 (20) | 2019.10.02 |
댓글
이 글 공유하기
다른 글
-
[AI] 머신러닝의 꽃 강화학습(Reinforcement Learning) a.k.a RL
[AI] 머신러닝의 꽃 강화학습(Reinforcement Learning) a.k.a RL
2019.12.21 -
[AI] 머신러닝 지도학습(Supervised Learning) , 비지도학습(Unsupervised Learning) 차이점과 장단점
[AI] 머신러닝 지도학습(Supervised Learning) , 비지도학습(Unsupervised Learning) 차이점과 장단점
2019.12.18 -
[AI] 젯슨 나노(Jetson Nano) 명령어 하나로 최대 성능으로 사용하기
[AI] 젯슨 나노(Jetson Nano) 명령어 하나로 최대 성능으로 사용하기
2019.12.14 -
[AI] YOLO v3 darknet - 이미지 여러개 순차적으로 처리하기
[AI] YOLO v3 darknet - 이미지 여러개 순차적으로 처리하기
2019.12.09