웹 서버 (예: Apache 또는 Nginx)를 설정하는 방법과 예제를 제공하겠습니다. 아래에는 각각의 웹 서버에 대한 기본 설정 방법과 예제가 포함되어 있습니다.
Apache 웹 서버 설정 (mod_wsgi 사용)
-
Apache 및 mod_wsgi 설치:
먼저 Apache 웹 서버와 mod_wsgi 모듈을 설치합니다.
sudo apt-get install apache2 libapache2-mod-wsgi-py3
-
가상 호스트 설정:
Apache의 가상 호스트 설정 파일을 만들어서 Django 애플리케이션과 연결합니다. 예를 들어,
/etc/apache2/sites-available/myapp.conf
파일을 만들고 다음과 같이 설정합니다:apache```
<VirtualHost *:80> ServerAdmin webmaster@myapp.com ServerName myapp.com DocumentRoot /path/to/your/django/project
WSGIDaemonProcess myapp python-home=/path/to/your/venv python-path=/path/to/your/django/project
WSGIProcessGroup myapp
WSGIScriptAlias / /path/to/your/django/project/myapp/wsgi.py
<Directory /path/to/your/django/project>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost> ```
위에서 `/path/to/your/django/project`와 `/path/to/your/venv`를 Django 프로젝트와 가상 환경의 경로로 바꿉니다.
-
가상 호스트 활성화 및 Apache 재시작:
가상 호스트를 활성화하고 Apache를 재시작합니다.
sudo a2ensite myapp.conf
sudo systemctl restart apache2
Nginx 웹 서버 설정 (uWSGI 사용)
-
Nginx 및 uWSGI 설치:
Nginx 웹 서버와 uWSGI 애플리케이션 서버를 설치합니다.
sudo apt-get install nginx uwsgi uwsgi-plugin-python3
-
Nginx 가상 호스트 설정:
Nginx의 가상 호스트 설정 파일을 만들고 다음과 같이 설정합니다. 예를 들어,
/etc/nginx/sites-available/myapp
파일을 만들고 다음과 같이 설정합니다:nginx``` server { listen 80; server_name myapp.com www.myapp.com;
location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /path/to/your/django/project; } location / { include uwsgi_params; uwsgi_pass unix:/path/to/your/django/project/myapp.sock; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } ``` 위에서 `/path/to/your/django/project`를 Django 프로젝트의 경로로 바꿉니다.
-
심볼릭 링크 생성 및 Nginx 재시작:
가상 호스트 설정 파일을
/etc/nginx/sites-enabled
디렉토리로 심볼릭 링크를 생성하고 Nginx를 재시작합니다.
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo systemctl restart nginx
이제 Apache 또는 Nginx를 사용하여 Django 애플리케이션을 호스팅하는 방법을 알게 되었습니다. 애플리케이션과 서버 구성에 따라 설정 내용을 조정해야 할 수 있습니다.