Обновление порта по умолчанию для сервера Django

Я хочу сделать сайт, созданный на сервере Django (размещенном на AWS EC2), публичным. В качестве первого шага я хочу изменить порт по умолчанию с 0.0.0.0:8000 на 0.0.0.0:80 или 0.0.0.0.0.

Каждый раз, когда я меняю порт и запускаю сервер, он выдает следующую ошибку:

System check identified no issues (0 silenced).
October 08, 2022 - 15:55:12
Django version 3.2.12, using settings 'config.settings'
Starting development server at http://0.0.0.0:80/
Quit the server with CONTROL-C.
Error: You don't have permission to access that port.

Если я использую sudo или получаю доступ к нему как пользователь root, он выдает мне следующую ошибку:

(venv) [ec2-user@ip-172-31-19-84 config]$ sudo python3 manage.py runserver 0.0.0.0:80
Traceback (most recent call last):
  File "manage.py", line 11, in main
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 14, in main
    "Couldn't import Django. Are you sure it's installed and "
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

И как пользователь root:

(venv) [root@ip-172-31-19-84 config]# python3 manage.py runserver 0.0.0.0:80
Traceback (most recent call last):
  File "manage.py", line 11, in main
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 14, in main
    "Couldn't import Django. Are you sure it's installed and "
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

Вот мой файл manage.py:

#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys


def main():
    """Run administrative tasks."""
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')

    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        )
    execute_from_command_line(sys.argv)


if __name__ == '__main__':
    main()
Вернуться на верх