IT_World

Django nginx 연결해서 원격서버 로컬에서 도메인 주소로 보기 본문

Web framework, WF/Django

Django nginx 연결해서 원격서버 로컬에서 도메인 주소로 보기

engine 2021. 9. 9. 10:33

소개

Nginx는 세계에서 가장 인기 있는 웹 서버 중 하나이며 인터넷에서 가장 크고 트래픽이 많은 사이트를 호스팅

대부분의 경우 Apache보다 리소스 친화적이며 웹 서버 또는 역방향 프록시로 사용할 수 있다.

전제 조건

이 가이드를 시작하기 전에 sudo서버에 구성된 권한  가진 루트가 아닌 일반 사용자가 있어야 한다. 

1단계: Nginx 설치

Nginx는 Ubuntu의 기본 리포지토리에서 사용할 수 있으므로 설치가 다소 간단하다.

apt이 세션에서 패키징 시스템 과의 첫 번째 상호 작용이기 때문에 가장 최근 패키지 목록에 액세스할 수 있도록 로컬 패키지 인덱스를업데이트

sudo apt-get update
sudo apt-get install nginx

 

절차를 수락하면 apt-getNginx 및 필요한 모든 종속성을 서버에 설치

2단계: 방화벽 조정

Nginx를 테스트하기 전에 서비스에 대한 액세스를 허용하도록 방화벽 소프트웨어를 재구성

Nginx ufw는 설치 시 방화벽에 서비스로 등록(Nginx 액세스를 허용하는 것을 다소 쉽게 만든다.)

다음 ufw을 입력하여 작업 방법을 알고 있는 애플리케이션 구성을 나열할 수 있다.

ufw app list

OutputAvailable applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

애플리케이션 프로필 목록을 가져와야 한다.

보시다시피 Nginx에는 세 가지 프로필을 사용할 수 있다.

Nginx Full : 포트 80(일반, 암호화되지 않은 웹 트래픽)과 포트 443(TLS/SSL 암호화 트래픽)을 모두 연다.Nginx HTTP : 포트 80만 열기(일반, 암호화되지 않은 웹 트래픽).Nginx HTTPS : 포트 443(TLS/SSL 암호화 트래픽)만 연다.

구성한 트래픽을 계속 허용하는 가장 제한적인 프로필을 활성화하는 것이 좋다. 

아직 서버에 SSL을 구성하지 않았기 때문에 이 가이드에서는 포트 80에서만 트래픽을 허용하면 된다.

다음을 입력하여 활성화할 수 있다.

 

 

다음을 입력하여 변경 사항을 확인할 수 있다.

 

표시된 출력에 허용된 HTTP 트래픽이 표시되어야 한다.

OutputStatus: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

3단계: 웹 서버 확인

설치 프로세스가 끝나면 Ubuntu 16.04가 Nginx를 시작합니다. 웹 서버는 이미 가동되어 실행 중이어야 한다.

다음 systemd을 입력하여 서비스가 실행 중인지 확인하기 위해 init 시스템을 확인할 수 있다 .

systemctl status nginx

Output● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2016-04-18 16:14:00 EDT; 4min 2s ago Main PID: 12857 (nginx) CGroup: /system.slice/nginx.service ├─12857 nginx: master process /usr/sbin/nginx -g daemon on; master_process on └─12858 nginx: worker process

 

위에서 볼 수 있듯이 서비스가 성공적으로 시작된 것으로 보인다. 

그러나 이것을 테스트하는 가장 좋은 방법은 실제로 Nginx에서 페이지를 요청하는 것이다.

기본 Nginx 방문 페이지에 액세스하여 소프트웨어가 제대로 실행되고 있는지 확인할 수 있다. 서버의 도메인 이름 또는 IP 주소를 통해 액세스할 수 있다.

서버의 도메인 이름을 설정하지 않으려면 서버의 공용 IP 주소를 사용할 수 있다. 서버의 IP 주소를 모르는 경우 명령줄에서 몇 가지 다른 방법으로 얻을 수 있다.

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'


대안은 다음과 같이 입력하는 것.
몇 줄을 다시 얻을 수 있다.웹 브라우저에서 각각을 시도하여 작동하는지 확인할 수 있다.

인터넷의 다른 위치에서 볼 수 있는 공용 IP 주소가 제공된다.

apt-get install curl
curl -4 icanhazip.com

 

서버의 IP 주소 또는 도메인이 있으면 브라우저의 주소 표시줄에 입력

http://server_domain_or_IP

다음과 같은 기본 Nginx 랜딩 페이지가 표시되어야 한다

4단계: Nginx 프로세스 관리

웹 서버를 중지

systemctl stop nginx

서버 시작

systemctl start nginx

서비스를 중지했다가 다시 시작웹 서버가 중지되었을 때 시작

systemctl restart nginx

단순히 구성을 변경하는 경우 Nginx 연결을 끊지 않고 다시 로드

systemctl reload nginx

 

systemctl reload nginx

Nginx 서버 부팅될 동작을 비활성화

systemctl disable nginx

부팅 시 서비스를 다시 활성화하려면 다음을 입력한다

systemctl enable nginx

5단계: 중요한 Nginx 파일 및 디렉토리 익히기

이제 서비스 자체를 관리하는 방법을 알았으므로 몇 분 정도 시간을 내어 몇 가지 중요한 디렉터리와 파일에 익숙해져야 한다.

콘텐츠

/var/www/html: 기본적으로 이전에 본 기본 Nginx 페이지로만 구성된 실제 웹 콘텐츠는 /var/www/html디렉토리 외부에서 제공된다 . 

서버 구성

/etc/nginx: Nginx 구성 디렉토리. 모든 Nginx 구성 파일이 여기에 있다./etc/nginx/nginx.conf: 기본 Nginx 구성 파일입니다. Nginx 전역 구성을 변경하도록 수정할 수 있다./etc/nginx/sites-available/: 사이트별 "서버 블록"을 저장할 수 있는 디렉토리다. Nginx는 디렉터리에 연결되어 있지 않으면 이 디렉터리에 있는 구성 파일을 사용하지 않는다. 일반적으로 모든 서버 블록 구성은 이 디렉터리에서 수행된 다음 다른 디렉터리에 연결하여 활성화된다./etc/nginx/sites-enabled/: 활성화된 사이트별 "서버 블록"이 저장되는 디렉토리일반적으로 sites-available디렉토리 에 있는 구성 파일에 연결하여 생성/etc/nginx/snippets: 이 디렉토리에는 Nginx 구성의 다른 곳에 포함될 수 있는 구성 조각이 포함되어 있다. 잠재적으로 반복 가능한 구성 세그먼트는 스니펫으로 리팩토링하기에 좋은 후보

 

 

--

#0. python3.6 manage.py runserver 0.0.0.0:800 실행하기
python3.6 manage.py runserver 0.0.0.0:800
#1
/etc/nginx/sites-enabled 에서 경로 설정
#2. 
vi default
#3 server_name 이랑 proxy_pass 설정 (아이피 또는 도메인주소 적어도 된다.)
server{
        listen 80;
        server_name kkn.mailplug.co.kr;
        location / {
                proxy_pass http://172.20.20.73:800;
        }
}

#4.
systemctl restart nginx

#5. local로 돌아가기 
#6.
vi /etc/hosts
#7.원격 IP주고tap도메인주소 작성
192.0.0.1	domain.co.krmf
Comments