SERVER SETTING AND RELATED DEVELOPMENT TOPIC
서버구축 진행순서
1. Linux ubuntu 20.04.5 LTS 설치
[Ubuntu] 홈 서버 구축 - (0)Ubuntu 18.04 Server 부팅 USB 만들기
20.04 LTS server 설치-1
20.04 LTS server 설치-2
22.04 LTS server 설치
우분투 22.04 LTS 처음 설치 후 해야할 작업
ubuntu server 설치 후 인터넷 연결 확인방법
ubuntu server 설치 후 ssh 동작 확인 방법 및 설치
ubuntu server 설치 후 git bash로 원격 접속[chrome검색]
Ubuntu 18.04 : SSH 키 : 설정 방법
ubuntu server 설치 후 openssh설치 후 ssh로 접속하기
ubuntu 24.04 LTS 이전 버전 설치 후 ssh 접속 포트 변경하기
ubuntu 24.04 LTS version SSH 포트 변경
ubuntu server 설치 후 putty로 ssh 연결하기
Ubuntu 버전 확인하는 방법, 예제, 명령어
ubuntu server 서버 공장초기화 하는 법 + .sh 파일로 한번에 실행
리눅스 파일시스템 비교(ext4 & xfs)-1
리눅스 파일시스템 비교(ext4 & xfs)-2
[Linux] Ubuntu Server 20.04 RAID 구성하기
[리눅스 (Linux) 명령어] 하드 디스크 파티션 확인 및 마운트 시키기(fdisk -l / df -h / mount 명령어)
[Linux] 디렉토리 관련 명령어 총정리(확인, 이동, 생성, 삭제, 복사, 잘라내기)
sudo -i
apt-get update
apt-get upgrade
apt-get install net-tools
ifconfig
2. sudo ufw status
sudo ufw delete allow 80
sudo ufw delete deny 80
sudo ufw status
그래서, 결국은 핸드폰으로 로그인하고, http://172.30.1.254로 후진한다. 그러면 KT WiFi home 설정화면이 나온다. 여기서부터 그림데로,,,,
그리고, 내부 IP 주소는, ubuntu 서버에 ifconfig 해서 확인(172.30.1.17)하면 된다.
port 순서:
외부IP포트(포트포워딩) ===> 내부IP포트(터미널 포트열기) ===> 컨테이너포트(yml파일: 내부IP포트:컨테이너포트)
docker run -d -p 50009:9000 --name portainer . . . 에서는 내부IP포트:portainer(컨테이너)포트
[linux] ubuntu에 ssh 접속 포트 변경하기

디렉토리 생성하기:
mkdir test : 디렉토리가 만들어진다.
sudo mount /dev/sdb1 test : 하드디스크(/dev/sdb1)에 test디렉토리를 mount한다.
이렇게 마운트한 디렉토리는 rmdir test 혹은 rm -rf test로도 지워지지 않는다. : rm: cannot remove 'test': Device or resource busy
이때는 마운트를 해제한 다음에 삭제: sudo umount test ===> rmdir test 혹은 rm -rf test로 삭제
[Ubuntu] USB 마운트(mount)/언마운트(unmount) 하는 방법
Linux : 파일 시스템 Mount, Unmount 하는 방법, 예제, 명령어
3. apt install docker.io -y
docker container에 접속하기[Docker] 컨테이너 안에 파일 수정하기 (container config)
리눅스 Docker 저장 위치 확인 및 변경[기존 컨테이너 & 이미지 구동이 안된다. 지워지지는 않지만..... docker설치후 저장위치 변경]
[Docker] 도커 저장소 변경하기(Root Dir) - 온실 속 선인장(아래 방법이랑 좀 다르다...이걸로 하자)
vi /vim 편집기 명령어 정리 (단축키 모음 / 목록)
===> sudo docker info | grep Root (Docker 데이터 저장 위치 확인하기)
===> systemctl stop docker
===> /home 으로 이동후 [docker 데이터 저장할 폴더 생성하기] mkdir docker
===> vi /lib/systemd/system/docker.service (저장 위치 변경하기 위해 서비스 설정 파일 열기)
===> ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/home/docker/ [여기 추가...붉은색]
===> systemctl daemon-reload
===> systemctl stop docker
===> systemctl start docker
===> sudo docker info | grep Root
docker volume create portainer_data
docker run -d -p 50009:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
docker run -d -p 50009:9000 --name portainer --restart=always --privileged -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
docker restart portainer
docker swarm init
docker container ls
docker rm -f portainer-container-ID
docker images
docker image rm portainer-image-ID
docker volume ls
docker volume rm portainer_data
4. stack을 빌드하기전에. . . 반드시, FTP로 nginx.conf를 옮겨놔야 한다.
nginx container 빌드시에 컨테이너가 만들어지지 않는다.
FDKproject0.1
├── flask_www
│ ├── uwsgi.ini
│ ├── route
│ ├── apps . . .
│ ├── templates
│ ├── requirements.txt
│ └── Dockerfile
├── nginx
│ └── nginx.conf
├── docker-stack.yml
├── app.py
└── venv
pip install gunicorn 빼먹지 말라
pip freeze > requirements.txt
pip freeze > flask_www/requirements.txt

5. stack 빌드 후에 받드시 db migrate!!!
docker exec -it [flask app container ID] /bin/bash 로 플라스크 앱 컨테이너 내로 진입
flask db init ===> flask db migrate ===> flask db upgrade 시행
(위와 같은 명령: docker exec [app 혹은 container ID] flask db init/migrate/upgrade)docker logs -t flask_www(app 혹은 container ID)
docker logs -tf flask_www(app 혹은 container ID)
해당 IP의 포트 open check Site
git + ssh 연계시 22 번 포트가 아닌 다른 포트 사용할 경우 앞에 ssh:// 를 적고 id@host:포트번호를 적어줌