Centos7.4 Yapi 服务搭建 centos7搭建apache
csdh11 2024-12-27 12:37 17 浏览
Centos Yapi服务搭建
转载请标明原文出处
参考以下网址,排名不分先后
https://github.com/YMFE/yapi
https://blog.csdn.net/guangzhou007_java/article/details/90779222
https://www.jianshu.com/p/994bc7b19b26
我的服务器环境
阿里云服务器 centos 7.4
使用 https://oneinstack.com/auto/ 搭建的lnmp环境
以下所有操作全部基于root用户
环境要求
- nodejs (7.6+)
- mongodb (2.6+)
- git
开始搭建
一、安装nodejs
- 先检查是否已经安装了nodejs,如果安装了版本低于环境要求,请先卸载删除
[root@moyang /]# node -v
- yum删除nodejs低版本库
[root@moyang /]# yum remove nodejs npm -y
- 删除nodejs安装目录及软链接,以下为yum安装所在目录
[root@moyang /]# rm -rf /usr/bin/npm
[root@moyang /]# rm -rf /usr/bin/node
[root@moyang /]# rm -rf /usr/lib/node_modules
- 安装10以上版本nodejs
[root@moyang /]# yum clean all && yum makecache fast
[root@moyang /]# yum install -y gcc-c++ make
- 添加10以上nodejs yum库
[root@moyang /]# curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash -
- yum安装nodejs
[root@moyang /]# yum install -y nodejs
[root@moyang /]# node -v // 本次安装的版本为:v10.19.0
[root@moyang /]# npm -v // 本次安装的版本为:6.13.4
二、安装mongodb
- 1、切换到安装目录
[root@moyang /]# cd /usr/local
- 2、下载mongodb4.0压缩包
[root@moyang local]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz
- 3、解压缩安装包,重命名文件夹 && 删除压缩包
[root@moyang local]# tar zxvf mongodb-linux-x86_64-4.0.0.tgz
[root@moyang local]# mv mongodb-linux-x86_64-4.0.0 mongodb && rm -f mongodb-linux-x86_64-4.0.0.tgz
- 4、配置环境变量 && 使其生效
[root@moyang local]# cd / && vim /etc/profile
export PATH=/usr/mongodb/bin:$PATH
[root@moyang /]# source /etc/profile
- 5、查看mongodb版本,如果正确显示,则表示环境变量配置成功
[root@moyang /]# mongod --version // 显示如下:
db version v4.0.0
git version: 3b07af3d4f471ae89e8186d33bbb1d5259597d51
allocator: tcmalloc
modules: none
build environment:
distarch: x86_64
target_arch: x86_6
- 6、创建数据库目录和日志目录
[root@moyang /]# cd /usr/local/mongodb
[root@moyang mongodb]# mkdir db && mkdir log && touch log/mongodb.log
- 7、创建mongodb配置文件
[root@moyang mongodb]# vim /usr/local/mongodb/mongodb.conf // 添加以下内容
# 端口
port=27017
# 数据库存文件存放目录
dbpath=/usr/local/mongodb/db
# 日志文件存放路径
logpath=/usr/local/mongodb/log/mongodb.log
# 使用追加的方式写日志
logappend=true
# 以守护进程的方式运行,创建服务器进程
fork=true
# 最大同时连接数
maxConns=100
# 不启用验证
noauth=true
#auth=true
# 每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)
# 即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
journal=true
# 存储引擎有mmapv1、wiretiger、mongorocks
storageEngine=wiredTiger
# 这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB
bind_ip=0.0.0.0
- 8、mongodb命令 && 查看是否启动成功
[root@moyang mongodb]# ./bin/mongod -f mongodb.conf // 启动,显示如下:
about to fork child process, waiting until server is ready for connections.
forked process: 30685
child process started successfully, parent exiting
[root@moyang mongodb]# ./bin/mongod --shutdown -f mongodb.conf // 停止,显示如下:
killing process with pid: 30685
[root@moyang mongodb]# ps -ef|grep mongod // 查看mongod进程状态
- 9、使用service服务启动mongod
[root@moyang /]# cd / && vim /etc/init.d/mongod
// 添加内容如下
--------------------------------------------------------
#!/bin/sh
#chkconfig:
#MogoDB home directory
MONGODB_HOME=/usr/local/mongodb
#mongodb command
MONGODB_BIN=$MONGODB_HOME/bin/mongod
#mongodb config file
MONGODB_CONF=$MONGODB_HOME/mongodb.conf
#mongodb PID
MONGODB_PID=/var/run/mongo.pid
#set open file limit
SYSTEM_MAXFD=65535
MONGODB_NAME="mongodb"
. /etc/rc.d/init.d/functions
if [ ! -f $MONGODB_BIN ]
then
echo "$MONGODB_NAME startup: $MONGODB_BIN not exists! "
exit
fi
start(){
ulimit -HSn $SYSTEM_MAXFD
$MONGODB_BIN -f "$MONGODB_CONF"
ret=$?
if [ $ret -eq 0 ]; then
action #34;Starting $MONGODB_NAME: " /bin/true
else
action #34;Starting $MONGODB_NAME: " /bin/false
fi
}
stop(){
PID=$(ps aux |grep "$MONGODB_NAME" |grep "$MONGODB_CONF" |grep -v grep |wc -l)
if [[ $PID -eq 0 ]];then
action #34;Stopping $MONGODB_NAME: " /bin/false
exit
fi
kill -HUP `cat $MONGODB_PID`
ret=$?
if [ $ret -eq 0 ]; then
action #34;Stopping $MONGODB_NAME: " /bin/true
rm -f $MONGODB_PID
else
action #34;Stopping $MONGODB_NAME: " /bin/false
fi
}
restart() {
stop
sleep 2
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
;;
restart)
restart
;;
*)
echo #34;Usage: $0 {start|stop|status|restart}"
esac
--------------------------------------------------------
[root@moyang /]# chmod +x /etc/init.d/mongod
[root@moyang /]# service mongod start // 启动服务
[root@moyang /]# service mongod restart // 重启服务
[root@moyang /]# service mongod stop // 停止服务
- 10、配置系统服务启动mongod
[root@moyang /]# vim /lib/systemd/system/mongod.service
// 添加内容如下
--------------------------------------------------------
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
--------------------------------------------------------
[root@moyang /]# chmod 754 /lib/systemd/system/mongod.service
[root@moyang /]# systemctl status mongod.service // 查看启动状态
[root@moyang /]# systemctl start mongod.service // 启动服务
[root@moyang /]# systemctl restart mongod.service // 重启服务
[root@moyang /]# systemctl stop mongod.service // 停止服务
00f">小知识:开机启动服务相关命令
centos7自启项已不用chkconfig
- https://www.cnblogs.com/zwcry/p/9602756.html
- 查看开机自启项 左边是服务名称,右边是状态,enabled是开机启动,disabled是开机不启动
[root@moyang /]# systemctl list-unit-files
- 过滤查看开机启动项
[root@moyang /]# systemctl list-unit-files | grep enabled
[root@moyang /]# systemctl list-unit-files | grep mongod
- 启用 | 禁用 开机启动
[root@moyang /]# systemctl enable mongod // 启用
[root@moyang /]# systemctl disable mongod // 禁用
三、安装git
[root@moyang /]# yum -y install git
开始部署Yapi
注意事项
云服务器请先确认安全组是否开放 3000 9090端口
服务器的防火墙和iptables是否开放 3000 9090端口或者可以直接关闭这两个服务
http://tool.chinaz.com/port/
- 开始搭建YApi,安装命令
[root@moyang /] npm install -g yapi-cli --registry https://registry.npm.taobao.org
- 启动服务
[root@moyang /] yapi server
在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip
- 在线部署
- 在浏览器访问 :9090 服务器公网ip>
- 根据提示配置,如果mongodb数据库开启了权限认证,需要开启下图的数据库认证,并且输入数据库账号,密码
- 部署完成启动Yapi服务,这种模式shell终端不能关闭
[root@moyang /] node <yapi部署路径>/vendors/server/app.js
yapi服务管理
利用pm2方便服务管理维护。
// 更换npm淘宝镜像源
[root@moyang /] npm config set registry https://registry.npm.taobao.org
// 安装pm2
[root@moyang /] npm install pm2 -g
// pm2管理yapi服务
[root@moyang /] cd {yapi部署路径}
[root@moyang yapi] pm2 start "vendors/server/app.js" --name yapi //启动服务
[PM2] Starting /data/wwwroot/yapi/vendors/server/app.js in fork_mode (1 instance)
[PM2] Done.
┌─────┬─────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ? │ status │ cpu │ mem │ user │ watching │
├─────┼─────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ yapi │ default │ 1.8.7 │ fork │ 13231 │ 0s │ 0 │ online │ 0% │ 13.1mb │ root │ disabled │
└─────┴─────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴─────────
[root@moyang /] pm2 info yapi //查看服务信息
[root@moyang /] pm2 stop yapi //停止服务
[root@moyang /] pm2 restart yapi //重启服务
00f">小知识:mongodb开启权限验证
https://www.jianshu.com/p/62736bff7e2e
也可以使用windows终端https://robomongo.org/
- 首先检查mongodb.conf设置,设置不使用权限认证
[root@moyang /] vim /usr/loca/mongodb/mongodb.conf
noauth=true
#auth=true
- 使用shell终端工具连接mongod,创建用户及用户权限
[root@moyang /] ./usr/local/mongodb/bin/mongo
MongoDB shell version v4.0.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.0
> use admin
> db.createUser({user:"root",pwd:"root",roles:["root"]})
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
> use yapi
> db.createUser({user:"yapi",pwd:"yapi",roles:["dbOwner"]})
Successfully added user: { "user" : "yapi", "roles" : [ "dbOwner" ] }
> exit
- 修改mongodb.conf,设置使用权限认证,重启mongod服务
[root@moyang /] vim /usr/loca/mongodb/mongodb.conf
#noauth=true
auth=true
[root@moyang /] service mongod restart
开始使用
- 在浏览器访问 :3000 服务器公网ip> 就可以开始使用yapi了
- 点击登录 账号: 在线部署时填写的管理员邮箱> 密码: > 默认密码:>
- 登录成功后可以修改密码
去未知的世界进行探索
相关推荐
- 用Python轻松修改Word文件的作者和时间,打造自己的专属效率工具
-
你是否曾经遇到过需要批量修改Word文件的作者、创建时间或修改时间的情况?手动操作不仅费时费力,还容易出错。可以用Python编写一个小工具,轻松解决这个问题!无论你是编程新手还是有一定经验的...
- 插件开发js代码划分(js插件编写)
-
在开发Chrome插件时,将JavaScript代码拆分成多个模块而非集中放置,主要基于性能优化、可维护性提升和浏览器插件特性适配等多方面的考量。以下是具体原因及区别分析:一、拆分的核心原因...
- 5分钟掌握Python中的标准输入、标准输出、标准错误
-
读取用户输入从标准输入获取输入:user_input=input("Impartyourwisdom:")print(f"Youshared:{user_input}")...
- 高大上的解答:在 'packages.pyi' 中找不到引用 'urllib3'
-
DeepSeek的一句代码:...
- Flask 入门教程(flask快速入门)
-
目录什么是Flask?环境配置与安装第一个Flask应用:HelloWorld路由与视图函数模板与Jinja2表单处理与用户输入...
- 每日一库之 Go 语言开发者的神器—Gotx
-
点击上方蓝色“Go语言中文网”关注我们,领全套Go资料,每天学习Go语言简介Gotx是一个Go语言(Golang)的解释器和运行环境,只有单个可执行文件,绿色、跨平台,无需安装任何Go语言环境就可...
- MySQL性能调优工具包制作(mysql性能调整)
-
一、最终工具包内容mysql_tuning_toolkit/├──scripts/#核心脚本│├──sysbench-pro.sh#...
- 掌握TensorFlow核心用法:从安装到实战的完整指南
-
一、为什么TensorFlow值得学习?作为全球使用最广泛的开源机器学习框架,TensorFlow已累计获得超过17万GitHub星标,支撑着Google搜索、Waymo自动驾驶、NASA卫星图像分析...
- 如何把PY 打包成EXE安装文件(pypy 打包exe)
-
将Python脚本打包成EXE文件通常使用第三方工具实现,以下是详细步骤和注意事项:...
- Pygame Zero 详细使用教程(python zerorpc)
-
PygameZero是一个基于Pygame的简化游戏开发框架,特别适合初学者和快速原型开发。它隐藏了许多底层的复杂性,使得开发者可以更专注于游戏逻辑的实现。本文将通过分析提供的代码,详细介绍如...
- Stable diffusion AI画图辅助脚本 Script 的使用(二)
-
本篇为脚本使用介绍的第二部分,主要介绍Promptmatrix提示词矩阵以及UltimateSDUpscale终极SD放大这两个脚本,同时也简单介绍一下如何编写自己的脚本。1、Promp...
- 一文明白Python 的import如何工作
-
Pythonimport系统的基础知识Python的import系统是该语言设计的关键部分,允许模块化编程和代码的轻松重用。了解这个系统对任何Python程序员都很重要,因为它决定了代码的结构...
- Highlight.js - 前端的代码语法高亮库
-
千辛万苦写了篇技术分享,贴了一堆代码,兴高采烈地发到了自己的博客网站上。结果却发现代码全是白底黑字,字体还难看得很,你瞬间就没了兴致。能不能让网页也能像IDE那样,做带语法高亮的炫酷显示呢?来看一...
- xbox xsx/s ps2模拟器 战神12,北欧女神2 配置教程
-
xsxxss下载PS2独立模拟器,Retroarch全能模拟器地址。...
- RetroArch 着色器、金手指怎么用? 重返复古游戏萤幕滤镜效果
-
自从上次分享RetroArch模拟器的一些技巧后,许多模拟器新用户对老旧游戏机感到好奇,为什么游戏画面看起来会有很多马赛克。这主要是因为当年的游戏开发商是针对当时的屏幕进行设计的,所以在现在的高分辨率...
- 一周热门
- 最近发表
-
- 用Python轻松修改Word文件的作者和时间,打造自己的专属效率工具
- 插件开发js代码划分(js插件编写)
- 5分钟掌握Python中的标准输入、标准输出、标准错误
- 高大上的解答:在 'packages.pyi' 中找不到引用 'urllib3'
- Flask 入门教程(flask快速入门)
- 每日一库之 Go 语言开发者的神器—Gotx
- MySQL性能调优工具包制作(mysql性能调整)
- 掌握TensorFlow核心用法:从安装到实战的完整指南
- 如何把PY 打包成EXE安装文件(pypy 打包exe)
- Pygame Zero 详细使用教程(python zerorpc)
- 标签列表
-
- mydisktest_v298 (34)
- document.appendchild (35)
- 头像打包下载 (61)
- acmecadconverter_8.52绿色版 (39)
- word文档批量处理大师破解版 (36)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- parsevideo (33)
- 个人网站源码 (37)
- centos7.4下载 (33)
- mysql 查询今天的数据 (34)
- intouch2014r2sp1永久授权 (36)
- 先锋影音源资2019 (35)
- jdk1.8.0_191下载 (33)
- axure9注册码 (33)
- pts/1 (33)
- spire.pdf 破解版 (35)
- shiro jwt (35)
- sklearn中文手册pdf (35)
- itextsharp使用手册 (33)
- 凯立德2012夏季版懒人包 (34)
- 反恐24小时电话铃声 (33)
- 冒险岛代码查询器 (34)
- 128*128png图片 (34)
- jdk1.8.0_131下载 (34)