Home > Operation and Maintenance > CentOS > About CentOS YAPI deployment (code sharing)

About CentOS YAPI deployment (code sharing)

奋力向前
Release: 2021-09-13 11:28:54
forward
1664 people have browsed it

In the previous article "A solution to the problem of uni-app falling into the trap (sharing)", we introduced how to solve the problem of uni-app falling into the trap. The following article will introduce CentOS YAPI deployment to you. Let’s take a look.

About CentOS YAPI deployment (code sharing)

YAPI deployment (centos)

Environment

Node mongodb

git

yum install git.
Copy after login

node

yum install nodejs
Copy after login

pm2

npm i -g pm2
Copy after login

mongodb installation configuration

url: https://www.mongodb.com/try/download/community

# 下载
wget https://repo.mongodb.org/yum/redhat/8/mongodb-org/5.0/x86_64/RPMS/mongodb-org-server-5.0.0-1.el8.x86_64.rpm
# 安装
rpm -i mongodb-org-server-5.0.0-1.el8.x86_64.rpm
# 启动服务
systemctl start mongod.service

## 无法启动 给权限
chown -R mongod:mongod /var/lib/mongo
chown -R mongod:mongod /var/log/mongodb
chown mongod:mongod /tmp/*.sock	
Copy after login

yapi installation configuration

wget https://github.com/YMFE/yapi/archive/refs/tags/v1.9.3.tar.gz

tar -zxvf v1.9.3.tar.gz
mv yapi-1.9.3 yapi
cd yapi

cp config_example.json  config.json
Copy after login

Get rid of the default database link configuration

vi config.json

db:{
  - user:'test',
  - pass:'test'
}
Copy after login

Initialization

# 初始化 依赖
npm install --production --registry https://registry.npm.taobao.org
# 初始化数据库
npm run install-server

# 启动
node server/app.js   
#or
pm2 start server/app.js --name yapi
Copy after login

Prohibit registration

{
  "port": "*****",
  "closeRegister":true
}
Copy after login

After external network deployment, versions below 1.9.2 have an upload privilege escalation vulnerability. You should remove the registration

nginx installation configuration

yum install nginx
Copy after login
vi /etc/nginx/conf.d/yapi.conf
Copy after login

and bind the domain name. Forward

server{
  server_name xxxx.com;
  #cache
  location ~* \.(?:jpg|jpeg|png|gif|ico|css|js)$ {
    proxy_pass http://127.0.0.1:3000;
    proxy_redirect  off; 	
    proxy_set_header Host  $host;

    expires 365d;
    add_header Cache-Control "public"; 
  }
  location / {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_pass http://127.0.0.1:3000;
    proxy_redirect  off;
    proxy_set_header        HOST  $host;
    proxy_set_header        X-Real-IP       $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_send_timeout      300;
    proxy_read_timeout      300;

    add_header Last-Modified $date_gmt;
    add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
    if_modified_since off;
    expires off;
    etag off;
  }

  #https
  #listen 443 ssl;
  #ssl_certificate	/etc/nginx/cer/fullchain.crt;
  #ssl_certificate_key /etc/nginx/cer/private.pem;
  #ssl_protocols TLSv1.1 TLSv1.2;
  #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
  #ssl_prefer_server_ciphers on;
  #ssl_session_cache shared:SSL:10m;
  #ssl_session_timeout 10m;
}

#server{
#  if ($host = xxxx.com) {
#      return 301 https://$host$request_uri;
#  } 
#
#  server_name xxxx.com;
#  listen 80;
#  return 404;
#
Copy after login

Done!

Recommended learning: CentOS introductory tutorial

The above is the detailed content of About CentOS YAPI deployment (code sharing). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:chuchur.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template