基于华擎J3455-ITX主板DIY黑群晖手记

最近心里长草了,虽说已经过了爱折腾的年纪,可是想要自己DIY一个NAS的想法却越来越强烈,主要原因是——穷,群晖的机器很好,可是太贵,而且配置不高,能买得起的自己瞧不起,瞧的起的又买不起。这样的结果就是每天都在看,越看草长的就越高,最后一狠心,咬牙跺脚把草割了吧,自己DIY一个。
先晒下配置清单:

主板:华擎J3455-ITX    505元
内存:金士顿DDR3 1600 低电压版笔记本内存    175元
机箱:3.5寸热插拔盘位*4+2.5寸内置盘位*2共6盘位    320元
电源:荣盛达 SD-235PSU 1U Flex电源    120元
扩展卡:PCI-E转SATA3.0扩展卡    42元
硬盘:希捷酷狼3T    760元
启动U盘:闪迪酷豆16G    49元
运费:机箱电源运费    39元
--------------------------------
总计:2060元(其中有点折扣)

华擎的这个主板点毛病,一个是挑内存,二个是二次启动,三个是只支持Win10和Ubuntu Server 16.10系统。挑内存这个毛病没办法解决,不过官方给出了支持的内存型号,照着买就可以了;二启这个毛病,说的是如果断电了的话,再开机会启动两次,BIOS升级到1.2版本可能会有改善;最后一个毛病挑系统这个,应该是CPU的原因,这个CPU太新了,Linux的话需要4.8以上的内核才能识别。
下面说下安装黑群晖的过程,只有文字,没有图:
需要准备的程序清单(必要):

1. synoboot_JogNAS_Jun101_boot_602.img    引导镜像
2. DSM_DS3615xs_8451.pat    群晖6.0.2_8415系统
3. Win32DiskImager    烧录软件
4. ChipGenius    芯片无忧
5. 算号器
6. SynologyAssistantSetup-6.0-7319.exe    安装助手

步骤:
1.烧录启动U盘,把群晖的引导镜像即synoboot_JogNAS_Jun101_boot_602.img烧录么U盘中
2.使用ChipGenius查看U盘的vid和pid,并记录下来
3.打开算号器,把生成的sn和mac1记录下来
4.打开刚烧录完的U盘,使用notepad++等文本编辑工具打开U盘的/grub/grub.cfg文件,找到里面的vid/pid/sn/mac1,分别修改成步骤2和3中记录下来的内容,注意修改vid和pid时,前面的0x需要保留,所有的后面都不要有空格
5.把U盘插入到NAS的USB插口,NAS连接网线和显示器,接上键盘,开机,设置成从U盘启动
6.引导至U盘之后,会看到一个选择的菜单,一共有5条,选第3个,DS3615xs 6.02 Baremetal with Jun's Mod v1.01 Force Install,之后回车
7.在与NAS同一局域网的电脑上,把群晖的安装助手安装好,之后打开安装助手,安装助手会自动搜索同一局域网下的NAS服务器,过不了一会儿就会找到一个
8.在安装助手上,右键找到的这个NAS服务器,选择“安装”,之后选择本地的DSM_DS3615xs_8451文件,填上账号密码,会自动安装
9.安装完成,会提示重启,这时候会等很长时间
10.这一步也很关键,网上很多教程都会忽略了这一点,那就是如果重启完之后,在安装助手的“状态”列里显示的是“可转移”,那么你需要再把NAS接上显示器,之后重启进到步骤6中显示的那5个菜单,选第1个,之后就好了。
我被这个坑的很惨,参考的教程还特地说步骤6之后就不需要显示器了,结果就是我也不知道当时是什么情况,一直以为是自己哪一步没弄好,或者是群晖的安全限制了,一直折腾到凌晨两点半实在是着不住了也没安装好,一直是可转移,到网上搜索相关的问题,都没有给出解决方法,直到今天上午忽然有了灵感,插上显示器一看,果然是这个的原因。

完之后就可以嗨皮的玩了。

附:相关文件下载

提高WebRequest方法的并发限制

在C#中,WebRequest方法和WebClient方法,在多线程时,对并发请求数量有一个默认限制,这个限制与操作系统相关,在Windows XP/Windows 7等PC系统上默认为2个,而在Windows 2008等服务器系统中,默认为10个,也就是说在出现高并发的环境中,使用WebRequest方法来进行POST或GET请求时,最多只能同时发送10个,剩下的都在排队。出现这个问题的原因是,在HTTP 1.0和HTTP 1.1规定最大连接数就是2,就一直延用到现在。
解决方法:
在程序中设置:

System.Net.ServicePointManager.DefaultConnectionLimit = 512;  //建议最高不要超过1024,具体看使用环境是否需要

或者在配置中设置:

<configuration>
    <system.net>
        <connectionManagement>
            <add address = "http://www.google.com" maxconnection = "512" ></add>
            <add address = "*" maxconnection = "512" ></add>
        </connectionManagement>
    </system.net>
</configuration>

以上。

Visual Studio 2017 问题集锦

前几天微软发布Visual Studio 2017 RC版,第一时间下载安装并体验了一番,把我之前在Visual Studio 2015下面写的IP高精度定位网站升级到VS2017项目,在此期间遇到了点问题,就在这里开一篇文件,来统一写一下在使用2017的过程中遇到的问题及解决方法吧,该文章不定期的更新。

以下问题是在.Net Core项目下出现的+++
1.类库的改变
在使用VS2015写.net core项目的时候,如果要新建类库,可以直接建.Net Core类库,之后在其他项目下调用,而在VS2017下,可能需要创建的是.Net Standard类型的类库,才能在其他项目中进行调用。
2.创建控制器报错
在创建新的控制器的时候,可能会出现如下错误:

“No executable found matching command "dotnet-aspnet-codegenerator"”

如下图所示:

此时,打开网站项目下的.csproj文件,添加如下代码:

  <ItemGroup>
        <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0-msbuild3-final" />
  </ItemGroup>

之后再添加控制器就可以了。

3.项目迁移升级时报错
项目从2015升级到2017时,报下面的错误:

No executable found matching command "dotnet-migrate"

只要卸载之前的Microsoft .NET Core 1.0.1 的SDK,重新安装.NET Core 1.1.1 的SDK就可以了

以上。

Windows Server 2008 R2 让IIS支持高并发

IIS的默认设置只能支持很小的访问量,访问量大了(比如每秒几千)就会不响应,可以通过下面的设置使IIS支持高并发访问

1.调整IIS应用程序池队列长度:

IIS管理——>应用程序池——高级设置
队列长度:65535

2.调整IIS的appConcurrentRequestLimit设置
默认值为5000,修改为10万
在cmd中执行下面语句

c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000

之后可以在%systemroot%\System32\inetsrv\config\applicationHost.config中查看到该设置:

<serverRuntime appConcurrentRequestLimit="100000" /> 

3.调整machine.config中的processModel>requestQueueLimit的设置
默认值5000,修改为10万

<configuration>
    <system.web>
        <processModel enable="true" requestQueueLimit="100000"/>

4.修改注册表,调整IIS 7支持的同时TCPIP连接数
默认值5000,修改为10万

reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000 

5.重启服务使生效

net stop http  & net start  http & iisreset

SQL Server on Linux 初体验

最近才无意中发现,原来微软已经在去年(2016年)的3月8日(一个特殊的日子)发布了SQL Server on Linux 版本,已经过去一年多了,我竟然才知道,真是大意了。无论怎样,还是先大概的试一下吧,至少先把数据库安装上看看长什么样子的吧。
先说下安装的前提条件:

1.CentOS(没提版本,最好是7.0以上吧,不确定6.x及以下的可不可以)、ubuntu 16.04或ubuntu 16.10,或docker等
2.要求内存最低3.25G
3.如果没有突发内存(即swap分区),不能安装,如部分不带swap分区的VPS就不能安装SQL Server

整体来说要求很高,下面开始安装体验。
之前看过其他的文章,说需要openssl 1.0.2以上版本,实际测试过程中发现并不需要;另外安装过程大概需要几分钟至几十分钟时间不等,取决于你的网络状态,下载服务器位于国外,会比较慢,最好是在screen下安装。我是在CentOS 7.1环境下安装的,下面简单说下安装过程:
1.添加centos的SQL Server源的配置文件:

curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo

2.使用yum安装SQL Server:

yum install -y mssql-server

3.配置数据库:

/opt/mssql/bin/mssql-conf setup

之后设置数据库sa账号的密码,要满足一定的复杂度,一般大小写英文+数字+特殊符号,长度8位以上,都可以满足。
4.查看数据库状态:

systemctl status mssql-server

5.设置防火墙,把1433端口添加到例外:

firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload

6.更新:

yum update mssql-server

7.卸载:

yum remove mssql-server

卸载之后删除数据库文件:

rm -rf /var/opt/mssql/

到这里数据库部分就安装完了,下面可以安装可选包:

一、安装SQL Server工具包:
1.安装
如果工具包是在其他Linux服务器上安装,需要先添加源:

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

之后安装:

yum install mssql-tools unixODBC-devel

2.更新:

yum check-update
yum update mssql-tools

二、安装全文检索:
1.安装:

yum install -y mssql-server-fts

2.更新:

yum check-update
yum update mssql-server-fts

以上过程完毕后,我们的数据库就彻底安装完了,下面是使用。
Linux下:
1.连接数据库:
需要安装SQL命令行工具,具体包含在前面安装的SQL可选工具包中,如果你已经安装了,那么使用下面的命令连接:

sqlcmd -S localhost -U SA -P '你的SA账号的密码'

2.查询可用的数据库:

SELECT Name from sys.Databases;
GO

3.创建数据库:

CREATE DATABASE testdb;
GO

4.选择指定的数据库:

USE testdb;
GO

5.建表:

CREATE TABLE inventory (id INT, name NVARCHAR(50), quantity INT);
GO

6.向表中插入数据:

INSERT INTO inventory VALUES (1, 'banana', 150);
INSERT INTO inventory VALUES (2, 'orange', 154);
GO

7.查询:

SELECT * FROM inventory WHERE quantity > 152;
GO

8.退出SQL命令行:

QUIT

Windows下连接:
可以使用SQL Server Management Studio (SSMS)、PowerShell和SQL Server Data Tools (SSDT)。
使用SQL Server Management Studio的话,需要安装新版本:https://go.microsoft.com/fwlink/?linkid=840957,之后使用方法与Windows下的一致。

以上。

分类

最新文章

最近回复

  • 青山: 某种原因,暂停友链,抱歉。
  • 青山: 计划搬迁到腾讯云,正...
  • 老徐: 具体要哪个呢?
  • 老徐: 是不是有点老?
  • 青山: 哇,林志炫
  • 老白: 哇,这改的可以,能不...
  • 老徐: 23333
  • 许建华: 我是为了表情包来的~
  • vultr vps: 感谢分享深入学习
  • 青山: 每一次都是不同的感受

归档

标签云

C# .net core asp.net 情感 SQL mongodb sql server EasyUI 安全 激活 linux 身份验证 https typecho .net sql注入 kms MVC IIS 高并发 IE 坑爹 服务器 mysql Oracle Combobox Datagrid 口语 数据抓取

其它