Setup CentOS7 Nginx Uwsgi to serve Django Applications
Spisu treści:
- Instalowanie Django na CentOS 7
- 1. Instalowanie Pythona 3
- 2. Tworzenie środowiska wirtualnego
- 3. Instalowanie Django
- 4. Tworzenie projektu Django
- 5. Testowanie serwera programistycznego
- 6. Dezaktywacja środowiska wirtualnego
- Wniosek
Django jest darmową i otwartą platformą internetową wysokiego poziomu Python zaprojektowaną, aby pomóc programistom w tworzeniu bezpiecznych, skalowalnych i łatwych w utrzymaniu aplikacji internetowych.
Istnieją różne metody instalacji Django, w zależności od potrzeb. Może być zainstalowany w całym systemie lub w środowisku wirtualnym Python za pomocą pip. Pakiety Django są również zawarte w repozytoriach CentOS i można je instalować za pomocą menedżera pakietów
yum
, ale są one nieaktualne.
W tym samouczku będziemy instalować i konfigurować najnowszą stabilną wersję Django na maszynie CentOS 7 w środowisku wirtualnym Python.
Głównym celem środowisk wirtualnych Python jest stworzenie izolowanego środowiska dla różnych projektów Python. W ten sposób możesz mieć wiele różnych środowisk Django na jednym komputerze i zainstalować określoną wersję modułu dla każdego projektu bez obawy, że wpłynie to na inne instalacje Django. Jeśli zainstalujesz Django w środowisku globalnym, możesz zainstalować tylko jedną wersję Django na swoim komputerze.
Instalowanie Django na CentOS 7
Poniższe sekcje zawierają instrukcje krok po kroku dotyczące instalacji Django w środowisku wirtualnym Python na CentOS 7.
1. Instalowanie Pythona 3
Będziemy instalować Python 3.6 z repozytoriów SCL.
CentOS 7 jest dostarczany z Pythonem 2.7.5, który jest kluczową częścią podstawowego systemu CentOS. SCL pozwoli ci zainstalować nowsze wersje Pythona 3.x wraz z domyślnym pythonem v2.7.5, aby narzędzia systemowe takie jak yum nadal działały poprawnie.
Zacznij od włączenia SCL, instalując plik wydania CentOS SCL, który jest zawarty w repozytorium dodatków CentOS:
sudo yum install centos-release-scl
Po włączeniu repozytorium zainstaluj Python 3.6 za pomocą następującego polecenia:
sudo yum install rh-python36
Po zainstalowaniu Python 3.6 jesteśmy gotowi do stworzenia wirtualnego środowiska dla naszej aplikacji Django.
2. Tworzenie środowiska wirtualnego
Począwszy od Pythona 3.6, zalecanym sposobem stworzenia środowiska wirtualnego jest użycie modułu
venv
.
Przejdź do katalogu, w którym chcesz przechowywać środowiska wirtualne Python 3. Może to być katalog domowy lub dowolny inny katalog, w którym użytkownik ma uprawnienia do odczytu i zapisu.
Utwórz nowy katalog dla aplikacji Django i włóż do niego cd:
mkdir my_django_app
cd my_django_app
Aby uzyskać dostęp do Pythona 3.6, musisz uruchomić nową instancję powłoki za pomocą narzędzia
scl
:
scl enable rh-python36 bash
Uruchom następujące polecenie, aby utworzyć nowe środowisko wirtualne:
python3 -m venv venv
Powyższe polecenie tworzy katalog o nazwie
venv
, który zawiera kopię pliku binarnego Python, menedżera pakietów Pip, standardowej biblioteki Python i innych plików pomocniczych. Możesz użyć dowolnej nazwy dla środowiska wirtualnego.
Aby rozpocząć korzystanie z tego środowiska wirtualnego, musisz je aktywować,
activate
skrypt
activate
:
source venv/bin/activate
Po aktywacji katalog bin środowiska wirtualnego zostanie dodany na początku zmiennej
$PATH
. Również monit powłoki zmieni się i wyświetli nazwę wirtualnego środowiska, którego aktualnie używasz. W naszym przypadku jest to
venv
.
3. Instalowanie Django
Teraz, gdy środowisko wirtualne jest aktywowane, możesz użyć
pip
menedżera pakietów Python, aby zainstalować Django:
pip install django
W środowisku wirtualnym można użyć polecenia
pip
zamiast
pip3
i
python
zamiast
python3
.
Aby zweryfikować instalację, użyj następującego polecenia, które wydrukuje wersję Django:
python -m django --version
W chwili pisania tego artykułu najnowsza oficjalna wersja Django to 2.1.2
2.1.2
Twoja wersja Django może różnić się od pokazanej tutaj.
4. Tworzenie projektu Django
Aby utworzyć nowy projekt Django o nazwie
mydjangoapp
użyj narzędzia wiersza polecenia
django-admin
:
django-admin startproject mydjangoapp
Powyższe polecenie utworzy katalog
mydjangoapp
w bieżącym katalogu.
tree mydjangoapp/
mydjangoapp/ |-- manage.py `-- mydjangoapp |-- __init__.py |-- settings.py |-- urls.py `-- wsgi.py
W tym katalogu znajdziesz główny skrypt do zarządzania projektami o nazwie
manage.py
oraz inny katalog zawierający konfigurację bazy danych oraz Django i ustawienia specyficzne dla aplikacji.
Przeprowadź migrację bazy danych i utwórz użytkownika administracyjnego.
Zacznij od
mydjangoapp
katalogu
mydjangoapp
:
cd mydjangoapp
Domyślnie Django używa bazy danych SQLite. Do aplikacji produkcyjnych możesz użyć bazy danych PostgreSQL, MariaDB, Oracle lub MySQL.
Uruchom następującą komendę, aby przeprowadzić migrację bazy danych:
python manage.py migrate
Dane wyjściowe będą wyglądać mniej więcej tak:
Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial… OK Applying auth.0001_initial… OK Applying admin.0001_initial… OK Applying admin.0002_logentry_remove_auto_add… OK Applying admin.0003_logentry_add_action_flag_choices… OK Applying contenttypes.0002_remove_content_type_name… OK Applying auth.0002_alter_permission_name_max_length… OK Applying auth.0003_alter_user_email_max_length… OK Applying auth.0004_alter_user_username_opts… OK Applying auth.0005_alter_user_last_login_null… OK Applying auth.0006_require_contenttypes_0002… OK Applying auth.0007_alter_validators_add_error_messages… OK Applying auth.0008_alter_user_username_max_length… OK Applying auth.0009_alter_user_last_name_max_length… OK Applying sessions.0001_initial… OK
Po migracji bazy danych utwórz użytkownika administracyjnego, aby móc korzystać z interfejsu administratora Django:
python manage.py createsuperuser
Polecenie wyświetli monit o podanie nazwy użytkownika, adresu e-mail i hasła administratora.
Username (leave blank to use 'linuxize'): admin Email address: [email protected] Password: Password (again): Superuser created successfully.
5. Testowanie serwera programistycznego
Uruchom programistyczny serwer WWW za pomocą skryptu
manage.py
a następnie opcji
runserver
:
python manage.py runserver
Zobaczysz następujące dane wyjściowe:
Performing system checks… System check identified no issues (0 silenced). October 20, 2018 - 11:16:28 Django version 2.1.2, using settings 'mydjangoapp.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
Jeśli zainstalowałeś Django na maszynie wirtualnej i chcesz uzyskać dostęp do serwera programistycznego Django, musisz edytować plik
settings.py
i dodać adres IP serwera wewnątrz listy
ALLOWED_HOSTS
.
Otwórz
http://127.0.0.1:8000
w przeglądarce, a zobaczysz domyślną stronę docelową Django:



Aby zatrzymać serwer programistyczny, wpisz
CTRL-C
w swoim terminalu.
6. Dezaktywacja środowiska wirtualnego
Po zakończeniu pracy dezaktywuj środowisko, wpisując
deactivate
a powrócisz do normalnej powłoki.
Wniosek
Nauczyłeś się, jak tworzyć wirtualne środowisko Python i instalować Django na komputerze CentOS 7. Aby utworzyć dodatkowe środowiska programistyczne Django, powtórz kroki opisane w tym samouczku.
python centosJak zainstalować i skonfigurować serwer NFS na Centos 8
W tym samouczku wykonasz kroki niezbędne do skonfigurowania serwera NFSv4 na CentOS 8. Pokażemy także, jak zamontować system plików NFS na kliencie.
Jak zainstalować django na Ubuntu 18.04
Django jest darmową i otwartą platformą internetową wysokiego poziomu Python zaprojektowaną, aby pomóc programistom w tworzeniu bezpiecznych, skalowalnych i łatwych w utrzymaniu aplikacji internetowych. Ten samouczek zawiera instrukcje krok po kroku dotyczące instalacji Django w środowisku wirtualnym Python w systemie Ubuntu 18.04.
Jak zainstalować django na systemie Linux Debian 9
Django jest najpopularniejszym frameworkiem Python zaprojektowanym, aby pomóc programistom w tworzeniu bezpiecznych, skalowalnych i łatwych w utrzymaniu aplikacji internetowych. Django można zainstalować w całym systemie lub w środowisku wirtualnym Python za pomocą pip.







