Jadual Kandungan
前言
安装node
安装mongdb
总结
① mongdb认证获取失败
② pm2启动yapi失败,一直重启
③配置好的邮箱失败
不足之处欢迎拍砖指正!
yapi开启https访问
Rumah Operasi dan penyelenggaraan CentOS 有关centos部署yapi的问题记录

有关centos部署yapi的问题记录

Jul 10, 2021 pm 04:12 PM
centos

前言

这几天终于完成了为期三个月的公司某个demo版的项目,在这期间和公司的后台因为API的事怼过无数次了,'我的接口没问题,是你请求的方式不对吧!'、'一定是你请求的参数不对'......诸如此类问题贯穿这三个月,仅仅因为我们没有一个良好的接口管理习惯,一堆省事的工具没有被利用起来,接口定义很随意基本靠口头传达。于是乎,我想YApi接口管理平台必须先用起来,再者,张鑫旭大大也在为接口管理打call,前端也应该把工具用起来。解放生产力,提高效率!

安装node

因为yapi的安装必须依赖node,centos环境安装node的各种方法google一下,千千万万种。而我还是踩到坑了,不知道为什么我根据wget安装源码的方法,失败了,当然也不是完全失败,是make的时候,等的太久,我直接ctrl+c了。还是用nvm安装吧,尽管我也不知道合不合理。请代码说话:

  • Wget下载安装nvm

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

    或者Curl

       curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
    Salin selepas log masuk
  • 下载完成后加入系统环境

       source   ~/.bashrc
    Salin selepas log masuk
  • 验证安装

       command -v nvm
    Salin selepas log masuk
  • 查看远程node版本

       nvm ls-remote
    Salin selepas log masuk
  • 安装所需版本 要求nodejs(7.6+)

       nvm install 10.2.1
    Salin selepas log masuk

安装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文件
    Salin selepas log masuk
  • 复制下面配置信息:

               [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
    Salin selepas log masuk
  • 安装mongodb

               yum install -y mongodb-org   // 一路yes安装mongodb
    Salin selepas log masuk
  • 修改mongdb配置(公网可访问:127.0.0.1 => 0.0.0.0)

               vi /etc/mongod.conf
    Salin selepas log masuk
  • 启动mongodb

           systemctl start mongod.service  // 启动mongodb
    Salin selepas log masuk

此时如果是阿里云服务器,安全组添加端口12071就能通过公网地址访问,当然此时是不安全的

4d96edebd16cf35864f82f0f2798e5e.png

此时任何一个人都能通过连接你的mongdb数据篡改你的数据,这时候试着加下验证试试,这里方法也有千千万万种,请自行google,例如:

mongo --port 27017

use admin

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

## 部署yapi
根据官方文档,部署方法有两种,鉴于我前几天在电脑上用第一种方法安装时失败,于是就采用第二种复杂一点的方法

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

此时只是暂时成功部署了,还要永久守护这个yapi进程,这里用到pm2

  • 安装pm2

         npm i pm2 -g
    Salin selepas log masuk
  • 切换到yapi的vendors目录 执行pm2 start

         pm2 start server/app.js  --watch
    Salin selepas log masuk

93714fd7155a8c8d5fb607b7321396a.png

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

a8b406adfc8b15b9c8f216177dd4ba1.png

总结

至此,已经把yapi的源代码clone了一份到你自己的内网,当然,期间还是会遇到不少的坑,我遇到的主要还是mongdb认证的坑:比如认证设置不成功、config文件配置不正确之类的,甚至pm2启动yapi失败,总之多尝试多动手,自己实在不能解决再去请教大牛。

① mongdb认证获取失败

de9dc8f6fb244cf3087b4ee46c51e64.png

解决: 检查mongdb配置是否正确、认证设置是否成功,yapi的config文件是否配置正确

② pm2启动yapi失败,一直重启

d0398d853ee80b1d2cb9f7619f4d1a0.png

解决:通过pm2 log查看是之前通过npm开启的服务没有结束,导致端口占用,ctrl+c之前的服务就行
前两个问题貌似都不算是坑,无非就是拦路虎

③配置好的邮箱失败

fe5ccc3f56a3099f0548037df55e41d.png

解决:那肯定是邮箱配置不对喽,重来吧!然后就继续采坑
不确定是不是网易邮箱有点问题还是怎么的,换成qq的就行,修改完config.json文件,我以为重npm run install-server就万事大吉了,其实 -->

3f4697d55a2c67ae36695d4de0dfd30.png

应该是mongdb中yapi已经存在这个管理员的信息,如果admin下面没有数据的话就直接删掉这条,如果有点话就修改数据吧。我很懒,直接用mongdb compass把整个yapi都删掉了,删库跑路!

不足之处欢迎拍砖指正!

d1d395a8ce5936a8b7b420925472bec.png

yapi开启https访问

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

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

    43728a45633599ee828a63068423f3d.png

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

    f7b2432a7cbd22da270a985a57ce1e0.png

  • 修改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)
    Salin selepas log masuk
  • 成功开启https

    c480af90e948ef1778bfdceb2b976c5.png

  • 同样还是踩了不少坑

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

推荐:《centos教程

Atas ialah kandungan terperinci 有关centos部署yapi的问题记录. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Mengoptimumkan Konfigurasi CentOS HDFS Cara Mengoptimumkan Konfigurasi CentOS HDFS Apr 14, 2025 pm 07:15 PM

Meningkatkan prestasi HDFS pada CentOS: Panduan Pengoptimuman Komprehensif untuk mengoptimumkan HDFS (Hadoop diedarkan sistem fail) pada CentOS memerlukan pertimbangan komprehensif perkakasan, konfigurasi sistem dan tetapan rangkaian. Artikel ini menyediakan satu siri strategi pengoptimuman untuk membantu anda meningkatkan prestasi HDFS. 1. Perkakasan Peningkatan dan Pemilihan Pengembangan Sumber: Meningkatkan kapasiti CPU, memori dan penyimpanan pelayan sebanyak mungkin. Perkakasan berprestasi tinggi: Mengadopsi kad rangkaian berprestasi tinggi dan suis untuk meningkatkan rangkaian rangkaian. 2. Konfigurasi Sistem Fine-Tuning Parameter Parameter Kernel: Modify /etc/sysctl.conf Fail untuk mengoptimumkan parameter kernel seperti nombor sambungan TCP, nombor pemegang fail dan pengurusan memori. Sebagai contoh, laraskan status sambungan TCP dan saiz penampan

Alamat IP Konfigurasi CentOS Alamat IP Konfigurasi CentOS Apr 14, 2025 pm 09:06 PM

Langkah-langkah untuk mengkonfigurasi alamat IP di CentOS: Lihat konfigurasi rangkaian semasa: IP Addr Edit Fail Konfigurasi Rangkaian: SUDO VI/ETC/SYSCONFIG/Rangkaian-Skrips

Petua Penalaan Prestasi Centos HDFS Petua Penalaan Prestasi Centos HDFS Apr 14, 2025 pm 06:00 PM

Platform CentOS Hadoop diedarkan Sistem Fail File (HDFS) Panduan Pengoptimuman Prestasi Mengoptimumkan Prestasi HDFS adalah isu pelbagai aspek, dan pelbagai parameter perlu diselaraskan untuk situasi tertentu. Berikut adalah beberapa strategi pengoptimuman utama: 1. Pengurusan memori menyesuaikan konfigurasi memori namenode dan Datanode: konfigurasi dengan munasabah konfigurasi Hadoop_Namenode_opts dan Hadoop_Datanode_Opts pembolehubah persekitaran mengikut saiz memori sebenar pelayan untuk mengoptimumkan penggunaan memori. Dayakan memori halaman yang besar: Untuk aplikasi penggunaan memori yang tinggi (seperti HDFS), membolehkan memori halaman yang besar dapat mengurangkan peruntukan halaman memori dan overhead pengurusan dan meningkatkan kecekapan. 2. Pengoptimuman Cakera I/O menggunakan storan berkelajuan tinggi

Perbezaan antara centos dan ubuntu Perbezaan antara centos dan ubuntu Apr 14, 2025 pm 09:09 PM

Perbezaan utama antara CentOS dan Ubuntu adalah: asal (CentOS berasal dari Red Hat, untuk perusahaan; Ubuntu berasal dari Debian, untuk individu), pengurusan pakej (CentOS menggunakan yum, yang memberi tumpuan kepada kestabilan; Ubuntu menggunakan APT, untuk kekerapan yang tinggi) Pelbagai tutorial dan dokumen), kegunaan (CentOS berat sebelah ke arah pelayan, Ubuntu sesuai untuk pelayan dan desktop), perbezaan lain termasuk kesederhanaan pemasangan (CentOS adalah nipis)

Baris arahan shutdown centos Baris arahan shutdown centos Apr 14, 2025 pm 09:12 PM

Perintah shutdown CentOS adalah penutupan, dan sintaks adalah tutup [pilihan] [maklumat]. Pilihan termasuk: -h menghentikan sistem dengan segera; -P mematikan kuasa selepas penutupan; -r mulakan semula; -T Waktu Menunggu. Masa boleh ditentukan sebagai segera (sekarang), minit (minit), atau masa tertentu (HH: mm). Maklumat tambahan boleh dipaparkan dalam mesej sistem.

Fail apa yang anda perlukan untuk mengubah suai dalam centos konfigurasi HDFS? Fail apa yang anda perlukan untuk mengubah suai dalam centos konfigurasi HDFS? Apr 14, 2025 pm 07:27 PM

Apabila mengkonfigurasi Hadoop diedarkan Sistem Fail (HDFS) pada CentOS, fail konfigurasi utama berikut perlu diubah suai: core-site.xml: fs.defaultfs: Menentukan alamat sistem fail lalai HDFS, seperti HDFS: // localhost: 9000. Hadoop.tmp.dir: Menentukan direktori penyimpanan untuk fail sementara Hadoop. hadoop.proxyuser.root.hosts dan hadoop.proxyuser.ro

Bagaimana sokongan GPU untuk Pytorch di CentOS Bagaimana sokongan GPU untuk Pytorch di CentOS Apr 14, 2025 pm 06:48 PM

Membolehkan pecutan GPU pytorch pada sistem CentOS memerlukan pemasangan cuda, cudnn dan GPU versi pytorch. Langkah-langkah berikut akan membimbing anda melalui proses: Pemasangan CUDA dan CUDNN Tentukan keserasian versi CUDA: Gunakan perintah NVIDIA-SMI untuk melihat versi CUDA yang disokong oleh kad grafik NVIDIA anda. Sebagai contoh, kad grafik MX450 anda boleh menyokong CUDA11.1 atau lebih tinggi. Muat turun dan pasang Cudatoolkit: Lawati laman web rasmi Nvidiacudatoolkit dan muat turun dan pasang versi yang sepadan mengikut versi CUDA tertinggi yang disokong oleh kad grafik anda. Pasang Perpustakaan Cudnn:

Kaedah Penyelesaian Masalah CentOS Stream 8 Kaedah Penyelesaian Masalah CentOS Stream 8 Apr 14, 2025 pm 04:33 PM

Panduan Penyelesaian Masalah Sistem CentOSSTREAM8 Artikel ini menyediakan langkah -langkah sistematik untuk membantu anda menyelesaikan masalah sistem CentOSSTREAM8 dengan berkesan. Cuba kaedah berikut dalam urutan: 1. Ujian Sambungan Rangkaian: Gunakan perintah ping untuk menguji sambungan rangkaian (contohnya: pingGoogle.com). Gunakan perintah curl untuk menyemak respons permintaan HTTP (contohnya: curlgoogle.com). Gunakan arahan IPLINK untuk melihat status antara muka rangkaian dan sahkan sama ada antara muka rangkaian beroperasi secara normal dan disambungkan. 2. Alamat IP dan Pengesahan Konfigurasi Gateway: Gunakan iPaddr atau ifconfi

See all articles