環境要求nodejs(7.6+)
mongodb(2.6+)
1、安裝nodejs
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
yum -y install nodejs
建議安裝node8.X版本,最新10.X版本安裝yapi會報錯,有問題。
2、安裝mongodb并啟動mongo
cat > /etc/yum.repos.d/mongodb-org-3.6.repo<
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
EOF
yum -y install mongodb-org
service mongod start
3、安裝yapi
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
4、浏覽器輸入http://伺服器ip:9090(伺服器安全組9090端口要開放)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yM5UGN1cjYyMGZ5UTZyMWO2QWZzIDZzgTYxYWOxUTMy8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
如果是安裝1.4可能最後會報錯,可以忽略不管
5、啟動yapi服務
①切換到部署目錄下
cd /root/yapi
②啟動服務
node vendors/server/app.js
③浏覽器輸入http://伺服器ip:3000/login(注意:伺服器安裝組要開放3000端口)
登入使用者名就是配置的管理者郵箱,密碼預設是ymfe.org,登陸後可以自行修改。
6、supervisor管理nodejs程序,保持node背景程序挂起
#!/bin/bash
# supervisor
# author ctocode-zwj
yum install python-setuptools -y
easy_install supervisor
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
cat > /etc/supervisor/supervisord.conf<
[include]
files = conf.d/*.conf
EOF
mkdir -p /etc/supervisor/conf.d/
cat > /etc/supervisor/conf.d/YApiGhost.conf<
[program: YApiGhost]
command=node vendors/server/app.js ; # 運作程式的指令
directory=/root/my-yapi ; #指令執行的目錄
autorestart=true ; # 程式意外退出是否自動重新開機
stderr_logfile=/var/log/YApiGhost.err.log ; # 錯誤日志檔案
stdout_logfile=/var/log/YApiGhost.out.log ; # 輸出日志檔案
environment=ASPNETCORE_ENVIRONMENT=Production ; # 程序環境變量
user=root ; # 程序執行的使用者身份
stopsignal=INT
[supervisord]
EOF
supervisord -c /etc/supervisor/supervisord.conf
cat > /usr/lib/systemd/system/supervisord.service<
[Unit]
Description=Supervisor daemon
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
EOF
# 開機啟動
systemctl enable supervisord
github示例:
- END -