Dieser Artikel wird in der PagodeTutorial-Kolumne bereitgestellt, um die Bereitstellung des Egg+Web-Projekts im Pagoden-Panel vorzustellen. Ich hoffe, dass er Ihnen bei Bedarf hilfreich sein wird!
Pagode stellt das egg+web-Projekt bereit
Erfordert lokalen Zugriff auf die Remote-Datenbank:
1. Richten Sie eine Sicherheitsgruppe auf Alibaba Cloud ein
2 > Legen Sie den Release-Port fest
Zum Beispiel: 7002 wird für den Zugriff auf Mongodb verwendet, 7001 wird für den Zugriff auf API verwendet
Der einfachste Weg, die Datenbankverbindung zu testen: Greifen Sie einfach direkt im Browser auf Ihren Domainnamen zu: Port oder verwenden Sie den Server ip: port. Wenn Sie einen Domänennamen verwenden, achten Sie darauf, dass der Domänenname aufgelöst und an die IP gebunden wird. Sie können die Eingabeaufforderung des Browsers wie folgt sehen:
3. Lokales MongoDB-Initialisierungsskript
Datenbank initialisieren: app.js
app.beforeStart(async () => { const ctx = app.createAnonymousContext(); const model = ctx.model; const existGroup = await model.UserGroup.findOne({name: '超级管理员'}) if(!existGroup){ const group = await model.UserGroup.create({ "name" : "普通管理员", "idName" : "admin", "role" : 100 }); } console.log("==app beforeStart=="); });
4. Egg-Run-Konfiguration
1. Fügen Sie eine Website hinzu und laden Sie das Projekt hoch (wenn der Code in einem Remote-Warehouse gehostet wird, wird empfohlen, das Terminal-Panel direkt zu öffnen im Website-Verzeichnis, um den Git-Klon durchzuführen)
Hinweis: Löschen Sie beim Hochladen des Projekts die Datei „node_modules“ und laden Sie sie dann hoch. Dies geht viel schneller. Suchen Sie dann „Datei“ => „Terminal“ auf der linken Seite (neben Favoriten). , öffnen Sie die Verbindung, indem Sie das Passwort eingeben (oder verwenden Sie das Terminal des Servers); geben Sie die Befehlszeile ein: cd /www/wwwroot/project-Verzeichnis und installieren Sie dann erneut npm. Dadurch kann die Peinlichkeit vermieden werden, das Projekt bis zu einem gewissen Grad nicht starten zu können.
2. Prozessverwaltung: (muss überprüft werden!)
Sie können index.js erstellen, um den Egg-Dienst zu starten.
Methode 1: Egg verfügt über einen integrierten Prozessmanager. Sie können den Befehl direkt im Projektverzeichnis ausführen : node index.js index.js-Code :
const egg = require('egg'); const workers = Number(process.argv[2] || require('os').cpus().length); egg.startCluster({ workers, baseDir: __dirname, });
Methode 2: Installieren Sie PM2 für die Knotenprozessverwaltung, wählen Sie die Datei aus und klicken Sie auf „Hinzufügen“
Hinweis: Nach der Konfiguration wird festgestellt, dass auf das Frontend zugegriffen werden kann, aber auf Auf die API kann nicht zugegriffen werden. Achten Sie darauf, ob ein Problem mit der Portbelegung vorliegt.
Alle Ports anzeigen. Geben Sie für den Belegungsstatus den Befehl „netstat -ano“ ein und verwenden Sie den Befehl „pkill node“, um die Prozesse stapelweise abzubrechen
3. Fügen Sie einen Reverse-Proxy hinzu und stellen Sie ihn auf den laufenden Port des Egg-Projekts.
5. Packen Sie das Front-End-Projekt, legen Sie es im statischen Egg-Verzeichnis ab und konfigurieren Sie es in config/config.default.js ( Sie können auch ein neues Projekt starten)
config.static = { prefix: '/', dir: [ path.join(__dirname, '../app/public'), //上传文件等的目录 path.join(__dirname, '../dist') //放置前端打包后的文件 ]}
Fügen Sie dann eine Umleitung in router.js hinzu, um Nicht-API-Anfragen an index.html umzuleiten, um die Front-End-Seite anzuzeigen
app.router.redirect('/', '/index.html', 302);
6.
(假设本地已有git并且提交到远程) 1、在宝塔面板,项目路径下打开终端: 2、方法一、文件未提交则直接git clone [url] 方法二、如果文件已提交, 初始化: git init 设置远程仓库地址: git remote origin set-url [url] 或 git remote add origin [url] 设置用户名: git config --global user.name [用户名] git config --global user.email [邮箱] 想要只在当前项目下设置的话把--global去掉 如本地有文件,先执行: git add . git commit -m "init" git push -u origin master 拉取: git config --global credential.helper store //让git记住用户名密码,下次不用填 git pull //输入用户名密码 拉取远程代码便可
Das obige ist der detaillierte Inhalt vonPagoda-Panel stellt Egg+Web-Projekt bereit (mit detaillierten Schritten). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!