1. UmweltvorbereitungServer Alibaba Cloud Server 1 Kern + 2 GB Software Diese Bereitstellung verwendet Docker, daher befindet sich die Softwareumgebung auf Docker. Wir benötigen MySQL 8.0.x, Redis, Nginx. Laden Sie einfach das Image im Voraus herunter 2. Ausführen des ImagesMySQL-Installation Ich habe MySQL in der Version 8.0.x verwendet. Während des Bereitstellungsprozesses traten einige Probleme auf. Diese möchte ich hier mit Ihnen teilen. Docker-Ausführung \ -p 3306:3306 \ --name mysql \ --privilegiert=true \ --restart sofern nicht gestoppt \ -v /home/mysql8.0.20/mysql:/etc/mysql \ -v /home/mysql8.0.20/logs:/logs \ -v /home/mysql8.0.20/data:/var/lib/mysql \ -v /home/mysql8.0.20/mysql-files:/var/lib/mysql-files \ -v /etc/lokaleZeit:/etc/lokaleZeit \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:8.0.20 \ --lower_case_table_names=1 Befehlserklärung: -p Port-Mapping --privileged=true Berechtigungseinstellung zum Mounten von Dateien --restart unless-stopped Automatischen Neustart des Containers nach dem Start festlegen -v /home/mysql8.0.20/mysql:/etc/mysql Konfigurationsdatei mounten -v /home/mysql8.0.20/logs:/logs \ Protokoll mounten -v /home/mysql8.0.20/data:/var/lib/mysql \ Datendatei dauerhaft auf dem Host mounten -v /home/mysql8.0.20/mysql-files:/var/lib/mysql-files MySQL8 muss diesen Ordner später synchronisieren -v /etc/localtime:/etc/localtime Containerzeit wird mit dem Host synchronisiert -e MYSQL_ROOT_PASSWORD=123456 Passwort festlegen -d mysql:8.0.20 Hintergrundstart,mysql --lower_case_table_names=1 MySQL nicht mehr zwischen Groß- und Kleinschreibung unterscheiden (0: Groß- und Kleinschreibung beachten; 1: Groß- und Kleinschreibung nicht beachten)
PS: Beim Start von MySQL 8.0.2 werden unterschiedliche lower_case_table_names-Einstellungen für Server ('1') und Datenwörterbuch ('0') gemeldet. Nach der Installation von MySQL 8.0.20 wurde während der Initialisierung in my.cnf lower_case_table_names=1 gesetzt und beim Starten ein Fehler gemeldet: wie folgt Schauen Sie in der offiziellen MySQL-Dokumentation nach. Dort finden Sie folgende Einträge:
Dies ist nur wirksam, wenn während der Initialisierung lower_case_table_names=1 festgelegt wird, zum Beispiel: --initialize --lower-case-table-names=1 Sehen https://bugs.mysql.com/bug.php?id=90695 Lösung des Problems Erstellen Sie eine Sicherungskopie, löschen Sie den ursprünglichen MySQL-Container, führen Sie MySQL erneut aus und fügen Sie am Ende des Befehls Seit MySQL 8 muss dieser Schritt während der Initialisierung festgelegt werden Redis-Installationdocker run -p 6379:6379 --name redis -v /home/redis/data/:/data -d redis:3.2 redis-server --appendonly yes Befehl Erklärung -v /home/redis/data/:/data Datenverzeichnis mounten --appendonly yes Redis-Persistenz aktivieren Nginx-InstallationDa ich das Verzeichnis mounten musste, habe ich den folgenden Befehl ausgeführt Docker-Ausführung \ -D \ -p 80:80 \ --name nginx \ -v /home/nginx/conf:/etc/nginx \ -v /home/nginx/html:/usr/share/nginx/html \ -v /home/nginx/logs:/var/log/nginx \ nginx Nach dem Ausführen stellte ich fest, dass es immer automatisch beendet wird. Nachdem ich die Protokollinformationen überprüft und auf Baidu gesucht hatte, stellte ich fest, dass das zu mountende Verzeichnis zuerst erstellt werden muss, wenn nginx gestartet wird, da es sonst automatisch beendet wird. Daher müssen wir zuerst das Mount-Verzeichnis erstellen und dann den Befehl ausführen 3. PaketprojektFrontend Ändern Sie Führen Sie den folgenden Befehl aus: npm führt build:prod aus Ein hinteres Ende
Führen Sie den folgenden Befehl aus: mvn sauber MVN-Paket Ein JAR-Paket wird unter IV. BereitstellungFrontend Konfigurieren Sie nginx. Ich habe mit der Konfiguration unter Server { hören Sie 80; server_name localhost; # Sie können die Server-IP anstelle des Standorts / { verwenden. root /usr/share/nginx/html/dist/; index index.html index.htm index-Anmeldung; try_files $uri $uri/ /index.html zuletzt; } Standort /prod-api/ { Proxy_set_header Host $http_host; Proxy_Set_Header X-Real-IP $Remote_Addr; Proxy_Set_Header REMOTE-HOST $remote_addr; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; proxy_pass http://localhost:7777/; # kann durch Server-IP ersetzt werden} }
Fügen Sie beim Konfigurieren des Speicherorts hinteres Ende Ich verwende Docker-Datei VON java:8 VOLUMEN /jiang ADD ruoyi-admin.jar app.jar EXPOSE 7777 EINSTIEGSPUNKT ["java","-jar","app.jar"] Erstellen Sie einen Ordner auf dem Server, legen Sie docker build -t ruoyi-vue.
An diesem Punkt müssen wir nur noch das generierte Bild ausführen docker run -d -p 7777:7777 --name nflj-vue ruoyi-vue Dies ist das Ende dieses Artikels über das Implementierungsbeispiel der Docker-Bereitstellung von Front-End- und Back-End-Trennprojekten. Weitere verwandte Docker-Bereitstellungen von Front-End- und Back-End-Trennprojekten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: So implementieren Sie mehrere Parameter in el-dropdown in ElementUI
Vorwort Dieser Artikel stellt hauptsächlich die r...
Ich möchte Ihnen einen kreativen Einstieg vorstel...
Schritt 1: Laden Sie den MySQL-Treiber herunter c...
Im Projekt werden Sie auf benutzerdefinierte öffe...
Das CSS-Positionsattribut gibt den Positionierung...
1. Umwelt VS 2019 16.9.0 Vorschau 1.0 .NET SDK 5....
Inhaltsverzeichnis 1. Docker-Konfiguration 2. Ers...
In diesem Artikel erfahren Sie, wie Sie Kylin auf...
1. Die Beziehung zwischen Schriftarten und Zeiche...
1: Unterschiede bei Geschwindigkeit und Lademethod...
Das doppelte Absenden von Formularen ist das häuf...
<br />Bedingte Kommentare sind eine einzigar...
Die PC-Version von React wurde für die Verwendung...
Ich erinnere mich, dass mir bei meinem Vorstellun...
Schauen wir uns zunächst meine grundlegende Entwi...