首页 文章 精选 留言 我的

精选列表

搜索[搭建],共10000篇文章
优秀的个人博客,低调大师

阿里云服务器怎么搭建sql server(即 MS SQL)?

注意,请先到阿里云官网 领取幸运券,除了价格上有很多优惠外,还可以参与抽奖。详见:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=2a7uv47d&utm_source=2a7uv47d 步骤1、配置远程桌面连接 首先确定自己的公网ip地址,这个在构建云服务器实例时,每一个实例会分配一个公网地址,一个内网地址。 然后, 开始-->运行 ,输入mstsc.exe,确定 将第一步确定的公网地址输入,点开选项 常规-->计算机中填入公网地址,用户名填入administrator。 显示可选择合适的远程桌面大小,如果不做本机操作,可以选全屏 本地资源中勾选“剪贴板”方便操作中本机与远程编辑,点详细信息 在“驱动器”中勾选本机的某驱动器,以便本机与服务器传输文件 全部设置完后,点连接 在点连接 出现要求密码的对话框时输入密码,即可进入远程桌面。 此时远程桌面配置完毕。 打开远程桌面上的计算机,会看到本机的驱动器,这样就可以将本机上需要传送的文件复制到服务器了,将来开发的程序也可上传过去。 END 步骤2、安装sqlserver2005Express 百度一个sqlserver2005Express,下载后上传到云服务器里,这是32位的。 如果出现如下对话框,选“运行程序”。 接受许可 点安装 下一步 姓名、公司随便填,“隐藏高级配置选项”前的勾去掉,以便后边进行自定义配置,初学者可以使用默认配置 客户端组件中连接组件要选,软件开发包根据需要自定 命名实例可以自定义,将来安装好后,在管理工具-->服务中可以看到这个服务名 选用“使用内置系统帐户”和“网络服务”,勾选“安装结束时启动服务”下的“SQL Server”和“SQL Brower”,这个也可以在安装后在管理工具-->服务中设置相应服务是否开机自动启动。 身份验证模式最好选“混合模式”,便于网络存取。如果用“混合模式”,则要设置sa的密码,sa是数据库的超级管理员的用户名。 继续下一步 接下来全是下一步,直到安装完毕 步骤3、查询刚才新建的实例 安装完成后,在管理工具-->服务中,找到自己刚才安装的实例。

优秀的个人博客,低调大师

springcloud微服务一:spring boot基础项目搭建及问题处理

公司接下来某个项目打算使用微服务架构,使用springcloud以及它集成的一些相关项目,因此虽然在其他方面的很多技术上还感觉急需提高,却又不得不以工作为重,先放下其他来了解一下这方面的技术。 一番了解后发现,spring cloud是建立在spring boot的基础上的,而之前虽然听说过,也随便看了一下spring boot,却没有真正使用,因此还必须先花时间学一下spring boot。 spring boot的理念是“习惯优于配置”,我个人的理解就是尽量减少开发过程中手动的spring相关的配置文件。同时使用spring boot还有一个优点就是,它可以内嵌很多容器,例如tomcat,使得原本可能需要安装tomcat才能运行的web项目,可以直接以运行jar文件的形式启动运行。 spring boot项目创建有多种方式,鉴于目前工作中使用的是eclipse开发工具,因此整个学习过程中,也都是在eclipse中进行。 而eclipse中的创建实际上也是可以有两种方式的,一种是在安装了STS插件之后直接创建,另一种是创建简单的maven项目后,修改pom.xml文件,为了提高效率,我这里就安装了STS插件,以第一种方式创建。 这个过程中还有一个小插曲,我原本的eclipse版本是Mars.1 Release (4.5.1),安装STS的时候安装不成功,说是eclipse版本不匹配,于是安装了新版的eclipse,版本号Neon.3 Release (4.6.3)。但是当我在新版的eclipse中安装好STS后,再来尝试在旧版安装时,居然又一路畅通无阻的成功了。 eclipse中STS安装也有几种方式,我的STS的安装过程是这样的: help –> Eclipse Marketplace –>Popular,然后选择下图中的插件install。 这个插件安装成功以后,就可以看到在eclipse中new project时会有spring这个选项了(当然了,不知这一个地方有变化),打开之后还会有几个子选项,如图: 而我快速创建spring boot项目的时候,使用的就是上图中第三个子选项Spring Starter Project。具体步骤是:new –>Project –>Spring Starter Project –>出现的界面中name选项后输入项目名称 –>接下来出现如下图所示界面: 这里我主要是使用了两个地方,第一个就是选择spring boot version,第二个就是在标示2的位置选择要创建的具体spring boot项目,有很多选项可供选择,而我就选了一个web项目。 创建好的web项目基本结构如下图: 创建的时候它会自动生成一个带有main方法的类,这个main方法实际上就是spring boot项目的程序入口,我在里边加入了一个@RestController和这样一段代码: @RequestMapping("/") String index(){ return "Hello Spring Boot"; } 之后整个类的代码如下: package com.springTest.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @SpringBootApplication public class SpringBootDemo1Application { @RequestMapping("/") String index(){ return "Hello Spring Boot"; } public static void main(String[] args) { SpringApplication.run(SpringBootDemo1Application.class, args); } } 当安装好STS插件之后,创建一个简单的spring boot的web项目就是这么简单,不需要像传统的spring项目一样还要配置spring.xml等配置文件以及web.xml文件。 但是需要注意的是,我在第一次创建的时候,spring boot相关的jar包下载不下来,因为公司的maven仓库中没有对应版本的,于是自己修改了maven的配置文件,加入了阿里云的maven仓库: <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> 当重新配置maven仓库,使得程序编译没有问题后,就可以启动项目了,eclipse中使用run as –>Spring Boot App就可以直接运行,不需要像传统web项目那样要加入到tomcat中才行。 启动成功后浏览器访问localhost:8080,会看到页面如下,一个简单的spring boot web项目就成功创建了。

优秀的个人博客,低调大师

基于LTE-M的eLTE搭建物联网的联接桥梁

受各国战略引领和市场推动,全球物联网应用呈现加速发展态势,物联网所带动的新型信息化与传统领域走向深度融合,正加速与制造技术、新能源、新材料等其他领域的渗透。智慧城市、智能电网、车联网等是近两年全球发展较快的重点应用领域。据估计,物联网预期未来将突破1000亿连接。 根据市场分析公司Machina的调研报告,物联网应用中的很大一部分对数据率要求不高,但对终端功耗、成本的要求较为苛刻,并且由于终端数量巨大且分布范围广,此类M2M应用需要无线网络提供无处不在的覆盖,以便于部署和运维。该类应用典型场景包括传感器、表计、移动跟踪等;Machina预计,截至2020年此类M2M应用将达到132亿连接。 目前解决M2M物联网的无线通讯技术包括短距通信技术(例如WiFi、蓝牙、ZigBee等)和一些私有M2M通讯解决方案(如Sigfox)。不可否认,这些通讯技术在特定空间范围和场景下各自拥有稳定性、功耗、连接速度等优势,但其或覆盖区域有限,对回传网络依赖严重,或受限于ISM(Industrial Scientific Medical;工业、科学、医学)频段在法规上的限制,或因非License频谱而导致系统间干扰严重,而无法对大范围或移动性布局的物联网设备进行有效支撑。如果基于蜂窝网技术能够在终端低功耗、低成本、广覆盖、大容量问题上提出合适的解决方案,则非常有希望在未来的M2M市场中获得较大的空间。 在物联网的这种需求下,华为联合运营商伙伴提出了LTE-M无线物联网端到端的eLTE解决方案,针对低数据速率、大规模终端数目及广覆盖要求等典型的M2M应用场景,可以为运营商开辟广阔的物联网市场,同时在政企等行业领域,如智慧城市、电力和燃气/水务提供厂商等,有着广泛的应用场景。根据市场需求评估,至2025年LTE-M将覆盖25%的M2M连接,即50亿的连接。方案怎么用? 智慧城市拥有感知“神经末梢” 在智慧城市场景,应用LTE-M技术的遍布城市各处的eLTE物联网感知终端构成城市的神经末梢,对城市运行状态进行实时监测,从地下管网监测到路灯、井盖等市政设施的管理,从水质、空气污染监测到建筑节能,将为实现安全高效、和谐有序、绿色低碳、舒适便捷的智慧城市发挥重要作用。 智能水表、气表,适应各种环境 在2015年巴塞罗那世界移动通信大会上,华为联合运营商Vodafone、智能水表厂商Kamstrup展示了基于LTE-M的eLTE解决方案的端到端智能抄表业务,该方案是基于现有蜂窝网技术的演进,设计了专门针对低速率、低功耗、低成本、覆盖增强M2M应用需求的全新空口技术,与可部署于云上的M2M物联网业务平台结合,成为最具有竞争力的LPWA(Low Power Wide Area)网络来满足M2M的应用需求。在该展示中,处于室内地下室、室外远距离等弱无线覆盖环境下的智能水表终端,成功通过eLTE网络准确上报终端用户数据,展示了LTE-M技术强大的覆盖能力,引起了海内外客户广泛关注。 智能电网信息采集提升效率 基于LTE-M技术的eLTE解决方案支持的低成本、大规模用户数及广域深覆盖的特性将会在智能用电服务、用电信息采集及电力环境监测等智能电网所要求的场景中得到广泛应用,推动电网的效率提升。 eLTE产业联盟第三次峰会将于2015年5月18日在西班牙巴塞罗那召开。华为携手联盟伙伴诚邀您参加eLTE产业联盟第三次峰会,并莅临CCW华为展台,让我们共同开创行业互联新世界的未来 原文发布时间为:2015年05月09日 本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

优秀的个人博客,低调大师

云服务器 ECS 搭建WordPress网站:配置域名解析

配置域名解析 您需要在阿里云万网上配置域名解析之后,用户才能通过域名访问您的网站。 操作步骤 1.登录 域名管理控制台。 2.在域名列表中找到要解析的域名,然后单击 解析。 3.单击 新手引导设置。 4.输入您的 Linux 实例的公网 IP 地址。然后单击 提交。 5.设置成功,会出现如下信息。 恭喜您!您可以使用域名访问自己的网站了! 原文链接

优秀的个人博客,低调大师

云服务器 ECS 搭建WordPress网站:部署 Web 环境(LAMP)

部署 Web 环境(LAMP) 本节介绍如何使用 云市场 的 阿里云linux一键安装web环境 一键部署 Web 环境,包括安装 Nginx、MySQL、PHPWind 和 phpMyAdmin。 软件包中包含的软件及版本如下: Nginx:1.4.4 Apache:2.2.29、2.4.10 MySQL:5.1.73、5.5.40、5.6.21 PHP:5.2.17、5.3.29、5.4.23、5.5.7 PHP 扩展:Memcached、Zend Engine/Opcache JDK:1.7.0 Tomcat:7.0.54 FTP:(yum/apt-get 安装) PHPWind:8.7 GBK phpMyAdmin:4.1.8 说明: 这是写文档时参考的软件版本。您下载的版本可能与此不同。 Xshell 界面上的提示信息与实例上运行的镜像有关。本文档的

优秀的个人博客,低调大师

5节点Hadoop分布式集群搭建经验分享

本文章我们使用hadoop2.6.0版本配置Hadoop集群,同时配置NameNode+HA、ResourceManager+HA,并使用zookeeper来管理Hadoop集群。 1.1 写在前面的话 1.2 (一)HDFS概述 1.2.1 基础架构 1、NameNode(Master) 1)命名空间管理:命名空间支持对HDFS中的目录、文件和块做类似文件系统的创建、修改、删除、列表文件和目录等基本操作。 2)块存储管理。 1.2.2 HA架构 从上面的架构图可以看出,使用Active NameNode,Standby NameNode 两个节点可以解决单点问题,两个节点通过JounalNode共享状态,通过ZKFC 选举Active ,监控状态,自动备份。 1、Active NameNode 接受client的RPC请求并处理,同时写自己的Editlog和共享存储上的Editlog,接收DataNode的Block report, block location updates和heartbeat。 2、Standby NameNode 同样会接到来自DataNode的Block report, block location updates和heartbeat,同时会从共享存储的Editlog上读取并执行这些log操作,保持自己NameNode中的元数据(Namespcae information + Block locations map)和Active NameNode中的元数据是同步的。所以说Standby模式的NameNode是一个热备(Hot Standby NameNode),一旦切换成Active模式,马上就可以提供NameNode服务。 3、JounalNode 用于Active NameNode , Standby NameNode 同步数据,本身由一组JounnalNode节点组成,该组节点奇数个。 4、ZKFC 监控NameNode进程,自动备份。 1.3 (二)YARN概述 1.3.1 基础架构 1、ResourceManager(RM) 接收客户端任务请求,接收和监控NodeManager(NM)的资源情况汇报,负责资源的分配与调度,启动和监控ApplicationMaster(AM)。 2、NodeManager 节点上的资源管理,启动Container运行task计算,上报资源、container情况汇报给RM和任务处理情况汇报给AM。 3、ApplicationMaster 单个Application(Job)的task管理和调度,向RM进行资源的申请,向NM发出launch Container指令,接收NM的task处理状态信息。 4、Web Application Proxy 用于防止Yarn遭受Web攻击,本身是ResourceManager的一部分,可通过配置独立进程。ResourceManager Web的访问基于守信用户,当Application Master运行于一个非受信用户,其提供给ResourceManager的可能是非受信连接,Web Application Proxy可以阻止这种连接提供给RM。 5、Job History Server NodeManager在启动的时候会初始化LogAggregationService服务, 该服务会在把本机执行的container log (在container结束的时候)收集并存放到hdfs指定的目录下. ApplicationMaster会把jobhistory信息写到hdfs的jobhistory临时目录下, 并在结束的时候把jobhisoty移动到最终目录, 这样就同时支持了job的recovery.History会启动web和RPC服务, 用户可以通过网页或RPC方式获取作业的信息。 1.3.2 HA架构 ResourceManager HA 由一对Active,Standby结点构成,通过RMStateStore存储内部数据和主要应用的数据及标记。目前支持的可替代的RMStateStore实现有:基于内存的MemoryRMStateStore,基于文件系统的FileSystemRMStateStore,及基于zookeeper的ZKRMStateStore。 ResourceManager HA的架构模式同NameNode HA的架构模式基本一致,数据共享由RMStateStore,而ZKFC成为 ResourceManager进程的一个服务,非独立存在。 本文作者:佚名 来源:51CTO

优秀的个人博客,低调大师

nodejs 搭建 RESTful API 服务器的常用包及其简介

常用包 框架: yarn add express 数据库链接: yarn add sequelize yarn add mysql2 处理 favicon: yarn add serve-favicon 纪录日志: yarn add morgan 生成文档: yarn add --dev apidoc 解析请求参数: yarn add body-parser 设置 HTTP 头(提高安全性): yarn add helmet 文件变动监控(自动重启): yarn add --dev nodemon (启动服务器脚本中替换 node 即可) 允许 cors 请求: yarn add cors 压缩数据: yarn add compression 响应时间: yarn add response-time 数据伪造: yarn add faker – 数据验证: yarn add express-validator 进程管理: yarn add --dev pm2 带重启(nodemon用于开发环境),日志,负载均衡 serve-favicon 优点:把请求 favicon 的记录从日志中去除。缓存 icon 提高性能。使用兼容性最好的 Content-Type。 使用方式: var favicon = require('serve-favicon') app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))) morgan 使用方式: var morgan = require('morgan') app.use(morgan('combined')) //参数可选 dev tiny 或自定义输出日志格式,详见文档 // 导出日志文件 var express = require('express') var fs = require('fs') var morgan = require('morgan') var path = require('path') var app = express() // create a write stream (in append mode) var accessLogStream = fs.createWriteStream(path.join(__dirname, 'access.log'), {flags: 'a'}) // setup the logger app.use(morgan('combined', {stream: accessLogStream})) body-parser 使用方式: var bodyParser = require('body-parser') // parse application/x-www-form-urlencoded app.use(bodyParser.urlencoded({ extended: false })) //设置 false 使用 querystring 解析,处理 ajax 提交的复杂数据更在行。(true 使用 qs 解析) // parse application/json app.use(bodyParser.json()) apidoc 使用方式: 生成文档命令: apidoc -i routes/ -o doc/( routes 是程序入口,doc 是文档出口) 注释示例: /** * @api {get} /user/:id Read data of a User * @apiVersion 0.3.0 * @apiName GetUser * @apiGroup User * @apiPermission admin * * @apiDescription Compare Verison 0.3.0 with 0.2.0 and you will see the green markers with new items in version 0.3.0 and red markers with removed items since 0.2.0. * * @apiParam {String} id The Users-ID. * * @apiSuccess {String} id The Users-ID. * @apiSuccess {Date} registered Registration Date. * @apiSuccess {Date} name Fullname of the User. * @apiSuccess {String[]} nicknames List of Users nicknames (Array of Strings). * @apiSuccess {Object} profile Profile data (example for an Object) * @apiSuccess {Number} profile.age Users age. * @apiSuccess {String} profile.image Avatar-Image. * @apiSuccess {Object[]} options List of Users options (Array of Objects). * @apiSuccess {String} options.name Option Name. * @apiSuccess {String} options.value Option Value. * * @apiError NoAccessRight Only authenticated Admins can access the data. * @apiError UserNotFound The <code>id</code> of the User was not found. * * @apiErrorExample Response (example): * HTTP/1.1 401 Not Authenticated * { * "error": "NoAccessRight" * } */ helmet var express = require('express') var helmet = require('helmet') var app = express() app.use(helmet()) cors 使用方式: // 允许所有跨域请求 var express = require('express') var cors = require('cors') var app = express() app.use(cors()) // 允许某路由的跨域请求 app.get('/products/:id', cors(), function (req, res, next) { res.json({msg: 'This is CORS-enabled for a Single Route'}) }) // 允许某些域的请求 var whitelist = ['http://example1.com', 'http://example2.com'] var corsOptions = { origin: function (origin, callback) { if (whitelist.indexOf(origin) !== -1) { callback(null, true) } else { callback(new Error('Not allowed by CORS')) } } } app.get('/products/:id', cors(corsOptions), function (req, res, next) { res.json({msg: 'This is CORS-enabled for a whitelisted domain.'}) }) // 允许 GET/POST 以外的请求 app.options('/products/:id', cors()) // enable pre-flight request for DELETE request app.del('/products/:id', cors(), function (req, res, next) { res.json({msg: 'This is CORS-enabled for all origins!'}) }) // 对所有路由允许 app.options('*', cors()) // include before other routes compression 使用方式: var compression = require('compression') var express = require('express') var app = express() app.use(compression({filter: shouldCompress})) function shouldCompress (req, res) { if (req.headers['x-no-compression']) { // don't compress responses with this request header return false } // fallback to standard filter function return compression.filter(req, res) } response-time 使用方式: 该中间件将响应时间写在响应头 X-Response-Time 中 var express = require('express') var responseTime = require('response-time') var app = express() // 统计响应进入该中间件到写完响应头的毫秒数 app.use(responseTime()) express-validator 验证规则 // 初始化 app.use(expressValidator()) // this line must be immediately after any of the bodyParser middlewares! // 检查参数是否符合标准 req.check('testparam', 'Error Message').notEmpty().isInt() // 将参数转化为 req.sanitize('postparam').toBoolean() // 返回验证结果 req.getValidationResult().then(function(result) { // do something with the validation result }) pm2 pm2 start app.js --name="api" # Start application and name it "api" pm2 stop all # Stop all apps pm2 logs # Display logs of all apps pm2 web 后访问 http://localhost:9615/ # 查看系统状态

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册