본문 바로가기
Linux

[Linux] 리눅스 기초 서버 띄우기

by Bhinney 2022. 12. 23.

코드스테이츠 부트 캠프가 끝나고, 동기분들과 함께 리눅스를 공부해보기로 하였다.

그래서 해당 리눅스 서버를 구축해 보기로 하였다.

나는 맥북에 개인적으로 작업을 하는 것들이 몇 개 존재해서 VM 대신 EC2에 구측해보기로 했다.


1️⃣ EC2 생성하기

  • EC2 인스턴스를 생성하였다.

2️⃣ 우분투 패스워드 설정

  • 우분투를 처음 사용할 때 해줘야 하는 설정
  • sudo passwd root : 초기 root 계정 비밀번호 설정
  • su 👉🏻 패스워드 입력 👉🏻 루트 계정으로 접속되면 제대로 설정 된 것

3️⃣ 미러 서버 변경

  • 아마존 클라우드는 자체적인 미러 서버를 제공
  • 스터디에 맞추어 카카오 미러 서버로 변경
  • 이곳을 보면 서울 리전에서 카카오가 더 빠를 수도 있을 것 같음
  • sudo vi /etc/apt/sources.list 입력
  • %s/{변경하고지 하는 문자열}/mirror.kakao.com 입력하여 카카오 미러 서버로 변경

4️⃣ 리눅스 패키지 업데이트 및 업그레이드

  • sudo apt-get update
  • sudo apt-get upgrade
  • 업데이트 및 업그레이드 이유 : 의존성이 필요한 프로그램의 합을 맞추기 위해

5️⃣ SSH 설치 (AWS에는 이미 존재)

  • sudo apt install openssh-server
  • service ssh status : 확인
  • sudo service ssh start : 시작 ( AWS는 이미 시작 되어 있음)

6️⃣ nginx 설치

  • sudo apt install nginx
  • sudo service nginx start : 시작
  • sudo service nginx status : 확인

7️⃣ 불러오는 파일 경로를 테스트로 변경

  • ll /etc/nginx/sites-enabled/
  • sudo vi /etc/nginx/sites-enabled/default
...

# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        # SSL configuration
        #
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;
        #
        # Note: You should disable gzip for SSL traffic.
        # See: https://bugs.debian.org/773332
        #
        # Read up on ssl_ciphers to ensure a secure configuration.
        # See: https://bugs.debian.org/765782
        #
        # Self signed certs generated by the ssl-cert package
        # Don't use them in a production server!
        #
        # include snippets/snakeoil.conf;

        root /var/www/test; ## 여기 변경

8️⃣ 테스트 폴더를 만들고 화면에 띄울 html 작성

  • mkdir test
  • vi index.html 
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>My test page</title>
	</head>
	<body>
		<p>This is my page</p>
	</body>
</html>

9️⃣ 바로 가기 만들기

  • cd /var/www 로 접속
  • sudo ln -s /home/saypart/test 바로 가기 만들기
  • sudo ln -s /home/계정명/test
  • cd /etc/nginx/sites-available/ 이동
  • sudo vi test
server {
          server_name     127.0.0.1; 

          root      /var/www/test; 
          index     index.html index.htm index.php; 
}
  • cd ../sites-enabled/ 이동
  • sudo ln -s /etc/nginx/sites-available/test

➕ ln 명령어 : 파일 링크
➕ 두 폴더의 차이

  • sites-enabled : 설정파일 저장 하는 용도
  • sites-available : 실제로 동작하는 설정 저장

🔟 EC2 엔드포인트 포트 80으로 접속하면 잘 뜨는지 확인

🚨 중간에 권한 없음 에러 발생

 

Nginx 403 (13 Permission denied) 해결하기

개요 nginx 설정 중에 설정한 directory를 찾지 못하는 것으로 판단되어 log를 확인해보니 403 (13: Permission denied) 에러가 발생하였고, 이를 해결하는 방법을 기록합니다. error 발생 상황 server { listen 80; r

rnokhs.tistory.com


 

'Linux' 카테고리의 다른 글

[Linux] EC2에 MariaDB 설치하고 DataGrip에 연결하기  (0) 2022.12.26

댓글