ホームページ  >  記事  >  運用・保守  >  yapi の centos デプロイメントに関連する問題の記録

yapi の centos デプロイメントに関連する問題の記録

藏色散人
藏色散人転載
2021-07-10 16:12:162020ブラウズ

序文

ここ数日で、私は会社の 3 か月にわたるデモ バージョン プロジェクトをついに完了しました。この期間中、私は API について会社のバックエンドと数えきれないほどの議論をしました。私のインターフェースには問題ありませんが、リクエストの方法が間違っています。 '、'要求したパラメータは間違っているに違いありません'... このような問題は過去 3 か月間ずっと続いています。単に私たちが適切なインターフェイス管理の習慣を持たず、問題のないツールが多数使用されていなかったためです。インターフェイスの定義は非常にランダムであり、基本的には口頭で伝えられます。したがって、まず YApi インターフェイス管理プラットフォームを使用する必要があると思います。さらに、Zhang Xinxu 氏もインターフェイス管理を呼びかけており、フロントエンドでもツールを使用する必要があります。生産性を解放し、効率を向上させます!

ノードのインストール

Yapi のインストールはノードに依存する必要があるため、centos 環境にノードをインストールするさまざまな方法を Google で検索すると、数千もの方法があります。しかし、やはり罠を踏んでしまいました。なぜ wget をベースにソースコードをインストールする方法が失敗したのかわかりません。もちろん、完全に失敗したわけではありません。make 中に待ち時間が長すぎたときです。直接 Ctrl キーを押しました。 c.それが合理的かどうかはわかりませんが、nvm を使用してインストールすることをお勧めします。コードを話してください:

  • Wget ダウンロードとインストール nvm

       wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

    または Curl

       curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
  • その後システム環境に参加しますダウンロードが完了しました

       source   ~/.bashrc
  • #インストールの確認##
       command -v nvm

    #リモート ノードのバージョンの表示##
       nvm ls-remote
  • #インストール必要なバージョン 必要な nodejs ( 7.6)

       nvm install 10.2.1
  • mongdb をインストールします

    Yapi は mongodb (2.6、理論的にはリモート mlab を設定し、ここで centos mongdb をインストールできます) をインストールします。 centos が 64 ビットであることを確認するためです。
  • 類似のインストール方法が何千もあります。ここでは、yum を使用してインストールします

yum パッケージ管理構成を変更します

           vi /etc/yum.repos.d/mongodb-org-3.4.repo   // 会自动新建mongodb-org-3.4.repo文件
  • 次の構成情報をコピーします:

               [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
  • mongodb をインストールします

               yum install -y mongodb-org   // 一路yes安装mongodb
  • mongdb 構成を変更します (パブリック ネットワークでアクセス可能: 127.0) .0.1 => 0.0.0.0 )

               vi /etc/mongod.conf
  • Start mongodb

           systemctl start mongod.service  // 启动mongodb
  • Alibaba Cloud サーバーの場合は、ポート 12071 をパブリック アドレス経由でアクセスするには、セキュリティ グループを追加します。もちろん、現時点では安全ではありません。

誰でも mongdb データに接続することでデータを改ざんできます。検証を追加してみてください。ここには何千もの方法がありますので、自分でググってください(例:

mongo --port 27017

use admin

db.createUser(
  {
    user: "adminUser",
    pwd: "adminPass",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

## Deploy yapiyapi の centos デプロイメントに関連する問題の記録 公式ドキュメントによると、2 つのデプロイ方法があります。数日前に最初の方法をコンピューターに使用しました。最初の方法はインストールに失敗したため、2 番目のより複雑な方法を使用しました。

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配置的端口},初次运行会有个编译的过程,请耐心等候

現時点では、それは一時的に正常に展開されただけで、yapi プロセスはpm2 はここで使用されます


pm2 をインストールします

     npm i pm2 -g
  • yapi のベンダー ディレクトリに切り替えて、pm2 start

    を実行します

         pm2 start server/app.js  --watch
  • #

    正常的话,应该能正常访问到,默认接口是3000

概要yapi の centos デプロイメントに関連する問題の記録

この時点で、yapi のソース コードを自分のイントラネット. もちろん、プロセス中にはまだ多くの落とし穴に遭遇するでしょう. I 遭遇する主な落とし穴は、認証設定の失敗、構成ファイルの構成の誤り、さらには pm2 による Yapi の起動の失敗など、mongdb 認証の落とし穴です。もっと試して、実践的な作業を増やしてください。本当に自分で解決できない場合は、専門家にアドバイスを求めてください。

yapi の centos デプロイメントに関連する問題の記録① mongdb 認証の取得に失敗しました

#解決策: mongdb 構成が正しいかどうか、認証設定が成功したかどうか、yapi 構成ファイルが正しく構成されているかどうかを確認してください

② PM2 が yapi の起動に失敗し、再起動を繰り返しました

yapi の centos デプロイメントに関連する問題の記録

解決策: pm2 ログを使用して、以前に npm を通じて開始されたサービスが終了してポート占有が発生していないことを確認します。ctrl c## の前にサービスを使用してください。最初の 2 つの問題はないようです落とし穴といっても、それは単なる障害です。

③構成されたメールボックスが失敗します

yapi の centos デプロイメントに関連する問題の記録


解決策: メールボックスの構成が間違っている可能性があります。戻ってきてください。それからマイニングを続けました

NetEase メールボックスか何かに問題があるかどうかわかりませんでした。QQ に変更するだけです。config.json ファイルを変更した後、npm を再実行すればすべて問題なくなると思いましたinstall-server を実行します。実際には -->

yapi の centos デプロイメントに関連する問題の記録

mongdb の yapi に管理者の情報が既に存在しているはずです。admin 配下にデータがない場合は削除してください。存在する場合は、データを変更するだけです。私はめんどくさいので、mongdb compass を使って Yapi を丸ごと削除し、データベースを削除して逃げました。

不足之处欢迎拍砖指正!

yapi の centos デプロイメントに関連する問題の記録

yapi开启https访问

虽然对小白来说https然并卵,我还是想捣鼓一下试着通过https来访问我的yapi,首先证书我是有了,获取证书的方法也有千千万万种,我这里用的阿里云的免费证书,总之有证书的话应该能拿到证书文件如.pem、.key、.pfx之类文件。技术菜的我天真的以为还能开启3000端口的https访问,结果啪啪啪打脸打的很清脆,于是乎把https的端口设定成了8443。大概步骤如下:

  • 获取证书文件(默认有证书并且能拿到.key和.pem文件或者.pfx文件)

    yapi の centos デプロイメントに関連する問題の記録

  • 上传证书(我直接放在app.js同级,根据个人喜好)

    yapi の centos デプロイメントに関連する問題の記録

  • 修改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

    yapi の centos デプロイメントに関連する問題の記録

  • 同样还是踩了不少坑

    • 文件径不对 not such file
      解决:用__dirname
    • mac verify failure
      解决: 用node https提供的第一种方法引入证书文件

推荐:《centos教程

以上がyapi の centos デプロイメントに関連する問題の記録の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。