Win7 32位系统部署Exceptionless总结
- 实施背景
Exceptionless是一个开源的实时日志收集框架,可以应用于ASP.NET,ASP.NET Core,Web API,Web Forms,WPF,Console,ASP.NET MVC等技术开发的应用程序中,并且提供了REST接口可以应用再Javascript,Node.js中。它将日志收集变得简单易用并且不需要了解 太多的相关技术细节及配置值。对于负载均衡架构的应用环境,统一的日志收集系统建立是非常有必要的。本文仅对在win7 32位电脑上部署Exceptionless服务进行叙述,并记录遇到的问题。
- 准备
①更新PowerShell到3.0+版本:
打开PowerShell并输入$PSVersionTable或者$PSVersionTable.PSVersion查看当前版本
如果低于3.0版本,则需要下载安装3.0或更高版本
下载链接:https://www.microsoft.com/en-us/download/details.aspx?id=34595
打开后点击“download”,根据电脑配置选择需要下载的文件,然后“Next”
下载并安装后会提示重启电脑,重启电脑后再打开PowerShell查看版本信息是3.0就说明成功了。
更改Powershell脚本执行策略为Unrestricted(以管理员身份运行CMD,执行命令行powershell Set-ExecutionPolicy Unrestricted
)
并且执行以下语句:
[System.Net.ServicePointManager]::SecurityProtocol=[System.Net.SecurityProtocolType]::Tls12
②安装JDK:ElasticSearch是基于Java编写的,因此也就需要安装JDK(JRE)来作为运行时,当然你要先安装一下JDK,并将其配置到环境变量中。另外ElasticSearch对JRE的版本是敏感的,错误的版本,会导致ElasticSearch无法运行。
参考网站:https://www.elastic.co/cn/support/matrix 给出的对应支持版本(选择“产品和JVM”选项卡)
Jdk下载地址:https://www.oracle.com/java/technologies/downloads/#java8-windows
Java SE开发包安装完成之后,需要创建JAVA_HOME环境变量
点击“此电脑(This PC)”的属性->高级系统设置(Advanced System Setting)->环境变量(Environment Variables),新建一个用户系统变量 JAVA_HOME,设置变量值是:C:\Program Files\Java\jdk1.8.0_121,然后修改系统变量中Path变量值:在Path变量值后面加上:;%Java_Home%\bin;。
③安装IIS Express 8.0+
下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=48264
④安装.NET 4.6
下载地址:https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/net461
⑤下载ElasticSearch 5.5.2版本备用(不一定用的到)
下载地址:https://www.elastic.co/cn/downloads/past-releases
选择相应的版本下载。
下载后解压,然后试运行bin目录下elasticsearch.bat,如果运行出现了异常,需要根据cmd中报的信息进行修复,如下出现内存不足的情况
出现这种情况就要修改config目录下jvm.options文件中jvm内存设置,
默认设置的2g,电脑太垃圾了,设置成512M的时候bat文件才能正常运行。
⑥下载Exceptionless 4.1.2861版本
地址:https://github.com/exceptionless/Exceptionless/releases/tag/v4.1.0
下载后解压,然后修改一下脚本配置文件参数。
编辑Start-ElasticSearch.ps1这个PowerShell脚本,将其Param部分修改为如下:
选择不启动Kibana,以及将默认的ElasticSearch节点数从一个节点改为了两个节点
Param(
[string]$Version = "5.5.2",
[int]$NodeCount = 1,
[bool]$StartKibana = $false,
[int]$StartPort = 9200,
[bool]$OpenKibana = $true,
[bool]$ResetData = $false
)
为了能够正常执行PowerShell脚本,先以管理员权限执行一下下面这行命令:
Powershell Set-ExecutionPolicy Unrestricted
然后通过Powershell执行Start.bat脚本
等等下载完成。
下载完成后出现了Elasticsearch启动失败的情况,因为新下载的其中jvm.options文件配置没修改,删除elasticsearch-5.5.2-node1文件夹,然后修改elasticsearch-5.5.2文件夹下config目录下的jvm.options配置(安照步骤⑤试运行的结果),修改完成后,重新执行Start.bat脚本
执行成功,会在默认浏览器打开“localhost:50000”,注册一下账号就好了
到这里还没有结束,因为现在是借助IIS Express自动部署的,我们最终是要部署到IIS上的。
首先修改一下Start.bat文件:
PowerShell .\Start-Elasticsearch.ps1
rem PowerShell .\Start-Website.ps1
rem是注释掉第二行,也可以直接删除。
修改完保存后运行Start.bat文件,运行ElasticSearch,并监听9200端口,打开IIS管理器,并添加网站,物理路径指向wwwroot目录,端口设置为50000
添加后需要查看一下应用程序池中新添加的程序池的.NET Framework版本,需要设置到V4.0(右键-》高级设置)
然后修改wwwroot目录下app.config.xxxx.js文件中“BASE_URL”为服务器访问地址
修改Web.config文件中BaseURL
修改WebsiteMode为Production是允许出站邮件发送
这里要加上SmtpFrom,和Smtp填的一样,SmtpPassword是开通SMTP服务的授权码,具体怎么开通SMTP服务可以百度...
设置好后重启一下站点,就可以打开网站注册并登录了,要让其它客户端也能访问的话注意防火墙设置。
设置开机自启动Elasticsearch:
打开cmd,进入到bin文件夹下,并输入elasticsearch-service.bat install
然后按“win+R”打开运行输入services.msc
打开服务,然后双击Elasticsearch服务,并设置启动类型为自动
参考链接: