goodthings4me.tistory.com
서버 호스팅 연습을 위해 cafe24 가상서버 호스팅을 신청했다. 리눅스를 잘 모르고 개발자도 아니지만 서버 세팅을 하고 파이썬과 장고를 설치해봤다. 그리고 나중에 활용하기 위해 가상서버 호스팅과 서버 세팅, 파이썬 장고 설치 방법을 정리해보았다.
가상서버 호스팅 신청, 서버 세팅, 파이썬 및 장고(Django) 설치
[cafe24에서 가상서버 호스팅 신청하기]
cafe24.com 로그인 후 상단 메뉴 중 "서버호스팅 IDC" 부분 아래에 있는 "가상서버호스팅"을 클릭한다.
SSD 리눅스 가상서버 호스팅이 default로 선택이 되어있고, 나는 리눅스 서버를 선택했다.
테스트 용도나 작은 서버로 사용할 경우 일반형도 괜찮고 좀 여유 있게 사용하려면 비즈니스 상품을 선택한다.
회원정보 아이디와 비번, 그리고 임시 root 비번 입력하고 신청 절차에 따라 결제를 한다.

서비스 신청 완료 후,
cafe24 메인 페이지 중간 좌측에서 "나의서비스관리"를 클릭한다.
서비스 사용현황을 볼 수 있는데, 여기서 서버 IP를 확인한다.
도메인을 cafe24.com이 아닌 본인만의 도메인을 사용하려면 "도메인 추가 연결 및 관리"를 클릭하여 세팅한다.
가상서버 세팅
[PuTTy 접속]
PuTTy 실행
Host Name(or IP address)에 접속하려는 가상서버의 공인 IP 입력
Port 22
Connection type 설정 그대로 둔다
Saved Sessions에 관리 명칭 입력
Save 클릭
Open 클릭
Accept 버튼 클릭

login as: 에 root 입력 후 패스워드를 입력하면 SSH로 접속이 된다.
[PuTTy 로그인 후 명령어 실행]
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 4.15.0-159-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Sat Aug 13 12:01:06 KST 2022
System load: 0.0 Processes: 119
Usage of /: 10.7% of 25.27GB Users logged in: 0
Memory usage: 17% IP address for eth0: 2xx.xxx.xxx.xxx
Swap usage: 0%
143 updates can be applied immediately.
119 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable
Last login: Fri Feb 4 11:52:44 2022
root@kdjango:~#
파일 리스트와 현재 폴더 확인하기
root@kdjango:~# ls
root@kdjango:~# ls -a
. .. .bash_history .bashrc .cache .gnupg .profile .vim .viminfo .wget-hsts
root@kdjango:~# pwd
/root
root@kdjango:~#
상위 폴더 확인하기
root@kdjango:~# cd ..
root@kdjango:/# ls
bin etc initrd.img.old lost+found opt run sys var
boot home lib media proc sbin tmp vmlinuz
dev initrd.img lib64 mnt root srv usr vmlinuz.old
root@kdjango:/# pwd
/
root@kdjango:/# cd root
root@kdjango:~# ls -a
. .. .bash_history .bashrc .cache .gnupg .profile .vim .viminfo .wget-hsts
root@kdjango:~#
[가상서버 업데이트]
로그인 후 출력된 아래 사항을 적용하기 위해 update 명령을 준다.
143 updates can be applied immediately.
119 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable
우분투 패키지 설치를 위해서 apt(Advance Packging Tools) 명령어를 사용하여 설치한다.
root@kdjango:/# apt update
업데이트 패키지 리스트를 확인하려면,
root@kdjango:/# apt list --upgradable
업그레이드 진행
root@kdjango:/# apt upgrade
즉, 우분투 패키지 업그레이드 명령어는
apt update
apt upgrade
패키지 설치 후 apt list --upgradable 명령으로 재 확인
root@kdjango:~# apt list --upgradable
Listing... Done
root@kdjango:~#
[python3.8 설치하기]
- Python 3용 pip 설치
- 레포지터리를 추가할 수 있는 패키지 설치
- 파이썬 3.8 설치
apt install python3-pip
# apt install python-pip는 python 2 버전용임
# 설치가 실패하면 apt update 명령을 준다
root@kdjango:~# pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
root@kdjango:~#
이 우분투 버전에서는 apt-get install python3라고 실행해도 python3.6.9 버전 이상으로 업데이트되지 않습니다.
그래서 python3.8 설치를 위해 레포지터리를 추가할 수 있는 패키지를 설치한다.
명령은 apt install software-properties-commom 임
root@kdjango:~# apt install software-properties-commom
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package software-properties-commom
root@kdjango:~#
다음으로, 파이썬3의 레포지터리를 추가한다.
root@kdjango:~# apt-add-repository ppa:deadsnakes/ppa
엔터로 진행 또는 Ctrl-c로 취소라는 메시지가 출력되면 엔터로 진행한다.
Reading package lists... Done
root@kdjango:~#
위 처럼 정상적으로 완료가 되면 등록한 레포지터리 목록을 업데이트한다.
root@kdjango:~# apt update
모든 게 정상적으로 진행되었다면, 이제 파이썬 3.8을 설치할 수 있습니다.
apt-get install python3.8 (or apt-get install -y python3.8) 설치를 진행합니다.
root@kdjango:~# apt-get install python3.8
파이썬 버전 확인
root@kdjango:~# python -V
Python 2.7.17
root@kdjango:~# python3 -V
Python 3.6.9
root@kdjango:~# python3.8 -V
Python 3.8.13
root@kdjango:~#
다음과 같은 추가 기능을 설치할 수 있다.(선택적)
C 확장을 빌드하기 위한 개발 헤더 설치:
sudo apt install python3.8-dev -y
표준 라이브러리(venv) 모듈을 설치합니다.
sudo apt install python3.8-venv -y
표준 라이브러리(distutils) 모듈 설치:
sudo apt install python3.8-distutils -y
(2to3.8) 유틸리티와 표준 라이브러리(lib2to3) 모듈을 설치합니다:
sudo apt install python3.8-lib2to3 -y
표준 라이브러리(dbm.gnu) 모듈 설치:
sudo apt install python3.8-gdbm -y
표준 라이브러리(tkinter) 모듈 설치:
sudo apt install python3.8-tk -y
[파이썬 가상 환경을 위한 폴더 생성하기]
root@kdjango:~# pwd
/root
root@kdjango:~# mkdir kesco
root@kdjango:~# ls
kesco
root@kdjango:~# cd kesco
root@kdjango:~/kesco# ls -a
. ..
root@kdjango:~/kesco#
[가상환경 생성 및 파이썬 버전 확인]
root@kdjango:~/kesco# python3.8 -m venv venv
root@kdjango:~/kesco# ls
venv
root@kdjango:~/kesco# python3 -V
Python 3.6.9
root@kdjango:~/kesco#
# 가상환경 내의 파이썬 버전 확인은 가상환경을 활성화(source venv/bin/activate) 시킨 후에 확인한다.
root@kdjango:~/kesco# source venv/bin/activate
(venv) root@kdjango:~/kesco# python3 -V
Python 3.8.13
(venv) root@kdjango:~/kesco#
장고(django) 설치 및 개발 서버 구동
[장고(django) 설치]
# 장고 설치 여부를 확인하기 위해 장고 버전을 확인한다.
(venv) root@kdjango:~/kesco# django-admin --version
Command 'django-admin' not found, but can be installed with:
apt install python-django-common
(venv) root@kdjango:~/kesco#
# Django 설치 명령어 apt install python-django-common 를 사용하는 것이 아니라,
가상환경에서 사용할 장고 버전을 설치할 것이기 때문에 아래와 같이 명령을 준다.
- Django 3.2.13 (LTS)이기 때문에 3.2 설치함
pip3 install django==3.2
(venv) root@kdjango:~/kesco# pip3 install django==3.2
# pip 업그레이드 함
(venv) root@kdjango:~/kesco# /root/kesco/venv/bin/python3.8 -m pip install --upgrade pip
Collecting django==3.2
Downloading Django-3.2-py3-none-any.whl (7.9 MB)
... 이하 생략 ...
(venv) root@kdjango:~/kesco#
(venv) root@kdjango:~/kesco# django-admin --version
3.2
(venv) root@kdjango:~/kesco# ls
venv
(venv) root@kdjango:~/kesco# cd venv/bin/
(venv) root@kdjango:~/kesco/venv/bin# ls
activate Activate.ps1 pip __pycache__ python3.8
activate.csh django-admin pip3 python sqlformat
activate.fish django-admin.py pip3.8 python3
(venv) root@kdjango:~/kesco/venv/bin#
[장고 프로젝트 생성]
(venv) root@kdjango:~/kesco# django-admin startproject config .
(venv) root@kdjango:~/kesco# ls
config manage.py venv
(venv) root@kdjango:~/kesco# cd config/
(venv) root@kdjango:~/kesco/config# ls
asgi.py __init__.py settings.py urls.py wsgi.py
(venv) root@kdjango:~/kesco/config#
(venv) root@kdjango:~/kesco/config# cd ..
(venv) root@kdjango:~/kesco# ls
config manage.py venv
# 기본 db table 생성을 위한 migrate 명령
(venv) root@kdjango:~/kesco# python3.8 manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
(venv) root@kdjango:~/kesco#
# migrate 후 db.sqlite3 파일이 생성됨
(venv) root@kdjango:~/kesco# ls
config db.sqlite3 manage.py venv
(venv) root@kdjango:~/kesco#
# 개발 테스트 서버 구동 위해 settings.py 수정
- settings.py 파일이 있는 config 폴더로 이동하고, vi 편집기로 수정한다.
수정할 사항은
ALLOWED_HOSTS = [ ] 을
ALLOWED_HOSTS = ['*'] 로 수정
vi settings.py 명령 후
i 누르고 insert 모드에서 수정을 하고,
수정이 완료되면
ESC
:wq!
[개발 테스트 서버 실행하기]
(venv) root@kdjango:~/kesco# cd config/
(venv) root@kdjango:~/kesco/config# ls
asgi.py __init__.py __pycache__ settings.py urls.py wsgi.py
(venv) root@kdjango:~/kesco/config# vi settings.py
(venv) root@kdjango:~/kesco/config# cd ..
(venv) root@kdjango:~/kesco#
테스트 서버에 외부 접근이 가능하게 하려면
python manage.py runserver 0.0.0.0:포트번호 형식으로 한다.
python3.8 manage.py runserver 0.0.0.0:80
(venv) root@kdjango:~/kesco# python3.8 manage.py runserver 0.0.0.0:80
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
August 13, 2022 - 05:28:47
Django version 3.2, using settings 'config.settings'
Starting development server at http://0.0.0.0:80/
Quit the server with CONTROL-C.
[13/Aug/2022 05:28:51] "GET / HTTP/1.1" 200 10697
[13/Aug/2022 05:28:51] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[13/Aug/2022 05:28:51] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876
[13/Aug/2022 05:28:51] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184
[13/Aug/2022 05:28:51] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692
[브라우저에서 접속해보기]

▷ 관련 글 더보기
[Visual Studio Code] VS Code로 원격 서버 remote-ssh 연결 절차 (원격 서버 접속하는 방법)
[Visual Studio Code] VS Code로 원격 서버 remote-ssh 연결 절차 (원격 서버 접속하는 방법)
이전 포스팅 "cafe24 가상서버호스팅 신청하고 서버 셋팅과 파이썬 장고 설치하기"에 이어서 Visual Studio Code로 SSH를 통해 원격 서버에 접속하기 위한 remote-ssh 연결 절차를 알아본다. VS Code로 SSH를
goodthings4me.tistory.com
리눅스 가상서버 환경에서 장고(django) 서버 구동을 위한 nginx, gunicorn 설치해보기
리눅스 서버 설치에 필요한 명령어 몇 개만 알고 있는 수준에서 서버를 세팅하고 Gunicorn과 Nginx를 설치하는 것이 쉽지는 않았지만, 구글에서 열심히 찾아가며 여러 번의 시행착오 끝에 설치를 마
goodthings4me.tistory.com
카페24 가상서버 호스팅 세팅 및 SSL 인증서 설치
파이썬 장고(Django)를 사용하여 개인용 서버 운영 시 SSL 보안 설정이 안 되어 있으면 구글 애드센스 수익화 등이 어려울 수 있다. 이 문제를 해결하기 위해 가상서버 호스팅 신청 후 테스트 해본
goodthings4me.tistory.com
블로그 인기글
Windows 10 탐색기 느려지는 증상과 해결하는 방법
잘 작동하던 Windows 10 탐색기가 갑자기 느려지는 증상이 발생했을 때 어떻게 조치를 하는지 구글에서 찾아보니 많은 해결책들이 있었으나 어떤 것이 정확한 해결책인지는 알 수가 없었다. 그래서 해결방법이라고 제시한 것들을 정리해 보았다. 윈도우 탐색기가 느려지는 증상 해결 방법 어느 순간부터 응용프로그램(VS Code 등)에서 폴더 열기나 파일 불러오기를 했을 때 검색 팝업창이 안 뜨거나 열리는 시간이 엄청 느려지는 증상과, 더불어서 탐색기도 실행이 많이 느려지는 증상이 있었다. 기존에 사용하던 VS Code에 openpyxl 설치 후 실행이 느려지는 증상이 발생하더니 윈도우10 탐색기도 느려져서 사용할 수가 없었다. 노트북에 OS(Windows10)를 설치한지 1년이 다 되어가긴 했지만, 1개월 전..
goodthings4me.tistory.com
[국세청] 현금영수증가맹점으로 가입바랍니다. 메시지 해결방법(개인사업자)
▶ 현금영수증 가맹점 가입 메시지를 받고... 온라인 쇼핑몰 사업을 시작하려고 사업자등록증을 발급받고 난 후 얼마 안 있어서 국세청으로부터 어느 시점까지 '현금영수증 가맹점'으로 가입하라는 문자메시지가 받았었다. 그 메시지 기한이 오늘 도래했는데, 인터넷에서 찾아보니 홈택스에서 현금영수증 발급 사업자 신청을 할 수가 있었다. [관련내용] 홈>국세정책/제도>전자(세금)계산서/현금영수증/신용카드>현금영수증∙신용카드>가맹점가입 ▶ 홈택스 사이트에서 신청하는 절차는 다음과 같다. 우선, 홈택스에 로그인을 해야 합니다. 세상이 좋아져서 공인인증서 없이도 손쉽게 간편인증 로그인이 가능하다. 여러 인증방법 중 카카오톡 인증이 가장 편리한 거 같다. 간편인증 로그인 후 상단 '조회/발급' 탭 클릭 후 '현금영수증>현금..
goodthings4me.tistory.com
유튜브 영상 등의 URL 주소를 QR코드로 만들기
네이버 QR코드, makeQR, MUST QRcode, 무료 온라인 QRCode 생성기 등의 웹사이트에서 유튜브 영상 등의 URL을 입력하여 QR코드를 만들 수 있다. QR코드를 생성할 수 있는 사이트와 프로그램 URL 주소를 붙여넣기 한 후 "QR 코드 생성" 버튼을 클릭하면 큐알코드가 이미지로 생성되고, 다운로드도 할 수 있는 사이트 https://truedoum.com/useful/qrcode/ # 유튜브에서 동영상 URL을 복사하는 방법 유튜브에서 QR코드를 만들 동영상을 검색한다. 해당 동영상을 클릭한다. 동영상 위에서 마우스 우클릭 후 나오는 팝업창에서 “동영상 URL 복사”를 클릭하거나 영상 하단의 “공유”를 클릭하여 나온 창에서 URL를 복사한다. 아래의 웹사이트 중 하나를 선택한 후 복사..
goodthings4me.tistory.com
'코딩 연습' 카테고리의 다른 글
유뷰트 영상 다운로드 - 파이썬 tkinter (0) | 2022.09.13 |
---|---|
리눅스 가상서버 환경에서 장고(django) 서버 구동을 위한 nginx, gunicorn 설치해보기 (0) | 2022.08.21 |
하위 폴더 전체 파일 복사하기 (1) | 2022.08.10 |
파이썬 Non-UTF-8 code 에러 또는 Non-ASCII character 에러 (0) | 2022.07.09 |
파이썬 sqlite3 db 활용 대용량 데이터 관리가 가능할까 (0) | 2022.06.24 |
댓글