安装go
我是在windows下开发,所以只需要在win10 下安装go即可。安装比较无脑,一路点击next即可。初学go建议采用goland,代码提示和补全很强大。
对于当前时间安装的go,应该没人会去使用gopath或者vendor了,如果工作中遇到直接google即可。
goland
安装
goland是jerBrains针对go开发的IDE,安装也比较无脑,一路next即可。goland不想pycharm有社区版,golngd只有收费版本,买不起正版的同学可以试试jetBrains的开源计划,可以免费使用goland。
配置
- 安装自己顺手的keymap
- tools下的file watcher安装fmt和goimports,保存时会自动格式化代码
修改go模块下载地址
go env -w GOPROXY=https://goproxy.io,direct
开启go模块化
go env -w GO111MODEULE=on
安装mongoDb
准备事项
首先得有一个安装好了的Ubuntu 20.04,然后更新下系统
sudo apt-get update
sudo apt-get upgrade
安装依赖
sudo apt-get install gnupg
添加公钥
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
添加源
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
更新
sudo apt-get update
安装
sudo apt-get install -y mongodb-org
为防止意外升级,可以将mongodb固定到当前版本
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
如果采用的默认安装,那么数据目录为/var/lib/mongodb
,日志目录为/var/log/mongodb
mongodb默认用户为mongodb
,配置文件在/etc/mongod.cong
远程连接
如果想远程连接,需要注释掉# bindIp: 127.0.0.1
,另外最好开启密码登录auth=true
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
# bindIp: 127.0.0.1
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
security:
authiorzation: enabled
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
使用mongodb
采用mongo
命令进入mongodb的shell
mongo
# MongoDB shell version v4.4.5
# connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
# Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
# connect@src/mongo/shell/mongo.js:374:17
# @(connect):2:6
# exception: connect failed
# exiting with code 1
如果出现注释中的提示,查看下mongo是否运行了,没有运行的话启动一下就行了
进入shell之后,db
查看当前的数据库
db
使用某个数据库:use database_name
use examples
当想使用的数据库不存在时,会自动创建数据库
默认端口 | 介绍 |
---|---|
27017 |
mongod 和 mongos 实例的默认端口。你可以通过 port 或 --port 改变该端口。 |
27018 |
设置 --shardsvr 运行变量或在配置文件里设置 clusterRole 为 shardsvr 时的默认端口。 |
27019 |
设置 --configsvr 运行变量或在配置文件中将 clusterRole 设置为 configsvr 时的默认端口。 |
28017 |
系统状态网页的默认端口。系统状态网络页面永远可以在比 port 大 1000 的端口反问。 |
创建管理员
创建管理员需要进入admin数据库
use admin
show users
创建用户
db.createUser({user:"root",pwd:"hhlin1118",roles:["root"]})
此时再查看就可以看到用户信息了
{
"_id" : "admin.root",
"userId" : UUID("ecfe5e44-36b1-4735-9d1b-d9180c15b92e"),
"user" : "root",
"db" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
安装yapi
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
本系列中用到的第三方服务均采用docker快速部署和配置。
安装虚拟机,安装yapi,根据api文档进行开发。本人虚拟机采用的是ubuntu,因为本人经常使用,所以没有安装课程中的centos。安装虚拟机的过程请自行百度/Google。
docker安装yapi的配置
通过环境变量配置的选项会覆盖通过 config.json
或者 config.js
配置的选项。
基础配置
环境变量名称 | 类型 | 说明 | 示例 |
---|---|---|---|
YAPI_ADMIN_ACCOUNT | string | 管理员账号(邮箱) | admin@foo.bar |
YAPI_ADMIN_PASSWORD | string | 管理员密码 | adm1n |
YAPI_CLOSE_REGISTER | boolean | 是否关闭注册,由于 docker-YApi 已内置相关插件,你可在关闭注册后在后台手动添加用户 | true |
YAPI_NPM_REGISTRY | string | npm 源,目前仅在安装插件时使用,默认官方源,国内可以设为淘宝源加速 | https://registry.npm.taobao.org |
数据库配置
环境变量名称 | 类型 | 说明 | 示例 |
---|---|---|---|
YAPI_DB_SERVERNAME | string | MongoDB 服务地址 | yapi-mongo |
YAPI_DB_PORT | number | MongoDB 服务端口 | 27017 |
YAPI_DB_DATABASE | string | 使用的 MongoDB 数据库 | yapi |
YAPI_DB_USER | string | 登录 MongoDB 服务的用户名 | root |
YAPI_DB_PASS | string | 登录 MongoDB 服务的用户密码 | r00t |
YAPI_DB_AUTH_SOURCE | string | MongoDB 身份认证所用库 | admin |
YAPI_DB_CONNECT_STRING | string | 使用 MongoDB 集群时配置 | mongodb://127.0.0.100:8418,127.0.0.101:8418/yapidb?slaveOk=true |
YAPI_DB_OPTIONS | json | Mongoose 连接 MongoDB 服务时的额外选项,一般不用设置。请参考: Mongoose.prototype.connect() | {} |
邮件配置
环境变量名称 | 类型 | 说明 | 示例 |
---|---|---|---|
YAPI_MAIL_ENABLE | boolean | 是否启用 | true |
YAPI_MAIL_HOST | string | 邮件服务地址 | smtp.163.com |
YAPI_MAIL_PORT | number | 邮件服务端口 | 465 |
YAPI_MAIL_FROM | string | 发送人邮箱 | foo@163.com |
YAPI_MAIL_AUTH_USER | string | 登录邮件服务的用户名 | bar@163.com |
YAPI_MAIL_AUTH_PASS | string | 登录邮件服务的用户密码 | f00bar |
YAPI_MAIL_OPTIONS | json | 传递给 Nodemailer 的额外选项,一般不用设置。请参考:Nodemailer > SMTP transport | {"tls":{"rejectUnauthorized":false}} |