Django/인프라

Nginx 설치# nginx 설치 : 80번 포트에서 구동된다.sudo apt install -y nginx 리버스 프록시로 장고로 요청 전달# nginx 파일을 만들어서 아래의 내용을 작성후 파일을 이동시켜준다.vim nginx.confsudo mv nginx.conf /etc/nginx/sites-available/default# /etc/nginx/sites-enabled/defaultserver { server_name _; server_tokens off; location / { # 원래 요청의 Host 헤더를 전달 proxy_set_header Host $http_host; # 원래 요청의 프로토콜(http/https)을 전달 => 이 헤더를 전달하면 HTTPS 서비스 시에 CSRF_TRUST..
Nginx는 웹 서버 소프트웨어로, 높은 성능과 확장성을 제공하는 동시에, 리버스 프록시, 로드 밸런서, 메일 프록시로도 사용가능하다. 특히 고성능 HTTP서버로서의 역할을 강조하는데, 동시 접속 처리에 뛰어난 성능을 보여 많은 대형 웹사이트에서 사용되고 있다. 주요 기능 & 사용 사례웹 서버 (HTTP)정적 파일 (HTML, CSS, JavaScript, 이미지 등)을 제공한다.동적 컨텐츠 (Python, PHP 등)을 제공해 주며, FastCGI, uwsgi, SCGI, Memcached 등의 프로토콜을 통해 제공한다. 정적 웹사이트 또는 콘텐츠 제공 네트워크 서버로 사용된다.동적 웹 애플리케이션의 프론트엔드 서버로 사용된다. 리버스 프록시클라이언트의 요청을 백엔드 서버로 전달하고, 응답 클라이언트로..
systemd 서비스 파일 생성/etc/systemd/system/django.serviceetc 파일이 root 권한으로 설정되어 있기 때문에, cat 명령어를 이용하여 파일 생성 후, sudo를 이용하여 파일을 이동시켜주어야 한다.[Unit]# 서비스에 대한 설명과 의존성을 정의Description=django daemon by gunicorn# 네트워크 서비스가 필요함을 의미After=network.target[Service]# 서비스 실행에 필요한 설정User=ubuntuGroup=ubuntuWorkingDirectory=/srv/course-repo/myprojExecStart=/srv/venv/bin/gunicorn \ --config /srv/config/gunicorn.conf.py \ -..
가상환경 생성 및 활성화# 현재 유저 확인ubuntu@django-instance:~$ whoamiubuntuubuntu@django-instance:~$ groupsubuntu adm dialout cdrom floppy sudo audio dip video plugdev netdev lxdubuntu@django-instance:~$ cd /srvubuntu@django-instance:/srv$ ls -altotal 8drwxr-xr-x 2 root root 4096 Jul 1 15:38 .drwxr-xr-x 19 root root 4096 Aug 5 06:54 ..# 권한 변경ubuntu@django-instance:/srv$ sudo chown ubuntu:ubuntu /srv/ubuntu..
우분투 22.04 LTS는 python 명령을 지원하지 않고, python3만을 사용한다.python 명령이 python3로 동작하도록 변경할 수 있다. ubuntu@django-instance:~$ python3 --versionPython 3.10.12ubuntu@django-instance:~$ python --versionCommand 'python' not found, did you mean: command 'python3' from deb python3 command 'python' from deb python-is-python3 ubuntu@django-instance:~$ sudo add-apt-repository ppa:deadsnakes/ppaubuntu@django-instanc..