본문 바로가기
카테고리 없음

[linux]web server 구축할 때 사용하는 기본적인 플로우와 명령

by sighan 2023. 12. 18.
반응형

리눅스에서 서버를 구축하는 과정을 예시로 들면서 각 단계별로 필요한 명령어를 설명하겠습니다. 예를 들어, 웹 서버를 구축하는 과정을 생각해볼 수 있습니다.

1. 서버 초기 설정

  • 시스템 업데이트
    • 목적: 시스템을 최신 상태로 유지하기 위함
    • 명령어:
      • sudo apt-get update - 패키지 목록을 최신화
      • sudo apt-get upgrade - 설치된 패키지 업그레이드
  • 보안 설정
    • 목적: 서버의 보안을 강화하기 위함
    • 명령어:
      • sudo adduser [새사용자명] - 새 사용자 계정 생성
      • sudo usermod -aG sudo [새사용자명] - 새 사용자에게 sudo 권한 부여

2. 필요한 소프트웨어 설치

  • 웹 서버 소프트웨어 설치 (예: Apache)
    • 목적: 웹 페이지를 호스팅하기 위함
    • 명령어:
      • sudo apt-get install apache2 - Apache 웹 서버 설치
  • 데이터베이스 서버 설치 (예: MySQL)
    • 목적: 웹 애플리케이션 데이터 관리
    • 명령어:
      • sudo apt-get install mysql-server - MySQL 서버 설치

3. 웹 서버 설정

  • Apache 설정
    • 목적: 웹 서버 동작 설정
    • 명령어:
      • sudo a2enmod rewrite - URL 재작성 모듈 활성화
      • sudo systemctl restart apache2 - Apache 서버 재시작
  • 방화벽 설정
    • 목적: 네트워크 보안 강화
    • 명령어:
      • sudo ufw allow 'Apache' - Apache를 통한 트래픽 허용
      • sudo ufw enable - 방화벽 활성화

4. 웹 사이트 배포

  • HTML 파일 업로드
    • 목적: 웹 사이트 파일을 서버에 배치
    • 명령어:
      • cd /var/www/html - 웹 서버 루트 디렉토리로 이동
      • sudo nano index.html - HTML 파일 편집 또는 생성

5. 서버 모니터링 및 관리

  • 시스템 모니터링
    • 목적: 서버의 상태와 리소스 사용량을 모니터링
    • 명령어:
      • top - 현재 실행 중인 프로세스와 리소스 사용량 보기
      • df -h - 디스크 사용량 확인
      • free -m - 메모리 사용량 확인

이 예시는 기본적인 웹 서버 구축 과정을 단계별로 설명한 것입니다. 실제로는 서버의 구체적인 목적, 사용되는 소프트웨어, 보안 요구사항 등에 따라 필요한 명령어와 설정이 달라질 수 있습니다.

 

 

명령어 설명

  1. apt-get
    • Full Name: Advanced Packaging Tool GET
    • Explanation: Debian 계열 리눅스 시스템에서 사용하는 패키지 관리 도구입니다. apt-get 명령어는 소프트웨어 패키지의 설치, 업데이트 및 제거를 관리합니다.
  2. sudo
    • Full Name: Superuser DO
    • Explanation: 일반 사용자가 관리자(superuser) 권한으로 명령어를 실행할 수 있게 해주는 프로그램입니다. sudo를 사용하여 보안상의 이유로 제한된 작업을 수행할 수 있습니다.
  3. cd
    • Full Name: Change Directory
    • Explanation: 현재 작업 중인 디렉토리를 변경하는 명령어입니다.
  4. ls
    • Full Name: List
    • Explanation: 현재 디렉토리의 파일 및 하위 디렉토리 목록을 보여주는 명령어입니다.
  5. mkdir
    • Full Name: Make Directory
    • Explanation: 새 디렉토리를 생성하는 명령어입니다.
  6. rm
    • Full Name: Remove
    • Explanation: 파일이나 디렉토리를 삭제하는 명령어입니다.
  7. ifconfig
    • Full Name: Interface Configuration
    • Explanation: 네트워크 인터페이스를 설정하고 관리하는 명령어입니다. IP 주소를 확인하거나 변경하는 데 사용됩니다.
  8. ping
    • Full Name: Packet Internet Groper
    • Explanation: 네트워크 연결의 상태와 속도를 테스트하기 위해 사용되는 명령어입니다. 특정 호스트까지의 연결이 가능한지 확인할 때 사용합니다.
  9. top
    • Full Name: Table of Processes
    • Explanation: 현재 시스템에서 실행 중인 프로세스의 정보를 실시간으로 보여주는 명령어입니다.
  10. df
    • Full Name: Disk Free
    • Explanation: 파일 시스템의 디스크 공간 사용량을 보여주는 명령어입니다.
  11. free
    • Full Name: Free Memory
    • Explanation: 시스템의 메모리 사용량(사용 중, 사용 가능)을 보여주는 명령어입니다.
  12. a2enmod
    • Full Name: Apache2 Enable Module
    • Explanation: Apache2 웹 서버에서 특정 모듈을 활성화하는 명령어입니다.
  13. ufw
    • Full Name: Uncomplicated Firewall
    • Explanation: 사용하기 쉬운 방화벽 설정 도구로, 네트워크 보안을 위해 트래픽 규칙을 설정합니다.

 

반응형