一切福田,不離方寸,從心而覓,感無不通。

GitHub: Permission denied (publickey). 问题解决方法

之前一直用https来push到github上, 今天试了下用ssh, 把origin改为ssh地址后, 用git push -u origin master出现错误: [plain] view plain copy Permission denied (publickey). fatal: The remote end hung up unexpectedly 上网搜了一下, 原因是 You ve probably not added a public key to your SSH keys. 解决方法如下: 用下面的命令生成public key $ ssh-keygen -t rsa 复制 public key (id_rsa.pub) 到你账户的 list of SSH keys, 再重新push. 参考: http://stackoverflow.com/questions/14967621/fatal-the-remote-end-hung-up-unexpectedly http://stackoverflow.com/questions/15240815/git-fatal-the-remote-end-hung-up-unexpectedly from:http://blog.csdn.net/xzz_hust/article/details/8969090

龙生   15 May 2017
View Details

MySQL 数据库操作,将查询结果插入新表

做项目,需要测试数据,而现成的其他表有类似数据,为了方便,就将想将查询结果直接放到新表里。具体操作如下: INSERT INTO TableA(c1,c2,c3) SELECT TableB.c1,TableB.c2,TableB.c3 FROM TableB 参考:http://wenda.so.com/q/1372470880061763 如果表存在: insert into tab1 select * from tab2; 如果表不存在: create table tab1 as select * from tab2; from:http://blog.csdn.net/chark_leo/article/details/39525633

龙生   15 May 2017
View Details

在Linux中使用Docker容器部署ASP.NET 5应用程序

本文的作者是微软的Azure平台的工程师,去年年底微软就宣布开源.Net核心运行时,并与Mono合作以推进.Net在Linux等非Windows 平台的移植。同时,微软也宣布将在新一代的Windows服务器上支持Docker,支持容器化部署,这让我们看到了微软拥抱开源的决心。本文介绍了如何 在Linux中使用Docker容器部署基于ASP.NET 5的应用程序。 作为ASP.NET 5跨平台部署实现的一部分,我们正在为简化ASP.NET应用部署、兼容Linux或者Mac OS X等操作系统运行而努力工作。最近,我们发布了首个ASP.NET的Docker镜像: ASP.NET 5预览版Docker镜像。 Docker是一个开源的项目,目的是在Linux操作系统下轻松的以沙箱 的方式运行应用程序。当你下载了ASP.NET 5的Docker镜像,你就有了一个能够运行ASP.NET 5应用程序的Linux环境;现在你所要做的仅仅是在这个镜像中添加你的应用程序,然后启动一个容器,运行它,发布它。 本教程中我们为你展示如何在微软Azure云上利用Docker在Linux操作系统中部署一个使用ASP.NET 5预览版编写的简单的Web应用程序。这个教程中的例子可以在Linux、Mac OS X或者所有能装Docker客户端的操作系统下运行(如果喜欢,你也可以远程登录Linux虚拟机运行)。当然,当你安装了Docker的Windows 客户端,你就能在Windows上运行本文中的例子。以后,如果Window Server支持容器化部署了,你就能使用Docker在Windows Server中来管理Windows Server的容器了。 注:文中所有的演示流程与代码都是基于ASP.NET 5(vNext)预览版的,在正式发布后运行的方式可能会有所不同。所以,到时候如果读者需要知道如何使用Docker部署ASP.NET 5的应用程序,还请自行登陆ASP.NET 5的 Docker Hub页面或者 GitHub仓库去参看最新的部署文档。 第一步:创建运行环境 现在Docker还只能在Linux上运行,所以你必须找一台Linux机器或者装了Linux虚拟机的机器来运行Docker;你在 这里可以找到Docker的安装步骤或者通过参考这篇文章 Getting Started with Docker On Azure(在Azure云端安装Docker的起步教程)。当然你可以从Azure云获取一个安装好Docker的Linux虚拟运行环境。 这个教程假设你已经在Azure上有了安装好Docker的Linux虚拟机。如果你拥有其它类似的运行环境,那这个教程也是可以使用的。 第二步:为你的ASP.NET 5应用创建一个Docker镜像 为了能让ASP.NET应用程序在云端部署,你需要一个Docker镜像来承载你的应用。 Docker镜像的文件系统是层叠式的(AUFS文件系统),可以这样形象的理解:你的应用程序只是“基础镜像”上层新加的一个层而已(译者注:就像盖房子一样,新增的楼层是基于它下面的楼层建立起来的),而在我们的例子中“基础镜像”为 microsoft/aspnet(译 者注:这是一个Docker镜像的名称,这个镜像存在于Docker Hub中)。在Docker中镜像的层级是增量叠加起来的(译者注:这点跟Git原理一样),Docker保存了每个层之间的差异,所以当我们用 Docker部署应用时,提交的更新不会包含Linux发行版内核或者ASP.NET的运行时,因为这些都已经存在于“基础镜像”中了,你只会提交基于此 “基础镜像”构建的应用程序本身,所以Docker的这种差异化提交、部署机制能够确保应用程序以最快速、最小化的增量方式进行部署,为运维带来极大的便 利。 如何创建Docker镜像呢?答案是使用:Dockerfile。跟Makefile相似,Dockerfile包含了供Docker用来构建一个镜像的所有步骤。 本教程所用到的ASP.NET源代码可以从GitHub的 aspnet/Home仓库下的 HelloWeb目录提取。首先,使用如下命令将源代码从GitHub上克隆下来:

切换到aspnet-Home的sample目录下:

完成后目录结构应该如下所示:

然后我们在此目录下创建一个名叫Dockerfile的文件,并输入如下指令:

让我们逐条解释此Dockerfile中命令的含义: 第一行中FROM命令后面的‘microsoft/aspnet’说明我们要下载Docker Hub中名为‘microsoft/aspnet’(此镜像也是ASP.NET在Docker Hub上的官方镜像)的镜像作为我们例子程序的“基础镜像”; COPY命令告诉Docker在构建镜像的时候同时将当前目录(译者注:.表示当前目录)下的所有文件(译者注:Startup.cs、image.jpg与project.json这三个文件)拷贝到容器的/app目录下;紧接着,使用WORKDIR命令告诉Docker将容器启动目录设置为/app目录; RUN [kpm, restore]命令告诉Docker运行kpm restore命令安装ASP.NET相关依赖项,这些都是Docker在第一次运行此容器之前要做的准备工作; EXPOSE 5004命令会告诉Docker正在构建的镜像有个监听5004号端口的服务(可以查看project.json文件确认)(译者注:意思是以此镜像为基础运行的容器需要向外暴露5004号端口); 最后,ENTRYPOINT [k, kestrel]命令说明每次用Docker启动此容器时都会自动执行k kestrel命令,同时通过运行此命令保证容器始终在运行不退出,其实kestrel命令就是启动了ASP.NET 5的服务器,启动此服务器后会启动一个监听5004号端口的进程,处理HTTP连接请求。(译者注:这就是为什么要向外暴露5004号端口的原因。)   第三步:创建镜像 当我们编写完Dockerfile后,当前目录应该是如下结构,Dockerfile和程序源代码在一起:

现在我们来创建此Docker镜像。这个过程非常简单--运行Docker的build命令即可,命令如下:

这条命令运行结束后Docker就生成了一个名为myapp的镜像;同时,你对镜像所做的任何变化都能通过重新运行此命令来生成一个新的镜像。在你的Linux虚拟机或者开发环境中运行docker images命令可以看到我们刚刚创建的myapp镜像了:

你可以看到你的应用镜像以及ASP.NET镜像都存在于你的主机上。 现在我们开始讲如何将ASP.NET应用程序部署到云端。 第四步:运行容器 […]

龙生   15 May 2017
View Details

WINDOWS 2008Server 配置nginx 反向代理服务器

本案例有用过可行 0、先要在域名官网上面配置域名对应的IP地址,然后要在自己路由器上面将80端口映射到要装nginx服务器的IP地址。 1、从官网上面下载nginx1.6.2   WINDOWS版本的。访问地址http://nginx.org/en/download.html 2、解压缩到C盘根目录下面 3、复制C:\nginx\conf\nginx.conf,保存成一个副本 4、编辑nginx.conf,内容如下 #工作进程数,建议设置为CPU的总核数worker_processes  2; #全局错误日志定义类型,日志等级从低到高依次为: #debug | info | notice | warn | error | crit error_log  logs/error.log  info; #记录主进程ID的文件 pid        /nginx/nginx.pid;   #一个进程能打开的文件描述符最大值,理论上该值因该是最多能打开的文件数除以进程数。 #但是由于nginx负载并不是完全均衡的,所以这个值最好等于最多能打开的文件数。 #LINUX系统可以执行 sysctl -a | grep fs.file 可以看到linux文件描述符。 worker_rlimit_nofile 65535;   #连接数上限, 单个进程允许的最大连接数 events {        worker_connections  65535; }   #设定http服务器,利用它的反向代理功能提供负载均衡支持 http { #文件扩展名与文件类型映射表 include       mime.types; #默认文件类型 default_type  application/octet-stream; #日志格式  log_format  main   $remote_addr $remote_user [$time_local] $request                             […]

龙生   15 May 2017
View Details

MySQL各版本的区别

MySQL 的官网下载地址:http://www.mysql.com/downloads/ 在这个下载界面会有几个版本的选择。 1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。 2. MySQL Enterprise Edition 企业版本,需付费,可以试用30天。 3. MySQL Cluster 集群版,开源免费。可将几个MySQL Server封装成一个Server。 4. MySQL Cluster CGE 高级集群版,需付费。 5. MySQL Workbench(GUITOOL)一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。MySQLWorkbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL WorkbenchSE)。 MySQL Community Server是开源免费的,这也是我们通常用的MySQL的版本。根据不同的操作系统平台细分为多个版本,下面我们以windows平台为例来说明。 例如下载mysql5.5.19的界面如下: 说明: 我们选择Generally Available(GA)Release 去下载。GA是指软件的通用版本,一般指正式发布的版本。 mysql-5.5.19-win32.msi,windows安装包,msi安装包是用msiexec安装完成的。windows下双击根据向导安装即可,简单方便。 mysql-5.5.19.zip,这个是windows源文件,需要编译。 mysql-5.5.19-win32.zip,这个文件解包后即可使用,是编译好的windows32位MySQL。需要手工配置。 带 "winx64" 的则是对应的64位版本,在64位操作系统下使用。 一般做后台开发,我们就下载mysql-5.5.19-win32.msi。 例如下载mysql5.1.60的界面如下: 说明: 选择Generally Available(GA)Release 去下载。GA 是指软件的通用版本,一般指正式发布的版本。 “essentials” 是指精简版,不包含 embedded server and benchmarksuite,有自动安装程序和配置向导,没有MySQL文档。 “noinstall” 是指非安装的压缩包的。包含 embedded server and benchmarksuite,没有自动安装程序和配置向导,需手动安装配置,有MySQL文档。 mysql-essential-5.1.60-win32.msi 是精简版,如果只需要mysql服务,就选择此版本。 mysql-5.1.60-win32.msi 是完整版,包含安装程序和配置向导,有MySQL文档。 mysql-noinstall-5.1.60-win32.zip是非安装的zip压缩包,没有自动安装程序和配置向导,需手动安装配置,有MySQL文档。 mysql-5.1.60.zip 是用于windows的Mysql源码压缩包 带 "winx64" 的则是对应的64位版本,在64位操作系统下使用。 一般做后台开发,我们就下载mysql-essential-5.1.60-win32.msi 即可。   什么是MySQL企业版(MySQL Enterprise)? MySQL企业版是一个已被证明和值得信赖的平台,这个平台包含了MySQL企业级数据库软件,、监控与咨询服务,以及确保您的业务达到最高水平的可靠性、安全性和实时性的技术支持。 MySQL企业版包括: MySQL企业级服务器,这是全球最流行的开源数据库最可靠、最安全的最新版本。 MySQL企业级系统监控工具,它可以提供监控和自动顾问服务,以此来帮助您消除安全上的隐患、改进复制、优化性能等。 MySQL技术支持,可以使您最棘手的技术问题得到快速解答。 MySQL咨询支持,只有购买了MySQL企业级银质或金质服务的客户才能得到此项支持。MySQL技术支持团队将为您的系统提供针对性的建议,告诉您如何恰当地设计和调整您的MySQL服务器、计划、查询和复制设定,以获得更好的性能。 什么是MySQL社 区版(MySQL Community Server)? MySQL公司一直专注于向开源社区发布全球最流行的开源数据库——MySQL […]

龙生   15 May 2017
View Details

Module ngx_http_proxy_module

Example Configuration Directives proxy_bind proxy_buffer_size proxy_buffering proxy_buffers proxy_busy_buffers_size proxy_cache proxy_cache_bypass proxy_cache_convert_head proxy_cache_key proxy_cache_lock proxy_cache_lock_age proxy_cache_lock_timeout proxy_cache_max_range_offset proxy_cache_methods proxy_cache_min_uses proxy_cache_path proxy_cache_purge proxy_cache_revalidate proxy_cache_use_stale proxy_cache_valid proxy_connect_timeout proxy_cookie_domain proxy_cookie_path proxy_force_ranges proxy_headers_hash_bucket_size proxy_headers_hash_max_size proxy_hide_header proxy_http_version proxy_ignore_client_abort proxy_ignore_headers proxy_intercept_errors proxy_limit_rate proxy_max_temp_file_size proxy_method proxy_next_upstream proxy_next_upstream_timeout proxy_next_upstream_tries proxy_no_cache proxy_pass proxy_pass_header proxy_pass_request_body proxy_pass_request_headers proxy_read_timeout proxy_redirect proxy_request_buffering proxy_send_lowat proxy_send_timeout proxy_set_body proxy_set_header proxy_ssl_certificate proxy_ssl_certificate_key proxy_ssl_ciphers proxy_ssl_crl proxy_ssl_name proxy_ssl_password_file proxy_ssl_server_name proxy_ssl_session_reuse proxy_ssl_protocols proxy_ssl_trusted_certificate proxy_ssl_verify proxy_ssl_verify_depth proxy_store proxy_store_access proxy_temp_file_write_size proxy_temp_path Embedded Variables The ngx_http_proxy_module module allows passing requests to another server.   Example Configuration  

  Directives Syntax: proxy_bind […]

龙生   15 May 2017
View Details

Happy 15th Birthday .NET!

Today marks the 15th anniversary since .NET debuted to the world. On February 13th, 2002, the first version of .NET was released as part of Visual Studio.NET. It seems just like yesterday when Microsoft was building its “Next Generation Windows Services” and unleashed a new level of productivity with Visual Studio.NET. Since the beginning, the .NET platform has allowed developers to quickly build and deploy robust applications, starting with Windows desktop and web server applications in 2002. You got an entire managed framework for building distributed Windows applications, […]

龙生   15 May 2017
View Details

查看binlog文件的2种方式

1.使用show binlog events 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 a.获取binlog文件列表 mysql> show binary logs; +—————————+—————–+ | Log_name         | File_size | +—————————+—————–+ | mysql–bin.000005 |      1288 | | mysql–bin.000006 |       120 | +—————————+—————–+ mysql> b.查看当前正在写入的binlog文件 mysql> show master status\G; *************************** […]

龙生   15 May 2017
View Details

Mysql初始化root密码和允许远程访问

mysql默认root用户没有密码,输入mysql –u root 进入mysql 1、初始化root密码 进入mysql数据库 1 mysql>update user set password=PASSWORD(‘123456’) where User=’root'; 2、允许mysql远程访问,可以使用以下三种方式: a、改表。 1 2 3 4 mysql -u root –p mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user; b、授权。 例如,你想root使用123456从任何主机连接到mysql服务器。 1 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root’@’%' IDENTIFIED BY '123456' WITH GRANT OPTION; 如果你想允许用户jack从ip为10.10.50.127的主机连接到mysql服务器,并使用654321作为密码 1 2 mysql>GRANT ALL PRIVILEGES ON *.* TO 'jack’@’10.10.50.127’ IDENTIFIED BY '654321'WITH GRANT OPTION; mysql>FLUSH RIVILEGES c:在安装mysql的机器上运行: 1 2 3 4 5 6 7 8 //进入MySQL服务器 d:\mysql\bin\>mysql -h localhost -u root […]

龙生   15 May 2017
View Details

Mysql Cluster水平扩展-添加数据节点

一:实验环境   已搭建好MySQL cluster(一个管理节点,2个sql节点及2个数据节点),搭建步骤请参考:http://blog.csdn.net/yabingshi_tech/article/details/47952135,现要在此基础上添加 192.168.6.70,192.168.6.71作为数据节点。(由于副本集参数已经配置成了2,所以必须一次添加2个数据节点) 二:实验步骤 2.1:解压cluster安装包 tar -xvf mysql-cluster-gpl-7.2.15-linux2.6-x86_64.tar.gz mv mysql-cluster-gpl-7.2.15-linux2.6-x86_64 /usr/local/mysql   2.2:修改管理节点配置文件 cd /data/mysql/mysql-cluster   修改全局配置文件vi mgmd.cnf,修改后的配置文件如下: [plain] view plain copy [ndbd default] NoOfReplicas=2 DataMemory=80M IndexMemory=18M [ndb_mgmd] hostname=192.168.6.66 datadir=/data/mysql/mysql-cluster [ndbd] hostname=192.168.6.68 datadir=/usr/local/mysql/data [ndbd] hostname=192.168.6.69 datadir=/usr/local/mysql/data [ndbd] hostname=192.168.6.70 datadir=/usr/local/mysql/data [ndbd] hostname=192.168.6.71 datadir=/usr/local/mysql/data [mysqld] hostname=192.168.6.66 [mysqld] hostname=192.168.6.67     2.3:重新启动管理节点服务   2.3.1 停止管理节点   ndb_mgm> 1 stop Node 1 has shutdown. Disconnecting to allow Management Server to shutdown   停止管理节点不影响sql节点的正常访问。   2.3.2 重新加载配置文件 [root@ser6-66 mysql-cluster]# ndb_mgmd -f mgmd.cnf  initial MySQL Cluster Management Server mysql-5.5.35 ndb-7.2.15 /* 用initial或者reload参数重新加载 如果只在配置文件中新增一个数据节点,会报错: [root@ser6-66 mysql-cluster]#  ndb_mgmd -f mgmd.cnf  initial MySQL Cluster Management Server mysql-5.5.35 ndb-7.2.15 2015-08-18 16:18:37 [MgmtSrvr] ERROR      at line 38: Nodegroup 1 has 1 members, NoOfReplicas=2 2015-08-18 16:18:37 [MgmtSrvr] ERROR      Could not load configuration from  mgmd.cnf */   2.3.4 查看集群状态   [plain] view plain copy [root@ser6-66 mysql-cluster]# ndb_mgm 192.168.6.66  NDB Cluster   Management Client ndb_mgm> show Connected to Management Server at: 192.168.6.66:1186 Cluster Configuration [ndbd(NDB)]4 node(s) id=2@192.168.6.68  (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0) id=3@192.168.6.69  (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0, *) id=4 (not connected, accepting connect from 192.168.6.70) id=5 (not connected, accepting connect from 192.168.6.71) [ndb_mgmd(MGM)]1 node(s) id=1@192.168.6.66  (mysql-5.5.35 ndb-7.2.15) […]

龙生   15 May 2017
View Details