Richten Sie einen Webserver mit CentOS7 + Anaconda + Django + Apache ein

Ich wollte ein mit Anaconda erstelltes Bildverarbeitungsprogramm mit Apache + Django ausführen, also eine einfache Notiz für mich. Ich mache nichts wie SSL oder Sicherheit.

Installation von CentOS 7

Klicken Sie auf der offiziellen Website auf x86_64 von centos7, installieren Sie CentOS-7-x86_64-DVD-2003.iso und brennen Sie es auf einen USB-Speicher. Da es 4,7 GB sind, scheint es mit DVD-R unmöglich. https://www.centos.org/download/

Stecken Sie den USB-Stick mit dem Image in den PC, auf dem Sie ihn installieren möchten, und starten Sie das CentOS-Installationsprogramm. Wenn Sie es starten, werden Sie verschiedene Dinge wie Spracheinstellungen sehen, aber ich denke, es wird einfacher zu verwenden sein, wenn Sie in den Softwareeinstellungen "GNOME Desktop" auswählen. Sie können den Hostnamen in den Netzwerk- und Hostnameneinstellungen festlegen, aber Sie können ihn später ändern, sodass die Standardeinstellung in Ordnung ist. Ich denke, es ist besser, ihn im FQDN-Format einschließlich des Domänennamens festzulegen. Ich werde es so installieren, wie es ist. Die Erklärung dieses Bereichs wird in CentOS installieren auf leicht verständliche Weise beschrieben (ich habe es auch installiert, während ich mir das anschaue). Legen Sie das Root-Passwort auf dem Weg fest, aber denken Sie daran.

Apache installieren

Nach der erfolgreichen Installation von CentOS starten wir das Terminal. Hier installieren wir Apache mit dem Befehl yum.

$ su - 
Passwort: (rootのPasswort)
# yum list | grep httpd
httpd.x86_64
httpd-devel.x86_64
httpd-manual.noarch
httpd-ttools.x86_64
(Verschiedene unten)

# yum -y install httpd httpd-tools httpd-devel httpd-manual
(Installation)

# yum list installed | grep httpd
httpd.x86_64
httpd-devel.x86_64
httpd-manual.noarch
httpd-ttools.x86_64

# systemctl start httpd
# systemctl status httpd
(Hier ● httpd.service - The Apache HTTP Server)Wenn so etwas angezeigt wird, hat es normal begonnen.)

Stellen Sie von hier aus den automatischen Start ein
# systemctl enable httpd
# systemctl is-enabled httpd
enabled

Port 80 öffnen
# iptables -I INPUT 7 -p tcp --dport 80 -j ACCEPT
# service iptables save

# firewall-cmd --add-service=http --permanent
# firewall-cmd --reload
success
# getenforce
Enforcing
# vi /etc/selinux/config
Wechseln Sie von erzwungen zu deaktiviert
SELINUX=disabled

Starten Sie Ihren Computer einmal neu

# getenforce
Disabled

Das ist in Ordnung. Wenn du so weit kommst

# ifconfig
enp3s0: flags=***
        inet 192.168.***.***  netmask 255.255.240.0
        (verschiedene)

Überprüfen Sie die IP-Adresse mit, geben Sie im Browser http : //192.168.〇〇〇.〇〇〇 ein, und wenn die Begrüßungsseite "Testing 123 ..." angezeigt wird, sind Sie fertig.

Installation von Anaconda

Fügen Sie bei der Installation von Anaconda das Versionsverwaltungstool pyenv hinzu.

Paketaktualisierung
# yum update -y

Holen Sie sich pyenv von git
# cd /usr/local/bin
# git clone git://github.com/yyuu/pyenv.git ./pyenv

Legen Sie den Pfad für den Zugriff fest
# echo 'export PYENV_ROOT="/usr/local/bin/pyenv"' >> ~/.bashrc
# echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
# echo 'eval "$(pyenv init -)"' >> ~/.bashrc

# source ~/.bashrc
# exec $SHELL -l
# pyenv --version
pyenv 1.2.20-7-gdd62b0d

In diesem Fall ist die Installation von pyenv abgeschlossen. Jetzt installieren wir Anaconda.

# pyenv install --list | grep anaconda
(Es wird verschiedene Pakete geben, also holen Sie sich die neueste Version.)
(Anaconda3 passend zu dem Modul, das ich später verwenden werde-4.4.Ich habe 0 gewählt)
# pyenv install anaconda3-4.4.0
# pyenv rehash
# pyenv global anaconda3-4.4.0
# pyenv version
anaconda3-4.4.0 (set by /usr/local/bin/pyenv/version)
# python -V
Python 3.6.1

Damit ist die Anaconda-Installation abgeschlossen.

Django Installation

Ich möchte Django verwenden, also werde ich es installieren.

Aktualisierung von conda
# conda update conda
# conda update --all
# conda install django

Da es eine große Sache ist, werde ich eine virtuelle Umgebung erstellen.

# source create -n django
# source activate django

Übrigens beim Verlassen der virtuellen Umgebung

# source deactivate django

Sagen wir.

Überprüfen Sie, ob Sie Django tatsächlich verwenden können.

# cd /var/www/
Der Name hier ist nicht komon, Sie können einen beliebigen Namen verwenden(Mysite etc.)
# django-admin startproject komon
# cd komon
# python manage.py makemigrations
# python manage.py migrate
# python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

*Mond**, 2020 - **:**:**
Django version 3.1, using settings 'komon.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-

Versuchen Sie, http : //127.0.0.1:8000 in Ihren Browser einzugeben. Wenn Sie eine raketenähnliche Begrüßungsseite sehen, sind Sie fertig.

Lassen Sie uns nun die Zeichen anzeigen.

# python manage.py startapp myapp
# cd myapp
# vi views.py ->Bearbeiten
# vi urls.py  ->Bearbeiten

views.py


from django.shutcuts import render
# create your views here.
from django.http import HttpResponse

def index(request):
  return HttpResponse("Hello, World!")

urls.py


from django.urls import path
from . import views

urlpatterns = [
  path('', views.index, name='index'),
]
# cd ..
# cd komon
# vi urls.py  ->Bearbeiten
# vi settings.py  ->Bearbeiten

urls.py


from django.contrib import admin
from django.urls import path, include
urlpatterns = [
  path('admin/', admin.site.urls),
  path('', include('myapp.urls')),
]

settings.py


DEBUG = False  <-Wechseln Sie von Richtig zu Falsch
ALLOWED_HOSTS = ['*']

INSTALLED_APPS - [
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'myapp',  <-hinzufügen
]

ROOT_URLCONF = 'komon.urls'

WSGI_APPLICATION = 'komon.wsgi.application'

Damit sind die Einstellungen abgeschlossen.

WSGI-Installation

Ich denke, es ist relativ möglich, Django zu installieren, aber der Stolperstein ist die Installation von WSGI. Apache unterstützt Python standardmäßig nicht, daher scheint es, als würde man wsgi verwenden, um Django zu erkennen. Ich habe bisher verschiedene Dinge mit yum installiert, aber es scheint, dass die Installation mit yum eine Verbindung mit dem Python2-System herstellt, das standardmäßig in CentOS enthalten ist. Verwenden wir also pip.

# pip install mod_wsgi
# python -c "import sys;print(sys.path)"
['','/usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python36.zip', 
'/usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6', 
'/usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6/lib-dynload', 
'/usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages']
Weil es herauskommt
/usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-Geben Sie Pakete mit dem folgenden Befehl ein.

# ls /usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/mod_wsgi/server/
mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
Weil es wird
/usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
Lass uns erinnern.

Von hier aus werden wir uns mit dem zuvor erstellten Django-Projekt verbinden.

# cd /etc/httpd/conf.d/
# vi django.conf

Da es hier ein leerer Text sein wird, werde ich Folgendes schreiben.

django.conf


LoadModule wsgi_module /usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so (Der von früher)
ServerName 192.168.***.*** (IP Adresse)
WSGIScriptAlias / /var/www/komon/komon/wsgi.py
WSGIPythonPath /var/www/komon:/usr/local/bin/pyenv/versions/anaconda3-4.4.0/bin/python

<Directory /var/www/komon/komon>
  <Files wsgi.py>
    Require all granted
  </Files>
</Directory>
# systemctl restart httpd

Es ist in Ordnung, wenn Sie den Browser starten, http : //192.168.〇〇〇.〇〇〇 eingeben und Hallo, Welt! Wird angezeigt. Wenn es sich um dasselbe Netzwerk handelt, können Sie es von anderen PCs aus sehen. Fortsetzung unter https://qiita.com/hinoma/items/9c57a1cf214ebf137ace

Referenzierte URL / Site

https://www.rem-system.com/centos-install/ https://hombre-nuevo.com/python/python0032/ https://engineers.weddingpark.co.jp/?p=1031 https://qiita.com/dekosuke-menti/items/e416f198980c0fd6e75b

Wie ich am Anfang schrieb, habe ich nichts gegen die Sicherheit unternommen. Ich denke, dass Fehler usw. den Teil einnehmen, der sich auf mod_wsgi bezieht, daher denke ich, dass es gut ist, den Fehlercode usw. zu überprüfen.

Recommended Posts

Richten Sie einen Webserver mit CentOS7 + Anaconda + Django + Apache ein
Richten Sie mit Docker einen Samba-Server ein
Richten Sie einen einfachen HTTPS-Server mit Asyncio ein
Richten Sie einen lokalen Server mit Go-File-Upload ein.
Richten Sie einen lokalen Server mit Go-File-Download ein.
Richten Sie mit CentOS Linux 8 + Apache mod_ssl einen Reverse-Proxy für den https-Server ein
[Vagrant] Richten Sie einen einfachen API-Server mit Python ein
Erstellen Sie eine Webanwendung mit Django
Django + Apache mit mod_wsgi unter Windows Server 2016
Richten Sie mit Twisted einen Mailserver ein
CentOS 6.4, Python 2.7.3, Apache, mod_wsgi, Django
Ich habe eine WEB-Bewerbung bei Django gemacht
Senden Sie E-Mails mit mailx an einen mit Python eingerichteten Dummy-SMTP-Server.
Erstellen Sie mit Docker eine CentOS Linux 8-Umgebung und starten Sie Apache HTTP Server
Richten Sie mit http.server in Python 3 in 30 Sekunden einen lokalen Webserver ein
Vorgehensweise zum Erstellen einer Django-Umgebung mit Win10 WSL Ubuntu18.04 + Anaconda + Apache2
Richten Sie mit Python 3 einen einfachen HTTPS-Server ein
Starten Sie mit Docker einen einfachen Python-Webserver
Richten Sie einen Test-SMTP-Server in Python ein.
Richten Sie einen UDP-Server in der Sprache C ein
Starten Sie einen Webserver mit Python und Flask
So richten Sie einen lokalen Entwicklungsserver ein
Richten Sie einen einfachen SMTP-Server in Python ein
Einführung und Verwendung der Python-Flasche ・ Versuchen Sie, einen einfachen Webserver mit Anmeldefunktion einzurichten
Quellkompilieren Sie Apache2.4 + PHP7.4 mit Raspberry Pi und erstellen Sie einen Webserver --2 PHP Einführung
Quellkompilieren Sie Apache2.4 + PHP7.4 mit Raspberry Pi und erstellen Sie einen Webserver. 1. Apache-Einführung
Rückblick auf die Erstellung eines Webdienstes mit Django 1
Richten Sie mit Samba einen Dateiserver unter Ubuntu 20.04 ein
Ich habe Django von Grund auf neu eingerichtet (Vagrant, Centos, Python3)
Rückblick auf die Erstellung eines Webdienstes mit Django 2
Richten Sie in 30 Minuten einen kostenlosen Server unter AWS ein
[Teil 1] Lassen Sie uns einen Micra-Server unter Linux einrichten
Erstellen Sie einen Home Music Server mit Centos8 + Universal Media Server
Starten Sie Django auf einem Docker-Container mit Docker-Compose Up
Richten Sie einen Minecraft-Ressourcenserver (Spigot) über Docker ein
Stellen Sie Echtzeit-Webanwendungen mit swampdragon x apache bereit
Richten Sie mit Sublime Text 2 eine Python-Entwicklungsumgebung ein
Quellkompilieren Sie Apache2.4 + PHP7.4 mit Raspberry Pi und erstellen Sie einen Webserver --3. Verwenden Sie MySQL
Richten Sie eine Python-Entwicklungsumgebung mit Visual Studio Code ein
Einfache Erstellung und Bereitstellung von Webservern mit EB CLI + git + Django
Erstellen Sie eine Homepage mit Django
Erstellen Sie eine Webanwendung mit Django
Erstellen Sie mit Falcon einen Light-Speed-Web-API-Server
Richten Sie Ihren eigenen Webserver in Ihrem Pepper-App-Projekt ein
Laden Sie den mit Gunicorn eingerichteten Server neu, wenn Sie den Code ändern
Erstellen Sie eine Web-API, die Bilder mit Django liefern kann
Echtzeit-Web mit Django-Kanälen
(Für Anfänger) Versuchen Sie, mit Django eine einfache Web-API zu erstellen
Ich habe mit Razpai einen Webserver erstellt, um Anime zu schauen
Entwicklungspraxis für Webanwendungen: Erstellen Sie mit Django eine Seite zum Erstellen von Schichten! (Schichterstellungsseite)
Startete eine Webanwendung auf AWS mit Django und wechselte Jobs
Aufbau eines Linux-Webservers (Ubuntu & Apache)
Richten Sie pygit2 mit statischem Link ein
Erstellen eines Flask-Servers mit Docker
Stellen Sie die Django-Anwendung mit Docker bereit
Django-Tipps - Erstellen Sie eine Ranking-Site mit Django-
Legen Sie mit Apache + mod_wsgi mehrere WSGIPythonPath fest
Erstellen eines Servers mit CONOHA VPS (CentOS)