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
MySQL-Replikation - ausführliche Erklärung und ei...
Eine Anwendung einer CSS-Animation mit demselben ...
Mysql5.5 Dual-Maschine-Hot-Standby Durchführung I...
Ich habe vor Kurzem angefangen, Linux zu lernen. ...
...Es ist so, heute wollte ich ein Popup-Fenster m...
CJK ist die Abkürzung für CJK Unified Ideographs,...
Inhaltsverzeichnis 1 Docker installieren 2 Konfig...
Ergebnisse erzielen Bauen Sie zunächst mit HTML e...
1. Schalten Sie die Firewall aus und übertragen S...
Ich bin in letzter Zeit beim Erlernen von Docker ...
Die Schlüsselcodes lauten wie folgt: Code kopieren...
Inhaltsverzeichnis Funktionsdefinitionsmethode Fu...
Inhaltsverzeichnis Was sind Hooks? Klassenkompone...
Inhaltsverzeichnis Vorwort Unterrichtsgrundlagen ...
Wenn die Rahmenlänge früher kleiner als der Conta...