作者归档:renfengbin

网站静态资源迁移到阿里OSS的方法,不需要更改网站源代码

随着网站的运行,网站里的静态资源越来越多,网站不仅包含自身的脚本,样式,配图等静态资源,还包括网站内容的需要上传的图片。图片一多,就需要考虑将图片单独分离出去来减轻服务器的IO读写。自建图片服务器虽然没有技术难度,但是考虑到时间,冗余,备份,性能等成本,最后放弃了自建图片服务器,选择使用阿里的OSS+CDN来做网站的静态资源存储。具体方法如下: 1,首先需要准备一个域名或者已有域名的二级域名来引用站点里的静态资源,单独域名做静态资源的引用的好处网上很多,可以根据需要来处理。 2,根据需要购买阿里的OSS和CDN服务,【阿里的OSS和CDN对域名只需要备案,并不要求必须接入阿里云,简化了许多流程】 3,在oss控制台创建Bucket,用来存储自己的静态资源。由于是通过CDN进行访问,不单独进行访问所以读写权限设置成了私有。在CDN里开启私有Bucket回源即可。 4,将服务器上现有的静态资源同步到阿里OSS创建的Bucket里。阿里针对OSS提供了很多可用的工具,根据需要进行选择即可。【阿里OSS工具汇总页面:https://help.aliyun.com/document_detail/44075.html?spm=5176.doc32204.6.1025.IMy0ZG】最后选择了ossutil这个命令行工具进行数据同步,之所以选择这个工具一是没有依赖,二是本身静态资源也就几百G,没必要使用ossimport2这类的工具进行同步。下载工具后,记得将ossutil的路径添加到Windows的系统环境变量里,方便使用。 在CMD里执行同步命令: x: 切换盘符。 cd x:\files 进入到files文件夹 ossutil64.exe config -e EndPoint -i AccessKeyID -k AccessKeySecret 配置工具替换成自己的id和key ossutil64.exe cp uploads/ oss://bucket/uploads/ -r -f -u –snapshot-path=log/ 将uploads文件夹下的内容全部上传到bucket里的uploads文件夹下【oss其实没有文件夹概念的】. 更多ossutil用法可以使用ossutil64.exe help cp进行查看。 5,就是将上传的图片自动同步到阿里的oss里面。为了不修改网站代码,只能从服务器上保存图片的文件夹入手。对服务器上保存图片的文件夹进行监控,有文件创建就提交到oss上。需要用到一个小工具inotifywait 地址:https://github.com/thekid/inotify-win,需要写一个命令行程序通过管道接收inotifywait的文件地址。 syncfileOSS.exe主要代码 namespace syncfileOSS { class Program … 继续阅读

发表在 Net | 评论关闭

服务器上部署https,免费又好用的https证书

随着苹果发布声明接口https化,再加上微信小程序的接口必须使用https,可是服务器上部署https就需要一笔小小的费用,在天朝掏钱的事是没人干的,都在找寻免费的服务,虽然挺折腾,但是难不住天朝的程序员。特别是为了测试微信小程序,实在是没必要购买ssl证书,只好寻求免费的服务。 StartSSL(官网:https://www.startssl.com/),提供免费的ssl证书申请,16年的时候按照网上的教程申请过一个免费的证书,用着还不错,17年的时候想为相同域名下的另一个二级域名申请证书的时候,提示系统正在升级,跳转到另一个主站,申请之后一直是Pending Issued(待签发)状态,也没有原因提醒,一直没搞懂神马情况,只好另寻办法。 Let’s Encrypt,免费的,开放的证书签发服务,之前也看到过,虽然只有90天的有效期,但是如果要安装 Let’s Encrypt 凭证,必须要熟悉 Unix 指令,才能够在远端主机下指令来取得凭证(不是很难,却需要一些时间)。自从发现了有开发者推出一款名为 SSL For Free 线上工具,让你从网站上取得免费 SSL 凭证,当然这是连接 Let’s Encrypt 的凭证签发功能,不过无须自己到主机输入安装指令,即可透过网页介面来取得凭证的相关档案(包括私密金钥、CA bundle 和凭证 crt 档),再从控制台 SSL 功能将凭证安装进去就能使用。 网站名称:SSL For Free 网站链接:https://www.sslforfree.com/ 1,进入网站之后,直接在上方填入你要申请 Let’s Encrypt 凭证的网域名称,可以用空白来分隔不同的网址,例如「subdomain.domain.com domain.com other.com」,填入后点选右边的「Create Free SSL Certificate」继续。 2,为了确定这个网域名称使你所有,会有三种验证方式,如果你的网站本身开启 FTP … 继续阅读

发表在 开源, 服务器 | 标签为 , | 评论关闭

Windows Server2008 R2服务器IIS7站点突然爆出此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决方法

有一台Windows Server 2008 R2服务器由于内存问题导致服务器蓝屏并不断重启,之后引起了一系列问题,特别是爆出了此实现不是Windows平台FIPS验证加密算法的一部分,前所未闻的问题犹如泰山压顶,迅速通过度娘,Google查找问题根源。查了数十个小时,可以分为两种,一种是组策略,一种是修改注册表。 1,开始,运行,输入 gpedit.msc打开组策略,左侧列表中找到 计算机配置 – Windows设置 – 安全设置 – 本地策略 – 安全选项,并在右侧找到“系统加密:将FIPS兼容算法用于加密、哈希和签名” 双击上述策略,在弹出的选项中,将状态改为已禁用。【系统本身已是禁用状态】 2更改注册表,开始,运行,输入regedit打开注册表,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy,将Enabled的值改为0  【值本身就为0】2   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001\Control\Lsa\FipsAlgorithmPolicy,将Enabled的值改为0  【值本身就为0】 当然还有一种是说在web.config文件里增加一行<runtime><enforceFIPSPolicy enabled=”false” /> </runtime>试了试还是不行。 搜便所有互联网,基本上都是上面的解决访问,时间一分一秒的过去了,还是一筹莫展,不能这样就重做系统吧!那么多站点部署也不是那么容易的。既然是程序报错,修改程序总可以吧! 1 System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic … 继续阅读

发表在 Net, 服务器 | 标签为 , | 评论关闭

IIS7静态资源站点部署方案_加快呈现速度的方法

在IIS7下,有时我们需要对网站引用的静态资源如小图,css,js等单独配置一个站点,供其它站点使用。掌握一些部署技巧,将会加快加载速度。 配置静态资源站的时候,应用程序池的最好选择无托管代码,集成模式。应用程序池的设置如下图: 还需要在站点根目录下放置一个web.config,移除多余的模块即可。 <?xml version=”1.0″ encoding=”utf-8″?> <!– For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=152368 –> <configuration> <system.webServer> <modules> <remove name=”OutputCache”/> <remove name=”Session”/> <remove name=”WindowsAuthentication”/> <remove name=”FormsAuthentication”/> <remove name=”PassportAuthentication”/> <remove name=”RoleManager”/> <remove name=”UrlAuthorization”/> <remove name=”FileAuthorization”/> … 继续阅读

发表在 Net, 服务器 | 评论关闭

windows下npm无法安装任何包的完美解决办法

最近刚刚安装了node,在试用npm安装包的时候一直报:“npm ERR! code ECONNRESET”,怎么都不行,最后找到了一个简单的解决方法。找到node的安装目录下的node_modules\npm文件夹里找到文件npmrc,增加如下一下: registry = http://registry.cnpmjs.org 完美解决,注:由于最新版的node已经安装了npm模块,安装完node后并不需要单独安装npm模块了。

发表在 Javascript | 评论关闭