목차
머리말
노드 설치
Install mongdb
不足之处欢迎拍砖指正!
yapi开启https访问
운영 및 유지보수 CentOS yapi의 centos 배포 관련 문제 기록

yapi의 centos 배포 관련 문제 기록

Jul 10, 2021 pm 04:12 PM
centos

머리말

지난 며칠 동안 회사의 3개월 데모 버전 프로젝트를 마침내 완료했습니다. 이 기간 동안 저는 API에 대해 회사 백엔드와 '내 인터페이스는 괜찮아, 너야. 이것은 올바른 요청 방법이 아닙니다! ', '요청한 매개변수가 잘못된 게 틀림없어'... 이런 문제는 지난 3개월 동안 지속됐는데, 단지 우리가 인터페이스 관리 습관이 좋지 않고, 문제 없는 도구들을 많이 사용하지 않았기 때문일 뿐이고, 인터페이스 정의는 기본적으로 구두로 전달되는 것이 매우 무작위입니다. 따라서 YApi 인터페이스 관리 플랫폼을 먼저 사용해야 한다고 생각합니다. 게다가 Zhang Xinxu도 인터페이스 관리를 요구하고 있으며 프런트 엔드도 도구를 사용해야 합니다. 생산성을 해방하고 효율성을 향상시키세요!

노드 설치

Yapi 설치는 node.google에 의존해야 하기 때문에 centos 환경에서는 노드를 설치하는 다양한 방법이 수천 가지가 있습니다. 하지만 여전히 함정을 밟았습니다. 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
    로그인 후 복사
  • 리모컨 보기 node version

       nvm ls-remote
    로그인 후 복사
  • 설치 필수 버전은 nodejs(7.6+)

       nvm install 10.2.1
    로그인 후 복사

Install mongdb

yapi가 필요합니다. 이론적으로 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
    로그인 후 복사
  • mongodb 시작

           systemctl start mongod.service  // 启动mongodb
    로그인 후 복사

Alibaba Cloud 서버인 경우 보안 그룹에 포트 12071을 추가하세요. 물론 공개 주소를 통해 접속하세요. 현재로서는 안전하지 않습니다

yapi의 centos 배포 관련 문제 기록

이때는 누구나 귀하의 mongdb 데이터에 연결하여 데이터를 변조할 수 있습니다. 예를 들어

mongo --port 27017

use admin

db.createUser(
  {
    user: "adminUser",
    pwd: "adminPass",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
로그인 후 복사
## Deploy 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配置的端口},初次运行会有个编译的过程,请耐心等候
로그인 후 복사
이것은 일시적으로만 성공적으로 배포되었지만 yapi 프로세스는 영구적으로 보호되어야 합니다. 여기서는 pm2

  • 를 사용하여 pm2

         npm i pm2 -g
    로그인 후 복사
  • yapi의 Vendors 디렉터리로 전환하고 pm2 start

         pm2 start server/app.js  --watch
    로그인 후 복사
    를 실행합니다.

yapi의 centos 배포 관련 문제 기록

正常的话,应该能正常访问到,默认接口是3000
로그인 후 복사

yapi의 centos 배포 관련 문제 기록

요약

이 시점에서 Yapi의 소스 코드를 자신의 인트라넷에 복제했습니다. 물론 이 과정에서 제가 직면한 주요 함정은 다음과 같습니다. mongdb 인증 함정: 예를 들어 인증 설정이 제대로 설정되지 않았거나, 구성 파일이 잘못 구성되었거나, 심지어 pm2가 yapi를 시작하지 못하는 경우도 있습니다.

① mongdb 인증 획득 실패

yapi의 centos 배포 관련 문제 기록

해결 방법: mongdb 구성을 확인하세요. yapi의 구성 파일이 올바르게 구성되어 있습니까? PM2가 yapi를 시작하지 못하고 계속 다시 시작되었습니다

해결책: 이전에 npm을 통해 열었던 서비스가 종료되지 않았는지 pm2 로그를 통해 확인하여 ctrl+c 이전의 서비스는 괜찮습니다yapi의 centos 배포 관련 문제 기록처음 두 가지 문제 함정은 아닌 것 같습니다. 장애물일 뿐입니다

③구성된 메일함이 실패합니다

해결 방법: 메일함 구성이 잘못된 것 같습니다. 계속해서 알아보세요. yapi의 centos 배포 관련 문제 기록 확실하지 않습니다. NetEase 메일박스에 문제가 있는 것 같습니다. config.json 파일을 수정한 후 install-server를 다시 실행하면 문제가 없을 것이라고 생각했습니다.->


mongdb의 yapi에 관리자 정보가 이미 존재해야 합니다. admin에 데이터가 없으면 삭제하세요. 너무 게으른 탓에 그냥 mongdb compass를 이용해 야피 전체를 삭제하고 도망쳤습니다! yapi의 centos 배포 관련 문제 기록

不足之处欢迎拍砖指正!

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

센토스로 중국어 입력하는 방법 센토스로 중국어 입력하는 방법 Apr 07, 2024 pm 08:21 PM

CentOS에서 중국어 입력을 사용하는 방법에는 fcitx 입력 방법 사용: fcitx 설치 및 활성화, 단축키 설정, 단축키를 눌러 입력 방법 전환, 병음을 입력하여 후보 단어 생성 등이 있습니다. iBus 입력 방법 사용: iBus를 설치 및 활성화하고, 단축키를 설정하고, 단축키를 눌러 입력 방법을 전환하고, 병음을 입력하여 후보 단어를 생성합니다.

centos7에서 USB 디스크 파일을 읽는 방법 centos7에서 USB 디스크 파일을 읽는 방법 Apr 07, 2024 pm 08:18 PM

CentOS 7에서 U 디스크 파일을 읽으려면 먼저 U 디스크를 연결하고 장치 이름을 확인해야 합니다. 그런 다음 다음 단계를 사용하여 파일을 읽습니다. USB 플래시 드라이브 마운트: mount /dev/sdb1 /media/sdb1("/dev/sdb1"을 실제 장치 이름으로 대체) USB 플래시 드라이브 파일 찾아보기: ls /media /sdb1; cd /media /sdb1/디렉토리;

SCP 사용 팁 - 파일을 재귀적으로 제외 SCP 사용 팁 - 파일을 재귀적으로 제외 Apr 22, 2024 am 09:04 AM

scp 명령을 사용하여 네트워크 호스트 간에 파일을 안전하게 복사할 수 있습니다. 데이터 전송 및 인증을 위해 SSH를 사용합니다. 일반적인 구문은 다음과 같습니다: scpfile1user@host:/path/to/dest/scp -r/path/to/source/user@host:/path/to/dest/scp 파일 제외 scp 명령을 사용할 때는 할 수 없을 것 같습니다 파일을 필터링하거나 제외합니다. 그러나 파일을 제외하고 SSH를 사용하여 안전하게 복사하는 좋은 해결 방법이 있습니다. 이 페이지에서는 scp를 사용하여 디렉터리를 반복적으로 복사할 때 파일을 필터링하거나 제외하는 방법을 설명합니다. rsync 명령을 사용하여 파일을 제외하는 방법 구문은 다음과 같습니다: rsyncav-essh-

centos 로그인 비밀번호를 잊어버린 경우 어떻게 해야 하나요? centos 로그인 비밀번호를 잊어버린 경우 어떻게 해야 하나요? Apr 07, 2024 pm 07:33 PM

잊어버린 CentOS 비밀번호에 대한 해결 방법은 다음과 같습니다. 단일 사용자 모드: 단일 사용자 모드로 들어가서 passwd root를 사용하여 비밀번호를 재설정합니다. 복구 모드: CentOS Live CD/USB에서 부팅하고 루트 파티션을 마운트하고 비밀번호를 재설정합니다. 원격 액세스: SSH를 사용하여 원격으로 연결하고 sudo passwd root로 비밀번호를 재설정합니다.

centos7에서 루트 권한을 활성화하는 방법 centos7에서 루트 권한을 활성화하는 방법 Apr 07, 2024 pm 08:03 PM

CentOS 7은 기본적으로 루트 권한을 비활성화합니다. 다음 단계에 따라 활성화할 수 있습니다. 임시 활성화: 터미널에 "su root"를 입력하고 루트 비밀번호를 입력합니다. 영구적으로 활성화됨: "/etc/ssh/sshd_config"를 편집하고 "PermitRootLogin no"를 "yes"로 변경한 후 SSH 서비스를 다시 시작합니다.

centos7에서 루트 권한을 얻는 방법 centos7에서 루트 권한을 얻는 방법 Apr 07, 2024 pm 07:57 PM

CentOS 7에서 루트 권한을 얻는 방법에는 여러 가지가 있습니다. 1. "su"를 사용하여 명령을 실행합니다. 2. 단일 명령을 실행하려면 "sudo"를 사용하십시오. 3. 루트 사용자를 활성화하고 비밀번호를 설정합니다. 참고: 루트 권한을 사용할 때는 시스템이 손상될 수 있으므로 주의하십시오.

CentOS에서 루트 권한을 입력하는 방법 CentOS에서 루트 권한을 입력하는 방법 Apr 07, 2024 pm 08:06 PM

CentOS에서 루트 권한으로 작업을 수행하는 방법에는 두 가지가 있습니다. 1) sudo 명령을 사용하여 일시적으로 루트 권한을 얻습니다. 2) 루트 사용자 비밀번호를 사용하여 직접 로그인합니다. 루트 권한을 사용할 때는 각별히 주의해야 하며 필요한 경우에만 사용하는 것이 좋습니다.

Centos에서 게이트웨이를 구성하는 방법 Centos에서 게이트웨이를 구성하는 방법 Apr 07, 2024 pm 08:51 PM

CentOS를 게이트웨이로 구성하려면 다음 단계를 수행해야 합니다. 1. 네트워크 인터페이스를 구성하고 GATEWAY 값을 추가합니다. 2. 기본 게이트웨이를 설정하고 DNS 정보를 지정합니다. 3. 네트워크 서비스를 시작합니다. 5. 게이트웨이를 통한 트래픽을 허용하도록 방화벽을 구성합니다(선택 사항).

See all articles