深圳做网站的网络公seo技术优化服务
前言
windows部署
1、一个api项目,里面包含了所有api。
2、一个elasticsearch项目,用来存储相关数据。
3、一个UI项目,也就是查看异常、设置新异常邮件通知等操作的后台。
异常在客户端提交的代码原理:一个异常被提交,先写入一个队列,然后随后会被post 到 api ,api收到数据后也是先写队列,然后再通过job作业同步到elasticsearch。
expectionless允许不要redis缓存,job作业随api项目一起启动,不需要单独部署。
综上,该项目最小化运行的方案:不要redis,不要job单独进程,只需要部署:1、api项目。2、elasticsearch项目。3、ui项目
ExceptionLess
-
进入Github下载最新包。
- 本次采用ExceptionLess 8.0
- net 7 runtime
- ElasticSearch至少为 7.x
-
Visual Studio 编译项目。打开
Exceptionless.Web
编译项目。 -
参考配置如下
- 发布环境运行
appsettings.Production.yml
配置文件。 - 配置文件键值对 xx=xx;xx=xx
- css放置在文件夹中编译完成拷贝。js会错误。
- 发布环境运行
ConnectionStrings:Redis: server="192.11.0.22:6379,defaultDatabase=6,password=pwd,connectTimeout=1500,connectRetry=1,syncTimeout=1000,abortConnect=false"Elasticsearch: server=http://192.168.199.30:9200Cache: provider=redis;MessageBus: provider=redis;Queue: provider=redis;Storage: provider=folder;path=.\storage
# LDAP: ''
# 此处为邮件发送,例如:smtps://xxx%40qq.com:xxx@smtp.qq.com:465 . 邮箱地址@请转义为 %40
# Email: smtp://localhost:1025 # Base url for the ui used to build links in emails and other places.
BaseURL: 'http://localhost:9001/#!'# Email from
SmtpFrom: xxx@xx.com# Wether or not to run the jobs in process. Requires Redis to be configured when running jobs out of process.
RunJobsInProcess: true
#AppScope: dev
#EnableAccountCreation: false
#DisableIndexConfiguration: false
#AllowedOutboundAddresses: "exceptionless"Serilog:MinimumLevel:Default: DebugApm:#Endpoint: http://localhost:4317Insecure: true#SslThumbprint: CB16E1B3DFE42DF751F93A8575942DA89E10BC98EnableLogs: falseEnableTracing: falseEnableMetrics: trueFullDetails: trueDebug: falseConsole: false
-
邮件配置
- 取得SMTP授信信息。例如QQ
smtps://10000:bsvfwsfcucxwagfa@smtp.qq.com:465
- 接收邮件服务器: pop.qq.com,使用 SSL,端口号 995
- 发送邮件服务器: smtp.qq.com,使用 SSL,端口号 465 或 587
- smtps://QQ号:授权码@发送邮件服务器
- 配置额外参数 SmtpFrom: xxx@xx.com。此处在官方配置文件并没有
- 取得SMTP授信信息。例如QQ
-
在8.0版本中,ExceptionLess已将UI项目集成到
Exceptionless.Web
中- 本地安装Node
- Visual Studio Code打开
ClientApp
项目 npm install
安装依赖npm run build
编译项目npm run serve
运行编译项目- 编译之后的项目文件为
ClientApp
中的dist
文件 app.config.97c8c67dce8f8f20.js
类似此名字,为配置文件。- 配置UI项目中的
BASE_URL
即可 - 参考如下
(function () {'use strict';angular.module('app.config', []).constant('BASE_URL', 'https://localhost:5201').constant('EXCEPTIONLESS_API_KEY').constant('EXCEPTIONLESS_SERVER_URL').constant('FACEBOOK_APPID').constant('GITHUB_APPID').constant('GOOGLE_APPID').constant('INTERCOM_APPID').constant('LIVE_APPID').constant('SLACK_APPID').constant('STRIPE_PUBLISHABLE_KEY').constant('SYSTEM_NOTIFICATION_MESSAGE').constant('USE_HTML5_MODE', false).constant('USE_SSL', false).constant('ENABLE_ACCOUNT_CREATION', true);}());
ElasticSearch
- 服务器安装ElasticSearch
- 需安装对应
mapper-size
插件!!!非常重要!!- Mapper-Size
- 相关端口,IP地址开放
- 如果不启用SSL,需要停用
Redis
- 服务器安装Redis
其它事项
-
提交
// 注入Exceptionless builder.Services.AddExceptionless(s =>{s.ServerUrl = "https://localhost:5201";s.ApiKey = "LY6503R2lFm8CqQ6uI9O4fgdVrMJD8shZ7NKVwT9";});// Exceptionless。app.UseExceptionless();//e.ToExceptionless().Submit();
- Nlog或者Log4
-
ExceptionLess一体化方案,即API同UI在一个服务器
- dotnet Exceptionless.Web.dll --urls=“https://localhost:5201”
- UI项目可默认配置
- 5201为开发环境默认端口
- ui项目默认5100
-
参考 记一次“机智如我”的部署Exceptionless中遇到的各种坑
-
参考 exceptionless 在 windows 上 手动部署,非docker 详细步骤
-
参考 Send Email Bug!!