227 lines
7.0 KiB
Markdown
227 lines
7.0 KiB
Markdown
# 安装
|
||
|
||
> 需注意因使用到了json类型的字段,因此MySQL需是5.7以上的版本。
|
||
>
|
||
> MySQL > 5.7
|
||
>
|
||
> Go >= 1.14
|
||
>
|
||
> Redis
|
||
|
||
若是安装出错,请先确认redis及MySQL是否安装配置成功,若是还有问题,可在群内提问。
|
||
|
||
## 配置文件介绍
|
||
|
||
script:
|
||
path: ./static/scripts # 任务脚本路径
|
||
settings:
|
||
application:
|
||
domain: localhost:8002 # 用于将HTTP请求重定向到HTTPS的主机名
|
||
host: 0.0.0.0 # 启动的地址,主机ip 或者域名,默认0.0.0.0
|
||
ishttps: false # 是否为HTTPS
|
||
mode: dev # 开发模式
|
||
name: ferry-test # 服务名称
|
||
port: "8002" # 启动端口
|
||
readtimeout: 1 # 请求读取超时时间,从连接被接受(accept)到request body完全被读取(如果你不读取body,那么时间截止到读完header为止)
|
||
writertimeout: 2 # 从request header的读取结束开始,到response write结束为止(也就是ServeHTTP 方法的声明周期)
|
||
database:
|
||
dbtype: mysql # 数据库类型
|
||
host: 127.0.0.1 # 数据库地址
|
||
name: ferry # 数据库名称
|
||
password: 123456 # 数据库密码
|
||
port: 3306 # 数据库端口
|
||
username: ferry # 数据库用户名
|
||
email:
|
||
alias: ferry # 邮箱别名
|
||
host: smtp.163.com # 邮件服务器
|
||
pass: your password # 邮箱密码
|
||
port: 465 # 邮件服务器端口
|
||
user: fdevops@163.com # 邮箱账号
|
||
gorm:
|
||
logmode: 0 # gorm详细日志输出,0表示不输出,1表示输出
|
||
maxidleconn: 0 # 最大空闲连接
|
||
maxopenconn: 20000 # 最大连接数据
|
||
jwt:
|
||
secret: ferry # JWT加密字符串
|
||
timeout: 3600 # 过期时间单位:秒
|
||
log:
|
||
dir: logs # 日志路径
|
||
operdb: false
|
||
ssl:
|
||
key: keystring
|
||
pem: temp/pem.pem
|
||
|
||
## 本地开发
|
||
|
||
后端程序启动:
|
||
|
||
# 1\. 拉取代码,以下命令二选一即可:
|
||
git clone https://github.com/lanyulei/ferry.git
|
||
git clone https://gitee.com/yllan/ferry.git
|
||
|
||
# 2\. 进入工作路径
|
||
cd ferry
|
||
|
||
# 3\. 修改配置
|
||
vim config/settings.dev.yml
|
||
1). 修改为自己的数据库信息
|
||
2). 修改为自己的邮件服务器地址
|
||
其他的根据情况来修改调整
|
||
|
||
# 4\. 安装依赖
|
||
go get
|
||
|
||
# 5\. 连接数据库,并创建数据库
|
||
create database ferry charset 'utf8mb4';
|
||
|
||
# 6\. 初始化数据结构
|
||
go run main.go init -c=config/settings.dev.yml
|
||
|
||
# 7\. 测试启动程序,没有报错及没有问题
|
||
go run main.go server -c=config/settings.dev.yml
|
||
|
||
# 8\. 热加载方式启动
|
||
air
|
||
|
||
前端程序启动:
|
||
|
||
# 1\. 拉取代码,以下命令二选一即可:
|
||
git clone https://github.com/lanyulei/ferry_web.git
|
||
git clone https://gitee.com/yllan/ferry_web.git
|
||
|
||
# 2\. 进入工作路径
|
||
cd ferry_web
|
||
|
||
# 3\. 安装依赖
|
||
npm config set registry https://registry.npm.taobao.org
|
||
npm install
|
||
# 若npm install安装失败,可尝试使用一下命令安装
|
||
npm install --unsafe-perm
|
||
|
||
# 推荐使用cnpm
|
||
npm install -g cnpm --registry=https://registry.npm.taobao.org
|
||
cnpm install
|
||
|
||
# 4\. 启动程序
|
||
npm run dev
|
||
|
||
# 5\. 访问http://localhost:9527,是否可正常访问
|
||
|
||
## 部署线上
|
||
|
||
后端部署:
|
||
|
||
# 1\. 拉取代码,以下命令二选一即可:
|
||
git clone https://github.com/lanyulei/ferry.git
|
||
git clone https://gitee.com/yllan/ferry.git
|
||
|
||
# 2\. 进入工作路径
|
||
cd ferry
|
||
|
||
# 3\. 交叉编译(centos)
|
||
env GOOS=linux GOARCH=amd64 go build
|
||
更多交叉编译内容,请访问 https://www.fdevops.com/2020/03/08/go-locale-configuration
|
||
|
||
# 4\. config目录上传到项目根路径下,并确认配置信息是否正确
|
||
vim config/settings.yml
|
||
1). 修改为自己的数据库信息
|
||
2). 修改为自己的邮件服务器地址
|
||
其他的根据情况来修改调整
|
||
|
||
# 4\. 创建日志路径及静态文件经历
|
||
mkdir -p log static/uploadfile static/scripts static/template
|
||
|
||
# 5\. 将本地项目下static/template目录下的所有文件上传的到,服务器对应的项目目录下static/template
|
||
|
||
# 6\. 连接数据库,并创建数据库
|
||
create database ferry charset 'utf8mb4';
|
||
|
||
# 7\. 初始化数据
|
||
./ferry init -c=config/settings.yml
|
||
|
||
# 8\. 启动程序,推荐通过"进程管理工具"进行启动维护
|
||
nohup ./ferry server -c=config/settings.yml > /dev/null 2>&1 &
|
||
|
||
前端部署:
|
||
|
||
# 1\. 拉取代码,以下命令二选一即可:
|
||
git clone https://github.com/lanyulei/ferry_web.git
|
||
git clone https://gitee.com/yllan/ferry_web.git
|
||
|
||
# 2\. 进入工作路径
|
||
cd ferry_web
|
||
|
||
# 3\. 安装依赖
|
||
npm config set registry https://registry.npm.taobao.org
|
||
npm install
|
||
# 若npm install安装失败,可尝试使用一下命令安装
|
||
npm install --unsafe-perm
|
||
|
||
# 推荐使用cnpm
|
||
npm install -g cnpm --registry=https://registry.npm.taobao.org
|
||
cnpm install
|
||
|
||
# 4\. 修改 .env.production 文件
|
||
# base api
|
||
VUE_APP_BASE_API = 'http://fdevops.com:8001' # 修改为您自己的域名
|
||
|
||
# 5\. 编译
|
||
npm run build:prod
|
||
|
||
# 6\. 将dist目录上传至项目路径下即可。
|
||
mv dist web
|
||
|
||
# 7\. nginx配置,根据业务自行调整即可
|
||
server {
|
||
listen 8001; # 监听端口
|
||
server_name localhost; # 域名可以有多个,用空格隔开
|
||
|
||
#charset koi8-r;
|
||
|
||
#access_log logs/host.access.log main;
|
||
location / {
|
||
root /data/ferry/web;
|
||
index index.html index.htm; #目录内的默认打开文件,如果没有匹配到index.html,则搜索index.htm,依次类推
|
||
}
|
||
|
||
#ssl配置省略
|
||
location /api {
|
||
# rewrite ^.+api/?(.*)$ /$1 break;
|
||
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
||
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;
|
||
}
|
||
|
||
# 登陆
|
||
location /login {
|
||
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
||
}
|
||
|
||
# 刷新token
|
||
location /refresh_token {
|
||
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
||
}
|
||
|
||
# 接口地址
|
||
location /swagger {
|
||
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
||
}
|
||
|
||
# 后端静态文件路径
|
||
location /static/uploadfile {
|
||
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
||
}
|
||
|
||
#error_page 404 /404.html; #对错误页面404.html 做了定向配置
|
||
|
||
# redirect server error pages to the static page /50x.html
|
||
#将服务器错误页面重定向到静态页面/50x.html
|
||
#
|
||
error_page 500 502 503 504 /50x.html;
|
||
location = /50x.html {
|
||
root html;
|
||
}
|
||
}
|