Avant-propos
Ces derniers jours, j'ai enfin terminé un projet de version démo de trois mois de l'entreprise. Durant cette période, j'ai eu de nombreuses disputes avec le backend de l'entreprise à propos de l'API : « Mon interface va bien, c'est toi. Ce n'est pas la bonne façon de demander ! ', 'Les paramètres que vous avez demandés doivent être erronés'... Des problèmes comme ceux-ci ont persisté au cours des trois derniers mois, simplement parce que nous n'avons pas de bonnes habitudes de gestion des interfaces, qu'un tas d'outils sans problème n'ont pas été utilisés, et la définition de l'interface est très aléatoire, essentiellement transmise verbalement. Par conséquent, je pense que la plate-forme de gestion d'interface YApi doit être utilisée en premier. De plus, Zhang Xinxu appelle également à la gestion d'interface, et le front-end devrait également utiliser les outils. Libérez la productivité et améliorez l’efficacité !
Installer node
Parce que l'installation de Yapi doit s'appuyer sur node. Google les différentes méthodes d'installation de node dans l'environnement centos, et il en existe des milliers. Mais j'ai quand même marché sur un piège. Je ne sais pas pourquoi ma méthode d'installation du code source basée sur wget a échoué. Bien sûr, ce n'était pas un échec complet, c'est parce que j'ai attendu trop longtemps pendant make, donc j'ai directement ctrl. +c. Il est préférable d'utiliser nvm pour l'installer, même si je ne sais pas si c'est raisonnable. Veuillez coder pour parler :
-
Wget téléchargez et installez nvm
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
ou Curl
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
-
Une fois le téléchargement terminé, rejoignez l'environnement système
source ~/.bashrc
-
Vérifiez l'installation
command -v nvm
-
Voir la télécommande version du nœud
nvm ls-remote
-
Installation La version requise nécessite nodejs (7.6+)
nvm install 10.2.1
Installer mongdb
yapi repose sur mongodb (2.6+). En théorie, Centos mongdb peut être configuré ici, à condition que centos soit 64 bits.
De même, il existe des milliers de méthodes d'installation. Utilisez ici yum pour installer
-
Modifiez la configuration de gestion des packages yum
vi /etc/yum.repos.d/mongodb-org-3.4.repo // 会自动新建mongodb-org-3.4.repo文件
-
Copiez les informations de configuration suivantes :
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=0 enabled=1
-
Installez mongodb.
yum install -y mongodb-org // 一路yes安装mongodb
-
Modifier la configuration de mongdb (réseau public accessible : 127.0.0.1 => 0.0.0.0)
vi /etc/mongod.conf
-
Démarrer mongodb
systemctl start mongod.service // 启动mongodb
S'il s'agit d'un serveur Alibaba Cloud, ajoutez le port 12071 au groupe de sécurité pour accédez-y via l'adresse publique. Bien sûr, pour le moment, c'est dangereux
À l'heure actuelle, n'importe qui peut falsifier vos données en vous connectant à vos données mongdb. Essayez d'ajouter une vérification en ce moment. recherchez-le vous-même sur Google, par exemple :
mongo --port 27017 use admin db.createUser( { user: "adminUser", pwd: "adminPass", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
## Déployez Yapi
Selon la documentation officielle, il existe deux méthodes de déploiement. Comme je n'ai pas réussi à installer la première méthode sur mon ordinateur il y a quelques jours, j'ai utilisé la deuxième méthode, plus compliquée.
mkdir yapi cd yapi git clone https://github.com/YMFE/yapi.git vendors //或者下载 zip 包解压到 vendors 目录 cp vendors/config_example.json ./config.json //复制完成后请修改相关配置 cd vendors npm install --production --registry https://registry.npm.taobao.org npm run install-server //安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置 node server/app.js //启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候
Ceci n'est déployé que temporairement avec succès, mais le processus yapi doit être protégé en permanence. Ici, nous utilisons pm2
-
pour installer pm2
npm i pm2 -g
-
Basculez vers le répertoire des fournisseurs de yapi et exécutez pm2 start
pm2 start server/app.js --watch
.
正常的话,应该能正常访问到,默认接口是3000
Résumé
À ce stade, vous avez cloné le code source de Yapi sur votre propre intranet. Bien sûr, vous rencontrerez encore de nombreux pièges au cours du processus. Les principaux pièges que j'ai rencontrés étaient. Pièges de l'authentification mongdb : par exemple, les paramètres d'authentification ne sont pas définis correctement, le fichier de configuration est mal configuré, ou même pm2 ne parvient pas à démarrer yapi. Bref, essayez de plus en plus, si vous ne pouvez pas le résoudre vous-même, s'il vous plaît. demandez conseil à un expert.
① Échec de l'obtention de l'authentification mongdb
Solution : Vérifiez la configuration de mongdb ? Le paramètre d'authentification a-t-il réussi ? Le fichier de configuration de yapi a-t-il été correctement configuré ? pour démarrer Yapi et continuer à redémarrer
Solution : Vérifiez dans le journal pm2 que le service précédemment ouvert via npm n'est pas terminé, ce qui entraîne l'occupation du port avant ctrl+c. Tout va bien
Les deux premiers problèmes ne surviennent pas. Cela ne semble pas être des pièges, ce ne sont rien de plus que des barrages routiers
③La boîte aux lettres configurée échoue
Solution : Il doit y avoir une mauvaise configuration de la boîte aux lettres, alors réessayez
Je ne sais pas s'il y a quelque chose ! mal avec la boîte aux lettres NetEase ou quelque chose comme ça. Changez-le simplement en QQ. Après avoir modifié le fichier config.json, j'ai pensé que tout irait bien si je réexécutais install-server. devrait être que les informations de l'administrateur existent déjà dans yapi dans mongdb. S'il n'y a pas de données sous admin, supprimez-les. S'il y en a, modifiez simplement les données. J'étais très paresseux, alors j'ai simplement utilisé mongdb compass pour supprimer l'intégralité de Yapi, puis j'ai supprimé la base de données et je me suis enfui !不足之处欢迎拍砖指正!
yapi开启https访问
虽然对小白来说https然并卵,我还是想捣鼓一下试着通过https来访问我的yapi,首先证书我是有了,获取证书的方法也有千千万万种,我这里用的阿里云的免费证书,总之有证书的话应该能拿到证书文件如.pem、.key、.pfx之类文件。技术菜的我天真的以为还能开启3000端口的https访问,结果啪啪啪打脸打的很清脆,于是乎把https的端口设定成了8443。大概步骤如下:
- 获取证书文件(默认有证书并且能拿到.key和.pem文件或者.pfx文件)
- 上传证书(我直接放在app.js同级,根据个人喜好)
-
修改app.js 是基于koa的 不过我没有再引用koa-ssl,直接用的node的https方法的第一种
// 引入相关的服务和文件 const fs = require('fs'); const https = require('https'); const options = { key: fs.readFileSync(__dirname + '/server.key'), cert: fs.readFileSync(__dirname + '/server.pem') }; const port = 8443; //... //开启https端口 https.createServer(options, app.callback()).listen(port)
- 成功开启https
-
同样还是踩了不少坑
- 文件径不对 not such file
解决:用__dirname - mac verify failure
解决: 用node https提供的第一种方法引入证书文件
- 文件径不对 not such file