CentOS6 yum 安装memcached,CentOS6 安装Memcached PHP安装Memcache扩展

############# centos 6 第一二步省略,直接yum安装 1. 安装第三方软件库 wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.5.2-2.rf.src.rpm rpm -ivh rpmforge-release-0.5.2-2.rf.src.rpm 2. 查找Memcached yum search memcached 3. 安装Memcached yum -y install memcached 4. 验证安装 memcached -h 应该会输出一些帮助信息 5. 将memcache加入启动列表 chkconfig –level 2345 memcached on 6. 配置Memcache vi /etc/sysconfig/memcached 文件中内容如下 PORT=”11211″ 端口 USER=”root” 使用的用户名 MAXCONN=”1024″ 同时最大连接数 CACHESIZE=”64″ 使用的内存大小 OPTIONS=”" 附加参数 7. 查看memcache状态 memcached-tool [Memcache Server IP]:[Memcache Server Port] stats 如:memcached-tool 127.0.0.1:11211 stats =====至此,我们将Memcache服务配置完毕,接着我们配置PHP的扩展,以便在程序中来调用===== PHP共有2种Memcache扩展,一个叫Memcache(2002年发布),另一个叫Memcached(2008年发布) Memcached比较新,它依赖于limemcached库才能运行,不过它能完成基于Memcache服务的几乎所有功能,比如:Memcached::getResultCode ,它能返回上一次操作Memcache的结果,而Memcache则没有这个功能 Memcache(没有d)不依赖任何库就能运行,安装相对简单,同时也能完成Memcache服务的大部分主要功能。 下面分别介绍2者的安装方式。 8. 安装PHP的Memcache扩展(yum安装php已安装此扩展) wget http://pecl.php.net/get/memcache-2.2.6.tgz wget http://pecl.php.net/get/memcache-3.0.6.tgz tar vxzf memcache-2.2.6.tgz cd memcache-2.2.6 /usr/bin/phpize (如果不知道phpize在什么位置,可以用find / -name phpize查找) ./configure –enable-memcache –with-php-config=/usr/bin/php-config –with-zlib-dir make make install 记录下安装成功后的提示,类似于: Installing shared extensions: /usr/lib/php/modules/ 把这个地址记录下来 ...

December 3, 2015

互联网架构启示:一根网线引发的“血案”

互联网架构启示:一根网线引发的“血案” 引言:当一个网站做大的时候,无论是研发还是运维,每一个细节都至关重要,网站的任何一个小的瑕疵都会被无限放大。 公司有一个基于微信公共服务器号开发的产品,主要为微信用户提供在线交流、互动、阅读和科研分析等功能。前阵子升级了支付接口,运营人员开始用红包推广,并且把原来微信服务号的积累的用户引流到服务号本身的网站服务,网站堵塞时秒并发连接数峰值达到1k,数据库瞬间批处理数也达到了2k+,这个量其实不算什么,但因为运维架构的一个疏忽,导致网站2次宕机。这里先说明两点:运维属于公司另外一个部门,当然大家还是相互协作还算比较好;我们的服务器都是32G内存,4核2GHz的CPU的品牌服务器。 第一次宕机:抢红包导致宕机3小时。 我们发布完毕2.0版本之后,运营很开心,打算搞一次庆祝活动:只要来关注公共号,进入首页就可以另一个1块钱红包,任何人都可以。发红包当天,我没有接到通知,到家收到微信的提醒,过了差不多1小时,运营电话过来说网站慢了,而此时我连服务器都很难连接不上,运维的说50兆的带宽只用了8兆(这里有一个细节他没有告诉我:网络是一条几乎是直线在运行),再过来半小时,网站几乎打不开了。过了一阵子我登录终于能登录服务器了,但还是很卡,看了服务器的指标,我关注了io、cpu和内存,发现全部正常,idle很高,几乎都是80%,不过没有注意网络。接着两个多小时,直到红包抢完,网站才开始能正常访问。第二天,运维与我们完成了负载均衡的搭建,4台web,1台专用db,cache不变,与架构变化之前一样,只做了web服务器级别的cache,我个人判断这样的量还不需要加memcached和读写分离。后面两次发红包量没有那么大,服务器都正常,但我观察了服务器,发现一个现象:当并发数比较多的时候,db服务器指标还是正常,但总有点卡顿,这次我观察到有时候内外的网络会瞬间冲到98MB,咨询运维的同事说这个正常我们内网有千兆网卡呢,而且现在外网的流量不到占用不到10%。 第二次宕机:活动导入流量导致宕机1小时。 这一次宕机,我觉得不可能发生的。当天傍晚,运营的人一下子给微信十万级别的用户发消息,把他们引流进入网站,过了1小时网站又宕机了,一直过了高峰才恢复,那天只有运维的人在跟服务器情况。第二天,运维的跟我说是我们数据库有问题,他们的理由是:外网流量还是一条7MB直线,所有服务器的指标都正常,但是一拔数据库的网线整个网际通了,所以是db处理不过来那么多请求、或者代码有问题。我当时有点懵了,因为看了流量,那天2个小时的pv达到了10w,鉴于这个产品我们使用了比较新的开发框架,我开始怀疑代码问题、数据库连接问题等等。然后先把所有能优化的都优化,包括动态的内容等也加cache,上了1台memcached服务器。我们还把用户行为用消息队列进行异步处理。改完之后开始google,研究程序架构支撑情况、数据库并发数等等,结论是感觉昨晚的量在昨晚这种条件下网站不应该宕机的,我甚至都怀疑是不是服务器采购的时候被动手脚了-_- 过了一周运营再次搞活动,活动之前我还发现一个问题:个别图书封面居然有5mb的图片,原来产品经理为了让用户看清楚图书封面要求用原图,我赶紧让工程师改成压缩图片。晚上刚到家不久,运营电话又过来了,说虽然没有宕机,内容也能看,但还是有点慢。我接到电话觉得很不可思议,心里想怎么流量那么高。登录服务器之后,发现流量也就是和上次一样,症状和上次也是一样,和运维的沟通,说他连不上服务器(网络是正常的),我特地看了db的连接也只有2位数,虽然偶尔会突然到2k多,但我知道这是因为网络堵住连接不到memcached。当天晚上就咨询以前的认识的运维大拿们,他们也觉得很不可思议,但我们判断肯定是硬件架构哪里出了问题,我把服务器的指标等都截图保留。公司运维的哥们这时候说怀疑是内外网公用网卡的原因,不过这种做法也不是不可以,因为内网有千兆网卡。第二天,又咨询了很多人,大家的结论是:网络有问题。问了好几次公司运维,都说:交换机是千兆的、防火墙是千兆的、网卡是千兆的,后来我以前的同事乌咔咔大拿注意到我截图里面显示网卡只有100MB,我赶紧检查所有的服务器,发现:内外网公用一个只有100MB的网卡!!!问了运维,他说网卡肯定是千兆,我说是不是被自适应了,他楞了一下,说不是自适应,是网线可能是百兆的,去机房确认了一下,发现服务器用的全是5类网线,而且是自己做的……运维也知道是啥原因了,走了特批买了超6类的网线换上。 目前网站一切正常,未来如果突破一定的用户量,肯定要做db的读写分离、cdn等。回过头来看,第一次宕机的可能性很多种,网线问题、web服务器超并发问题、db和web在同一台问题等;第二次宕机的原因应该是:这根网线引发,内网网络瞬间被挤爆,所有内部通信在等待、数据库连接超时,我的理由是这一天的秒连接数也只有几百,数据库连接也就1k多;第三次虽然没有宕机,但网站有些慢,依然是因为这根网线的原因。 这就是一根网线引发的“血案”的案例,希望对看到的工程师们有所帮助。我本人一直做开发,也自认为自己开发能力、软件系统架构能力很强,但之前确实忽略了硬件方面的知识,这一次是彻彻底底、从头到尾上了一个课。

August 13, 2015

MySQL性能优化的简单说明

MySQL 作为 LAMP 组件中的重要一环,在网站架构中担当关于数据处理的重任。作为目前流行最为广泛的开源数据库,网络上已经有相当多的各种优化教程。本文将试着从改善 MySQL 配置入手,进一步提升 MySQL 的性能。 关于如何优化数据库结构及 SQL 语句不在本次讨论范围之内。 MySQL 性能优化分为三个部分,一是物理硬件的优化,二是 MySQL 安装时的编译优化,三是 MySQL 的配置文件 my.cnf 的优化。 一、物理硬件的优化 磁盘 I/O 是制约 MySQL 性能的最大因素之一。 采用 SSD 的服务器肯定会比普通 HDD 硬盘性能要好;采用 RAID10 的肯定要比单盘的性能要好。 所谓物理硬件的优化,其实也就是服务器(VPS)硬件的堆砌。更多的内存,更快的磁盘,更强的 CPU 无疑就是最佳的。 二、MySQL 安装时的编译优化 一般情况下不建议直接 yum 安装 MySQL ,一来不能定制功能,二来版本比较老。所以一般会采取编译安装的方式。 源码编译安装的前提条件(依赖包): 1、CMake。官网:http://www.cmake.org/ 2、GCC,A working ANSI C++ compiler. GCC 4.2.1 or later。官网:http://www.gnu.org/software/gcc/ 3、bison,2.1 or newer。官网:http://www.gnu.org/software/bison/ 4、m4。官网:http://www.gnu.org/software/m4/ 5、tar。官网:http://www.gnu.org/software/tar/ 编译参数: MySQL 5.5.x http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html MySQL 5.6.x http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html LAMP 一键安装脚本里对 MySQL 编译的参数如下: -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=complex -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_EMBEDDED_SERVER=1 ...

July 16, 2015

CentOS下安装pure-ftpd

安装pure-ftpd 1.下载 wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.32.tar.gz 2.解压 tar -zxvf pure-ftpd-1.0.32.tar.gz 3.编译安装 tar -zxvf pure-ftpd-1.0.32.tar.gz cd pure-ftpd-1.0.32 ./configure \ –prefix=/usr/local/pureftpd \ –without-inetd \ –with-altlog \ –with-puredb \ –with-throttling \ –with-peruserlimits \ –with-tls make && make install 配置 pure-ftpd 1. 修改配置 cd configuration-file mkdir -p /usr/local/pureftpd/etc/ cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf cp pure-config.pl /usr/local/pureftpd/sbin/pure-config.pl chmod 755 /usr/local/pureftpd/sbin/pure-config.pl 2.配置文件 vi /usr/local/pureftpd/etc/pure-ftpd.conf //修改其中两处: PureDB /usr/local/pureftpd/etc/pureftpd.pdb PIDFile /usr/local/pureftpd/var/run/pure-ftpd.pid 启动pure-ftpd /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf Running: /usr/local/pureftpd/sbin/pure-ftpd -A -c50 -B -C8 -D -fftp -H -I15 -lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb -L3136:8 -m4 -s -U133:022 -u100 -g/usr/local/pureftpd/var/run/pure-ftpd.pid -k99 -Z //显示这个就没问题了。 ...

January 5, 2015

Nginx0.8.x+PHP5.2.13(FastCGI)搭建高性能Web服务器

Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过三年了。Igor 将源代码以类BSD许可证的形式发布。 Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻、腾讯网、搜狐博客等门户网站频道,六间房、56.com等视频分享网站,Discuz!官方论坛、水木社区等知名论坛,盛大在线、金山逍遥网等网络游戏网站,豆瓣、人人网、YUPOO相册、金山爱词霸、迅雷在线等新兴Web 2.0网站。 Nginx 的官方中文维基:http://wiki.nginx.org/NginxChs 在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。 两台Nginx + PHP5(FastCGI)服务器,跑多个一般复杂的纯PHP动态程序,单台Nginx + PHP5(FastCGI)服务器跑PHP动态程序的处理能力已经超过“700次请求/秒”,相当于每天可以承受6000万(700*60*60*24=60480000)的访问量(更多信息见此),而服务器的系统负载也不高。 为什么Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。 处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。下面用一个比喻来解析Apache采用的select模型和Nginx采用的epoll模型进行之间的区别: 假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的操作之一,select和epoll的性能谁的性能更高,同样十分明了。 安装步骤: (系统要求:Linux 2.6+ 内核,本文中的Linux操作系统为CentOS 5.3,另在RedHat AS4上也安装成功) 一、获取相关开源程序: 1、【适用CentOS操作系统】利用CentOS Linux系统自带的yum命令安装、升级所需的程序库(RedHat等其他Linux发行版可从安装光盘中找到这些程序库的RPM包,进行安装): sudo -s LANG=C yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers 2、【适用RedHat操作系统】RedHat等其他Linux发行版可从安装光盘中找到这些程序库的RPM包(事先可通过类似“rpm -qa | grep libjpeg”的命令查看所需的RPM包是否存在,通常是“xxx-devel”不存在,需要安装)。RedHat可以直接利用CentOS的RPM包安装,以下是RPM包下载网址: ①、RedHat AS4 & CentOS 4 http://mirrors.163.com/centos/4/os/i386/CentOS/RPMS/ http://mirrors.163.com/centos/4/os/x86_64/CentOS/RPMS/ ...

January 4, 2015

终于决定了,将业余的大部分时间投入给C#开源世界

昨天.NET已经宣布正式开源,而我的信念更加坚定了:将业余的大部分时间投入给C#开源世界。 之前一直诟病于C#和.NET只属于微软的产品,现在完全不一样了,我自己的下一步计划: 一、学习计划 1、重新把前几年的项目进行一次全面梳理,把核心和精华的部分留下; 2、重新全面系统完整地把最新的.NET框架学习一边,并且结合大的开源项目研究,目标是基于国外开源系统改造出非常好用的系统; 3、将手头上关于.NET和C#的图书做一遍梳理,包括电子版的; 4、持续跟进最新的关于Mono和.NET开源方面的资讯; 二、工作计划 1、将目前公司的项目做好梳理、未未来的跨平台打好基础; 2、专心研究nopcommerce(电商)项目,并且基于它搭建一个云、端、移动app、网店一体化的电商项目(时间可能会很长),这个项目会为未来二次开源做准备; 3、专心研究CSLA .NET,这个是.NET的一个典范,而且包含了所有平台的样例,这是跨平台的先驱; 4、专心研究Orchard(cms)项目,并且基于它搭建一个云、端、移动app的公司企业网站系统,这个项目也会为未来开源做准备。 将慢慢地把cms和电商项目融入公司,打造一支技术能力强的团队。

November 14, 2014

微软正式MIT协议将开源.NET框

今天是C#程序员狂欢的日子,这真的是一门非常非常优雅的很棒的编程语言。 “Scott Guthrie宣布微软正式将开源.NET框架,使用MIT协议开源,让它在Linux和OS X系统上也能够运行。开发商们将能够在全球三个最大的操作系统上使用.NET框架了。” 这将是计算机软件行业载入史册的一天,.NET平台终于兑现它对世界的承诺,全面支持所有平台,我坚信这是安德鲁和mono老大的英明推动下、当然也是在时代的发展驱动下的结果,太棒了!

November 13, 2014

快讯:Xamarin公司与微软达成全面合作,将捆绑vs2013

早上收到Xamarin的邮件,他们在纽约时间2013年11月13日上午宣布Xamarin将加入到VS2013(而且肯定是内置),让开发者使用C#语言高效开发优雅的ios和android的应用,届时还将给MSDN的订阅者们提供相关专题内容,太棒了! 这是mono老大Miguel de Icaza(米格尔·德伊卡萨)http://t.cn/8Dkw4qt 在twitter上的留言,他认为今天对于C#和F#是一个伟大的日子,估计Xamarin这两年过来的艰辛只有他们团队自己知道。 最后,恭喜Xamarin,恭喜Mono老大,这将是写入C#发展史的一件大事。

November 15, 2013

记录从google play商店购买nexus 5全过程,使用风雷转运

Google是我最喜欢的公司之一,最开始入手android手机的时候(2010年)就考虑过google的nexus系列,但是当时对海淘、转运都不了解,加上国内市场的水货价格不菲、质量不敢保证,一直没有购买。 这段时间我用了一年多的小米1代频繁重启,小米客服又不搭理人,检修就要收费,作为第一代“米粉”(当年第一批机子的人),深受打击,并立志对于这类型的产品,坚决购买进口。 前些日子就考虑入手nexus 5,做了一些准备,比如但没有做充足,而且这两天自己的客户端产品要发布,根本没有时间留意nexus 5发布时间。早应该想到google会在万圣节的时候发布手机的。不过没有关系,反正我也不着急使用。 11月1日,因为没有做好准备,所以还有些纠结,幸亏之前对转运公司做了一些调查,赶紧在**风雷** 注册了一个帐号,这里有一个链接地址,注册可以送20块钱,点击注册 ,记得不要把推荐人id去掉,否则不会送,我就因为这样所以没有送20块钱,后悔啊…第一次从米国转运,希望风雷不要掉链子… 11月2日,在google play上下单购买,用master的信用卡,下单过程木有任何问题,google显示要3到4周发货; 11月3日… 等等等… 11月11日,双11晚上,信用卡通知有消费,看金额是google,第一反应是google发货了,赶紧爬起来查看订单状态,发现还是“待处理”; 11月12日,上午来到公司后,收到email,google已经发货,正在送往–美国俄勒冈免税州,太棒了,看来这次google不缺货; 11月13日,货物已经从肯塔基州发出; 11月14日… 11月15日,上午到Spokane, WA, United States了,离目的地很近了 11月15日,下午到达俄勒冈,希望早点到CA发货 11月16日… 等等等 11月24日上午9点,在去石景山的公交车上,我连接中移动的wifi,收到风雷的邮件已入库,待发货,爽!看来从俄勒冈到加利福尼亚确实需要5个工作日啊!另外,风雷确实按1.3磅算了!只能说:这是他们的生存之道-_- 11月25日,问风雷客服,说今天能发货。 11月26日上午9点,收到风雷的邮件:已发货!希望快点,本周就到达北京啊!!! 11月27日,等… 11月28日,感恩节,我开始怀疑美国那边是不是快递放假了? 11月29日,还是没有看到更新… 11月30日,上午看到已经到达北京,正在清关,usps确实快啊! 12月2日,查看ems跟踪快递,已经送达北京海关处理中心,希望赶紧处理好让我去拿吧,反正基本会税-_- 12月3日,上午查看ems,昨天下班的时候已经到达双榆树,午饭前立马赶过去取,如当初所预料,纳税200元,“税税”平安-_- 回到家,激动地开箱,确实非常激动!google是我最爱的公司,木有之一,“鸡婆”一下我的开箱照,嘿嘿~ step1:这个是风雷做了包裹处理了,外加一个盒子,就多了0.2磅-_- step2:打开,看到google寄往俄勒冈的信息 step3:看到google字样很兴奋!这是账单。 step4:特写一下,用了google那么多年的网上服务,这是第一次拿到google的实体物品,happy step5:最后来一张合影 海淘是一项冒险,等待的过程很好玩,拿到货的那一刻很high!

November 2, 2013

如何在github上传自己的代码

注册GitHub后你就会有0.3G的免费空间,不过只能创建公开项目,这也满足代码分享的目的,我最喜欢的倒是它的代码展示方式,可以直接浏览你的代码,代码是经过高亮、添加行号处理过的,十分漂亮,体验一流,比如这个Webpy托管的地方。而作为想要了解你代码的人,可以选择直接在线浏览自己感兴趣的,也可以直接下载压缩包,或者直接使用Git clone到本地。 因为GitHub是基于Git版本控制系统,所以你上传修改代码什么的,都需要使用Git工具。我这里主要是用来分享和展示代码,所以不想在版本控制方面做过多的阐述,下面就简单讲解一下怎么在GitHub上新建一个项目,还有把自己的代码传上去。下面的前提是你已经注册了GitHub和下载安装了Git——Git下载、Windows版本下载。 上传分享代码 1.在GitHub上建立项目 登录GitHub后,你可以在右边靠中那里找到一个按钮“New Repository”,点击过后,填入项目名称、说明和网址过后就可以创建了,然后会出现一个提示页面,记下类似[email protected]:XXX/XXX.git的地址,这个就是你这个项目的地址了。 2.配置Git以及上传代码 安装Git成功后,如果是Windows下,选择Git Bash,在命令行中完成一切,可能开始有点麻烦,不过就那几条命令行,用几次就记住啦。首先初始设置Git: 1 git config --global user.name "Your Real Name" 2 git config --global user.email [email protected] 然后开始进行最麻烦的一步了,你需要上传文件到GitHub的Git系统上,得需要一个SSH密匙来认证,下面就开始生成密钥和提交密钥。打开Git Bash,创建SSH key: 1 ssh-keygen -C '[email protected]' -t rsa 然后要你输入SSH密匙的存放位置,可以不管,直接回车使用默认路径。再输入你想要的密码,SSH key就生成了。现在你需要将这个Key提交到GitHub,首先打开Key保存的位置,里面会有三个文件,找到id_rsa.pub,用文本编辑器打开,复制里面的全部字符。到GitHub,在右上方工具栏里找到Account Settings。在这个页面上有一个SSH Public Keys标签,选择Add another public key。Title可以随便填一个,Key就粘贴刚才的字符,提交。 完成这些工作后,就可以上传自己的代码了。找到自己要分享上传的代码文件夹,右击选择Git Bash,或者在Git Bash中进入这个文件夹。建立一个仓库: 1 git init 选择要添加进仓库的文件: 1 git add . 一般如果你想分享这个文件夹里的所有代码,就在 add后面加“.”,上面的例子就是这样,如果传指定的,只需要把“.”改为文件名即可,现在只是选择了要加入仓库的文件,下面才是添加进入仓库: 1 git commit -m 'Test' -m后面跟一个参数,表示说明,将代码提交到GitHub后,将会在代码文件信息上显示这个说明,如下图标记的地方。 搞了这么久,现在才开始把本地仓库上传到GitHub了,下面两行命令搞定问题: 1 2 git remote add origin [email protected]:XXX/XXX.git 3 git push -u origin master 这个[email protected]:XXX/XXX.git就是上面创建项目是生成的地址。现在打开你的项目网址,你就可以发现你的代码已经展示出来了。如果你要更新代码的话,就重复上面的吧。 如果提交了敏感信息,比如代码中设置的自己的密码什么的忘删除就上传上去了怎么办?重新修改过后上传依然有历史记录,而使用Git删除历史记录貌似很麻烦,于是就采用删除项目吧,删除了再重新上传。删除项目需要在GitHub网站上右上方找到admin按钮,进去后右边最下面有个删除的按钮,这样就可以删除了。 ...

October 8, 2013