Maison > Article > Les sujets > Le panel Pagoda déploie le projet egg+web (avec des étapes détaillées)
Cet article est fourni par la rubrique Pagodatutoriel pour présenter comment déployer le projet egg+web dans le panneau Pagoda. J'espère qu'il vous sera utile si vous en avez besoin !
Pagoda déploie le projet egg+web
Nécessite un accès local à la base de données distante Remarque :
1. Configurez un groupe de sécurité sur Alibaba Cloud
2. Pagoda installe "System Firewall 2.9" =. > Définissez le port de release
Par exemple : 7002 est utilisé pour accéder à mongodb, 7001 est utilisé pour accéder à l'api
La manière la plus simple de tester la connexion à la base de données : accédez simplement à votre nom de domaine : port directement dans le navigateur ou utilisez le serveur ip : port. Si vous utilisez un nom de domaine, faites attention. Le nom de domaine doit être résolu et lié à l'adresse IP. Vous pouvez voir l'invite du navigateur comme suit :
3.
Initialiser la base de données : 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. Configuration d'Egg run
1. Ajoutez un site Web et téléchargez le projet (si le code est hébergé dans un entrepôt distant, il est recommandé d'ouvrir directement le panneau de connexion dans le répertoire du site Web pour effectuer git clone)
Remarque : lors du téléchargement du projet, supprimez le fichier node_modules, puis téléchargez-le. Cela sera beaucoup plus rapide, puis recherchez "Fichier" => "Terminal" sur la gauche (à côté des Favoris). , ouvrez la connexion en saisissant le mot de passe (ou utilisez le terminal du serveur) ; entrez la ligne de commande : répertoire cd /www/wwwroot/project, puis ré-installez npm. Cela peut éviter dans une certaine mesure l’embarras de ne pas pouvoir démarrer le projet.
2. Gestion des processus : (à vérifier !)
Vous pouvez créer index.js pour démarrer le service egg
Méthode 1, egg a un gestionnaire de processus intégré, vous pouvez exécuter la commande directement dans le répertoire du projet : node index.js code index.js :
const egg = require('egg'); const workers = Number(process.argv[2] || require('os').cpus().length); egg.startCluster({ workers, baseDir: __dirname, });
Méthode 2, installez PM2 pour la gestion des processus de nœud, sélectionnez le fichier et cliquez sur "Ajouter"
Remarque : Après configuration, il s'avère que le front-end est accessible mais le l'API n'est pas accessible, faites attention pour voir s'il y a un problème d'occupation du port
Afficher tous les ports Pour l'état d'occupation, entrez la commande : `netstat -ano` et utilisez la commande `pkill node` pour tuer les processus par lots
3. Ajoutez un proxy inverse et envoyez-le par proxy au port en cours d'exécution du projet egg
5. Emballez le projet front-end, placez-le dans le répertoire statique egg et configurez-le dans config/config.default.js ( vous pouvez également démarrer un nouveau projet)
config.static = { prefix: '/', dir: [ path.join(__dirname, '../app/public'), //上传文件等的目录 path.join(__dirname, '../dist') //放置前端打包后的文件 ]}
Ajoutez ensuite une redirection dans router.js pour rediriger les requêtes non-api vers index.html Pour afficher la page front-end
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 //输入用户名密码 拉取远程代码便可
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!