Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- c3 초
- InfluxDB
- python popen
- CentOS7
- linux시간으로 변경
- centos pyhon 설치
- gcc regex
- c3 축 없애기
- selinux port 등록
- subporcess path
- c3 second
- influxdb 설치
- grafana dashboard
- 백준
- c++ 정규식
- snmp test
- c3 축 가리기
- gcc 업데이트
- 1697
- snmp
- c3 step graph
- 정규식 컴파일
- python os
- 정규식 문자열 출력
- 정규식 활용
- python subprocess
- regex_search
- telegraf
- g++ 업데이트
- semanage
Archives
- Today
- Total
리셋 되지 말자
[CSAPI] Django 개발환경 셋팅 본문
local 개발환경
개발 부터 aws에 db서버를 따로 두고 개발하기에는 비용적인 부분이 너무 감당이 안될 것 같아서 local에 두 개의 centos 서버를 두고 개발을 시작. 여기서는 django 컨테이너를 실행시켰을 때, database와 연결이 되는 것까지 진행.
Vagrant 를 이용한 환경 세팅
Virtualbox에 centos 두 개를 띄어서 시작.
Vagrant.configure("2") do |config|
#csapi
config.vm.define "csapi" do |cfg|
cfg.vm.box = "centos/8"
cfg.vm.provider "virtualbox" do |vb|
vb.name = "csapi"
end
cfg.vm.host_name = "csapi"
cfg.vm.network "private_network", ip: "192.168.252.100", :adapter => 2
cfg.vm.network "forwarded_port", guest: 22, host: 60001, auto_correct: true, id: "ssh"
# install docker
cfg.vm.provision "shell", inline: "yum install -y yum-utils && yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo"
cfg.vm.provision "shell", inline: "yum install -y docker-ce-20.10.5 docker-ce-cli-20.10.5 containerd.io"
cfg.vm.provision "shell", inline: "usermod -aG docker vagrant"
cfg.vm.provision "shell", inline: "systemctl start docker"
cfg.vm.provision "shell", inline: "systemctl enable docker"
# install git
cfg.vm.provision "shell", inline: "yum install -y git"
# install python, gcc
cfg.vm.provision "shell", inline: "yum install -y epel-release.noarch"
cfg.vm.provision "shell", inline: "yum install -y python39"
cfg.vm.provision "shell", inline: "yum install -y gcc"
# install mysql lib
cfg.vm.provision "shell", inline: "yum install -y python3-devel"
cfg.vm.provision "shell", inline: "yum install -y mysql-devel"
end
#csapi
config.vm.define "database" do |cfg|
cfg.vm.box = "centos/8"
cfg.vm.provider "virtualbox" do |vb|
vb.name = "database"
end
cfg.vm.host_name = "database"
cfg.vm.network "private_network", ip: "192.168.252.101", :adapter => 2
cfg.vm.network "forwarded_port", guest: 22, host: 60001, auto_correct: true, id: "ssh"
# install docker
cfg.vm.provision "shell", inline: "yum install -y yum-utils && yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo"
cfg.vm.provision "shell", inline: "yum install -y docker-ce-20.10.5 docker-ce-cli-20.10.5 containerd.io"
cfg.vm.provision "shell", inline: "usermod -aG docker vagrant"
cfg.vm.provision "shell", inline: "systemctl start docker"
cfg.vm.provision "shell", inline: "systemctl enable docker"
end
end
데이터베이스(mariadb) 세팅
mariadb 컨테이너는 ip가 192.168.252.101 인 가상머신에서 실행
docker run -d -p 3306:3306 --name mariadb -e MARIADB_ROOT_PASSWORD=root -e MARIADB_USER=user -e MARIADB_PASSWORD=user -e MARIADB_DATABASE=csapi mariadb:latest
Django 세팅
가상 환경(venv) 생성 및 가상환경 activate
$ python3 -m venv venv
$ source venv/bin/activate
pip 업데이트 및 패키지 설치
$ pip install django mysqlclient
django 프로젝트 생성
$ django-admin startproject config .
현재 디렉토리 상태
$ tree -L 1
.
├── config
├── manage.py
└── venv
settings.py 파일 수정 시작
vi config\settings.py
- allow hosts 수정
ALLOWED_HOSTS = ['*']
- database 설정 수정
root를 사용하면 안좋지만, 우선 고려하지 않음
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'csapi',
'USER': 'root',
'PASSWORD': 'root',
'HOST': '192.168.252.101',
'PORT': '3306'
}
}
Django 테스트
runserver를 이용해 서비스 시작
$ python manage.py runserver 0.0.0.0:8000
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
October 04, 2021 - 02:37:15
Django version 3.2.7, using settings 'config.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
django 서버 접속
후기
아직 django를 컨테이너화 하지 않았다. 다음은 컨테이너화를 진행
'프로젝트' 카테고리의 다른 글
[CSAPI] Django csapi app 생성 (0) | 2021.10.04 |
---|---|
[CSAPI] Django containerization (0) | 2021.10.04 |
[CSAPI] 구성 변경 (0) | 2021.10.01 |
[CSAPI] nodejs, mongodb 컨테이너 추가 (0) | 2021.09.22 |
[CSAPI] develop branch를 이용한 CI 파이프라인 구성 (0) | 2021.09.20 |
Comments