Home > Article > Operation and Maintenance > About CentOS YAPI deployment (code sharing)
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.
Environment
Node mongodb
git
yum install git.
node
yum install nodejs
pm2
npm i -g pm2
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
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
Get rid of the default database link configuration
vi config.json db:{ - user:'test', - pass:'test' }
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
Prohibit registration
{ "port": "*****", "closeRegister":true }
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
vi /etc/nginx/conf.d/yapi.conf
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; #
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!