随笔分类 - linux

摘要:来源:https://cnodejs.org/topic/4f9904f9407edba21468f31e镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在):1.通过config命令npm config set registry https://regis... 阅读全文
posted @ 2014-10-31 10:58 ifeixiang 阅读 (75741) | 评论 (3) 编辑
摘要:Pomelo:网易开源基于 Node.js 的游戏服务端框架https://github.com/NetEase/pomelo/wiki/Home-in-Chinese 阅读全文
posted @ 2014-10-22 18:35 ifeixiang 阅读 (463) | 评论 (0) 编辑
摘要:在安装一个程序的时候提示libc.so.6过旧,但是查看libc.so的版本是最新的,于是尝试使用尝试软链接 ln -s /usr/lib64/libc.so /usr/lib64/libc.so.6 , 悲剧的事情发生了!几乎所有的linux命令都依赖于libc.so,libc.so.6是一个动态... 阅读全文
posted @ 2014-10-22 11:27 ifeixiang 阅读 (14479) | 评论 (1) 编辑
摘要:安装supervisor方法,可以直接用 yum install supervisord ,但是版本可能会旧一点,可以参考官方的方法:easy_install supervisorhttp://supervisord.org/installing.html#installing-to-a-syste... 阅读全文
posted @ 2014-10-20 18:14 ifeixiang 阅读 (2827) | 评论 (0) 编辑
摘要:ulimit 用于限制 shell 启动进程所占用的资源,支持以下各种类型的限制:所创建的内核文件的大小、进程数据块的大小、Shell 进程创建文件的大小、内存锁住的大小、常驻内存集的大小、打开文件描述符的数量、分配堆栈的最大大小、CPU 时间、单个用户的最大线程数、Shell 进程所能使用的最... 阅读全文
posted @ 2014-10-15 14:35 ifeixiang 阅读 (233) | 评论 (0) 编辑
摘要:官方文档:http://gearman.org/getting-started/安装方法和示例都有,可以详细看一下。Gearman是一个分发任务的程序框架,可以用在各种场合,与Hadoop相比,Gearman更偏向于任务分发功能。它的任务分布非常简单,简单得可以只需要用脚本即可完成。Gearman最... 阅读全文
posted @ 2014-10-10 13:56 ifeixiang 阅读 (8893) | 评论 (0) 编辑
摘要:Supervisor: A Process Control System 阅读全文
posted @ 2014-10-08 18:10 ifeixiang 阅读 (136) | 评论 (0) 编辑
摘要:自从zabbix被撤了,服务器一直处于无监控状态,今天又搜索了一番,找了一些监控工具:Glances : 一个比Top更友好的监控整个linux系统的命令行工具;安装方法: yum install -y glances 阅读全文
posted @ 2014-09-19 18:33 ifeixiang 阅读 (113) | 评论 (0) 编辑
摘要:Redis的应用http://www.redis.cn/commands.htmlhttp://www.cnblogs.com/ikodota/archive/2012/03/05/php_redis_cn.htmlhttp://redis.readthedocs.org/en/latest/ind... 阅读全文
posted @ 2014-07-29 17:16 ifeixiang 阅读 (251) | 评论 (0) 编辑
摘要:在修改登录中心的时候,数据存储在redis里面,需要对redis进行监控,使用的是Redis-Live参考文章:http://www.nkrode.com/article/real-time-dashboard-for-redis首先要安装pip,centos上安装方法:wgethttps://bo... 阅读全文
posted @ 2014-07-02 19:48 ifeixiang 阅读 (147) | 评论 (0) 编辑
摘要:查看占用IO的进程http://www.xaprb.com/blog/2009/08/23/how-to-find-per-process-io-statistics-on-linux/ 阅读全文
posted @ 2014-06-13 18:02 ifeixiang 阅读 (576) | 评论 (0) 编辑
摘要:将pureftpd.passwd文件的内容转换成sql语句,导入到mysqlpureftp.passwd格式:::::::::::::::::: 阅读全文
posted @ 2014-05-08 18:54 ifeixiang 阅读 (632) | 评论 (0) 编辑
摘要:使用php写的,方便点 $LOG"; `$cmd`; _debug($cmd); // 再使用goaccess生成网页 $cmd = "/usr/local/bin/goaccess -f $LOG -a > /yfdata/mobile/$HTML"; `$cmd`;... 阅读全文
posted @ 2014-05-08 16:12 ifeixiang 阅读 (537) | 评论 (0) 编辑
摘要:下面直接介绍几种常见的DD命令,先看一下他的区别~ddbs=64k count=4k if=/dev/zeroof=testddbs=64k count=4k if=/dev/zeroof=test;syncddbs=64k count=4k if=/dev/zeroof=testconv=fdatasyncddbs=64k count=4k if=/dev/zeroof=testoflag=dsync这四条DD命令区别在于内存中写缓存的处理方式。1.ddbs=64k count=4k if=/dev/zeroof=test 没有加任何参数,dd默认的方式不包括“同步(sync)”命令。也就. 阅读全文
posted @ 2014-03-25 16:20 ifeixiang 阅读 (11775) | 评论 (0) 编辑
摘要:linux文件共享可以有多种方式:samba,nfs,ftp等等nfs在linux之间效率高些:function nfs(){ share_folder="/data1 192.168.0.239(rw,sync,no_root_squash)" yum install nfs-utils rpcbind echo $share_folder >> /etc/exports exportfs -rv showmount -e 127.0.0.1 # 客户端使用 # mount -t nfs 192.168.122.31:/data1 /data... 阅读全文
posted @ 2014-03-17 15:40 ifeixiang 阅读 (127) | 评论 (0) 编辑
摘要:selinux这东西,有时候真让人搞不懂。临时关闭:setenforce 0getenforce #查看状态是否是disabled永久关闭:vim /etc/sysconfig/selinux全部注释掉加上SELINUX=disabled 阅读全文
posted @ 2014-03-11 14:16 ifeixiang 阅读 (410) | 评论 (0) 编辑
摘要:windows底下有大量的硬件测试工具,那么linux底下也同样有,例如,我们租用机房的服务器的时候,要跑的业务比较重要,需要提供不间断服务,那么服务器的稳定性测试显得格外重要,也是交付服务器要做的第一件事,下面是网友总结的一些烤机软件,也就是压力测试工具,在高硬负载下服务器的稳定性Linux底下测试工具有下面这些stresslinuxsuper piprimemprimenbenchcpuburngamutmersenne primestresscpu burn-inmemtestermemtest86memtest86++System Stability TesterBONNIE++/HP 阅读全文
posted @ 2014-03-06 15:43 ifeixiang 阅读 (28983) | 评论 (0) 编辑
摘要:参考文章:http://smilejay.com/kvm_theory_practice/ 阅读全文
posted @ 2014-03-06 14:51 ifeixiang 阅读 (98) | 评论 (0) 编辑
摘要:rpm常用的命令组合:rpm -ivh:安装显示安装进度--install--verbose--hash-Uvh:升级软件包--Update;-qpl:列出RPM软件包内的文件信息[Query Package list];-qpi:列出RPM软件包的描述信息[Query Package install package(s)];-qf:查找指定文件属于哪个RPM软件包[Query File];-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];-e:删除包yum常用的命令组合:yum# 安装卸载install xxx : 安装包yum groupinsall remove x. 阅读全文
posted @ 2014-03-05 11:52 ifeixiang 阅读 (3700) | 评论 (0) 编辑
摘要:#remi的源rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpmrpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-remi#Fedora EPEL的源 rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 https://www.fedoraproject.org/s 阅读全文
posted @ 2014-03-03 14:47 ifeixiang 阅读 (86) | 评论 (0) 编辑
摘要:巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度。首先让我们认识一下,什么是tmpfs和/dev/shm/?tmpfs是Linux/Unix系统上的一种基于内存的文件系统。tmpfs可以使用您的内存或swap分区来存储文件。由此可见,tmpfs主要存储暂存的文件。它有如下2个优势 : 1. 动态文件系统的大小。2. tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在内存 RAM 中,读写几乎可以是瞬间的。同时它也有一个缺点tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一 阅读全文
posted @ 2014-03-03 11:36 ifeixiang 阅读 (3908) | 评论 (0) 编辑
摘要:方法很简单:在出现grub画面时,用上下键选中平时启动linux的那一项,然后按a键,可以进行append模式在出来的命令行等方面加上 空格 single , 这样可以进入单用户模式,再 passwd root即可有那么点危险! 阅读全文
posted @ 2014-02-26 18:03 ifeixiang 阅读 (67) | 评论 (0) 编辑
摘要:优化 lemp服务器 ,参考文章:nginx编译优化:http://www.howtocn.org/nginx:%E9%85%8D%E7%BD%AE%E4%B8%80%E4%B8%AA%E9%AB%98%E6%80%A7%E8%83%BD%E7%9A%84nginx_fastcgi%E6%9C%8D%E5%8A%A1%E5%99%A8http://ixdba.blog.51cto.com/2895551/803475php,php-fpm优化 阅读全文
posted @ 2014-02-19 18:31 ifeixiang 阅读 (54) | 评论 (0) 编辑
摘要:参考文章:http://showerlee.blog.51cto.com/2047005/1189484监控mysql,php-fpm,nginxhttp://www.zrwm.com/?p=6360https://github.com/jizhang/zabbix-templateszabbix的安装可以使用官方的yum安装;先安装epel的源:rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm #官方的,用不了#用这个rpm -Uvh http://dl.fedora. 阅读全文
posted @ 2014-02-18 15:30 ifeixiang 阅读 (1109) | 评论 (0) 编辑
摘要:http://www.nowo.com/disk-performance-monitoring-in-zabbix/http://virtuallyhyper.com/2013/06/monitor-disk-io-stats-with-zabbix/ 阅读全文
posted @ 2014-01-04 18:06 ifeixiang 阅读 (58) | 评论 (0) 编辑
摘要:What is Docker?Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.do 阅读全文
posted @ 2013-12-23 22:26 ifeixiang 阅读 (518) | 评论 (0) 编辑
摘要:就像在windows下创建两个点以上的文件无法删除一样,linux下也可以有同样的技巧:[root@localhost ~]# touch test/.immutable[root@localhost ~]# chattr +i test/.immutable[root@localhost ~]# chattr +i test/[root@localhost ~]# mkdir test/foobarmkdir: cannot create directory `test/foobar': Permission denied[root@localhost ~]# touch test/ 阅读全文
posted @ 2013-12-23 22:12 ifeixiang 阅读 (2743) | 评论 (0) 编辑
摘要:git提交的时候,本地已经提交,却怎么也推送不到服务器,也没显示错误,只显示 everything-up-to-date ;原因是git不在master分支,而是处于detached head(匿名分支提交)状态,即git Head指向了其中一个提交,而不是master分支,所以,在detached HEAD里面做的任何操作,例如提交操作,都可以正常进行,但是不会更新任何已命名的分支。(你可以认为这是在更新一个匿名分支。)一旦此后切换到别的分支,比如说master,那么这个提交节点(可能!!!如果使用了git gc,那就没了:-()再也不会被引用到,然后就会被丢弃掉了。如果要保存这个匿名分支, 阅读全文
posted @ 2013-11-22 16:12 ifeixiang 阅读 (2898) | 评论 (0) 编辑
摘要:#!/usr/bin/perl -wuse strict;use warnings;use Tie::File;##### Thinkphp日志分析# 日志基本格式:{$now} ".$_SERVER['REQUEST_URI']." | {$level}: {$message}\r\n", $type,$destination,$extra# 使用方法:#sub parse_log{ my $file = shift; open my $fd , "){ # 2013-11-18 01:30:05+08:00 uri i... 阅读全文
posted @ 2013-11-20 12:39 ifeixiang 阅读 (1543) | 评论 (0) 编辑
摘要:比较好用的工具有:awstatsGoAccess主要是对access.log进行分析;安装GoAccess,官方有详细的介绍,这里记录一下:yum install glib2 glib2-devel GeoIP-devel ncurses-develcd ~/softwaregit clone https://github.com/allinurl/goaccess.git cd goaccessautoreconf -fi./configure --enable-geoip --enable-utf8 make && make install#下面运行GoAcess,相关参数 阅读全文
posted @ 2013-11-15 14:34 ifeixiang 阅读 (6460) | 评论 (1) 编辑
摘要:mysql -uroot -p#input password use mysql;update user set host='%' where user='root';flush privileges;#ok密码root密码也可以改:先停止正在运行的mysql实例,在配置文件/etc/my.cnf里面加入skip-grant-tables, 重新启动Mysql或者使用bin/safe_mysqld --skip-grant-tables & 启动使用 mysql -u root 连接(现在已经可以无密码连接了)update user set passwo 阅读全文
posted @ 2013-11-14 10:04 ifeixiang 阅读 (1399) | 评论 (0) 编辑
摘要:在向gitlab提交工程的时候,出现错误提示:remote: GitLab: You are not allowed to access master!remote: error: hook declined to update refs/heads/masterTo sa_gitlab@192.168.xxx:xxx/xxx.git ! [remote rejected] master -> master (hook declined)这个问题主要是由于git工程里的hooks/post-receive和update引起的。可以删除这两个文件;但是问题的根源不在这,在新建工程的hook 阅读全文
posted @ 2013-11-05 15:36 ifeixiang 阅读 (48012) | 评论 (0) 编辑
摘要:实现virtualbox主机与虚拟机互访,同时虚拟机还可以上网;主要通过配置两块网卡来实现;1,先配置好一台虚拟机Slave1,这里使用CentOS ;2,使用VirtualBox复制这台虚拟机,变成另外一台兄弟虚拟机Slave2;3,刚刚开始Slave2应该是上不了网的,因为网卡MAC地址也是复制过来的;所以需要重新调整; 在VirtualBox设备——更改网络连接——网络里查看网卡的MAC地址,记下来,到Slave2里面 vim /etc/udev/rules.d/70-persistent-net.rules#可以看到两块网卡的配置,将第一行删除,第二行最后的eth1改为eth0se.. 阅读全文
posted @ 2013-11-05 12:25 ifeixiang 阅读 (1615) | 评论 (0) 编辑
摘要:Mysql复制,初始化服务器,备份/还原等大文件复制是很常见的任务,他们完成的实际任务可以概括为:1,(可选)压缩文件2,发送文件3,解压文件4,验证文件一致性下面介绍几种方法:1,最简单的:先进行压缩,再用scp发送到服务器gzip -c /folder/bigfiles/ > bigfiles.gzscp bigfiles.gz root@test.host:/folder/bigfiles/然后在服务器的解压:gunzip /folder/bigfiles/bigfiles.gz这种方法效率不高,因为涉及到压缩,复制,解压缩等串行化操作,写磁盘速度比较慢...2,一步到位的方法,g 阅读全文
posted @ 2013-10-19 18:24 ifeixiang 阅读 (374) | 评论 (0) 编辑
摘要:1,本地同步文件:rsync -avz --delete /home/ /backups/注意:在指定复制源时,路径是否有最后的 “/” 有不同的含义,例如:/home: 表示将整个 /home 目录复制到目标目录/home/:表示将 /home 目录中的所有内容复制到目标目录2,同步远程服务器文件http://www.centos.bz/2011/06/rsync-server-setup/完全参考这篇文章做~~~关闭和启动rsync:killall -HUP rsyncrsync --daemon --config=/etc/rsyncd/rsyncd.conf可能会遇到的一些问题:1,r 阅读全文
posted @ 2013-10-12 18:43 ifeixiang 阅读 (868) | 评论 (0) 编辑
摘要:git config receive.denycurrentbranch false 阅读全文
posted @ 2013-10-11 19:36 ifeixiang 阅读 (98) | 评论 (0) 编辑
摘要:使用git来管理web开发;我们需要做的事情 :1,在服务器建立版本仓库;2,在服务器建立稳定版本的站点,编写版本仓库的hooks;3,在开发服务器上提交开发版本;下面一步一步来:(注意建立新用户,如git)1,在服务器上建立版本管理仓库;假定目录为 /git/,切换到该目录下;建立一个工程cd /git/mkdir project.gitgit init --bare2,在服务器上建立稳定版本的站点,例如目录是 /home/www ; 下面是重点,写钩子hooks:cd /git/project.gitcp hooks/post-receive.sample hooks/post-recei 阅读全文
posted @ 2013-09-04 19:57 ifeixiang 阅读 (7533) | 评论 (1) 编辑
摘要:问题:nginx error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory解决方案:ln -s /usr/local/lib/libevent-2.0.so.5 /lib64/libevent-2.0.so.5 阅读全文
posted @ 2013-08-28 15:26 ifeixiang 阅读 (94) | 评论 (0) 编辑
摘要:随着数据库的增长,innodb文件和日志文件会越来越大,如果是默认安装的mysql,这些文件一般是放在 /usr/lib/mysql下面进行转移:1,安全关闭mysqlmysqladmin -u root -p shutdown2,复制mysql文件夹,注意修改权限mv /var/lib/mysql /home/data/chown -R mysql.mysql /home/data/#还有,修改对象(文件)的安全上下文chcon -R -t mysqld_db_t /home/data3,修改配置/etc/my.cnf ,有童鞋说要修改 /etc/init.d/mysql启动文件,其实my. 阅读全文
posted @ 2013-08-24 12:50 ifeixiang 阅读 (105) | 评论 (0) 编辑
摘要:下面是一部分比较重要的建议:1、选择正确的存储引擎以 MySQL为例,包括有两个存储引擎 MyISAM 和 InnoDB,每个引擎都有利有弊。MyISAM 适合于一些需要大量查询的应用,但其对于有大量写操作并不是很好。甚至你只是需要update一个字段,整个表都会被锁起来,而别的进程,就算是读进程都无法操作直到读操作完成。另外,MyISAM 对于 SELECT COUNT(*) 这类的计算是超快无比的。InnoDB 的趋势会是一个非常复杂的存储引擎,对于一些小的应用,它会比 MyISAM 还慢。但是它支持“行锁” ,于是在写操作比较多的时候,会更优秀。并且,他还支持更多的高级应用,比如:事务。 阅读全文
posted @ 2013-08-15 10:40 ifeixiang 阅读 (3698) | 评论 (0) 编辑
摘要:PHP版:Perl:# 需要先安装 String::CRC32use String::CRC32;sub getCrc{ open my $fd , '<' , $filepath or die("error"); my $crc2 = crc32($fd); my $crc_out = sprintf("%x", $crc2); print uc($crc_out) ; } 阅读全文
posted @ 2013-08-14 17:35 ifeixiang 阅读 (338) | 评论 (0) 编辑
摘要:今天同步文件的时候发现了这个问题:原因是:tar_file_month=`date +%m`rsync -auzq --exclude="2012_0[1-9]" --exclude="2012_1[0-2]" --exclude="2013_0[1-"$(($tar_file_month-1))"]" 当月是8月,tar_file_month变成了08,下面执行 $(($tar_file_month-1))的时候,变成了08-1,而0x对于shell来说,会解析成8进制,08超过了8进制的表示范围,所以报错:sh 阅读全文
posted @ 2013-08-09 09:38 ifeixiang 阅读 (4056) | 评论 (0) 编辑
摘要:今天有同学问题,搜索ip的时候怎样能把select ip from tabelx where ip like '%192.168.0.1%'这种句子的性能优化。的确,使用 like %x 的方式,数据库没办法使用索引,一定会进行整表扫描,所以我们需要避免这种方法。之前同事叫我尝试一下用 match() against 的方法。于是顺便试了试,——前提:全文索引只支持MyISAM表select * from `data`.`test` where match (ip) against('192') 这样搜索出来没有结果。google了一会儿,发现网上的例子都是搜索 阅读全文
posted @ 2013-08-07 18:42 ifeixiang 阅读 (2005) | 评论 (0) 编辑
摘要:对付Linux的问题,其实很多都是权限问题,细心想一下即可。centos6.4默认装的是mysql5.1,使用 yum update 也update不了。google了一下,找到个yum安装的方法:http://www.webtatic.com/packages/mysql55/先备份一下:(非常重要)备份数据库文件: 复制 /var/lib/mysql/下的数据库文件到安全的目录 (复制回来的时候注意修改权限 ) cp -r /var/lib/mysql /home/www/bak/mysql/再把这个目录清空了(mysql启动的时候会重新加载数据库文件)备份mysql数据库用户文件:mys 阅读全文
posted @ 2013-07-26 15:14 ifeixiang 阅读 (5632) | 评论 (0) 编辑
摘要:为了保证数据库安全,建立了若干个只能select的用户,但在权限授权的时候出现了不能连接的问题,一个个尝试了一下,需要将 : 管理 ->SUPER项勾选才行(使用phpmyadmin),上面提示:“允许在达到最大连接数时连接,对于大多数像设置全局变量或杀死其它用户线程这样的管理操作是必需的。” 阅读全文
posted @ 2013-07-24 12:57 ifeixiang 阅读 (90) | 评论 (0) 编辑
摘要:在Cron的环境下,是没有定义路径的,所以,service xxx start等等要使用绝对路径 =》 /sbin/service xxx startservice的路径可以用whereis service找到 阅读全文
posted @ 2013-07-09 08:30 ifeixiang 阅读 (173) | 评论 (0) 编辑
摘要:yum erase libevent*wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gztar xzvf libevent-2.0.21-stable.tar.gzcd libevent-2.0.21-stablemake clean./configure --prefix=/usrmakemake installln -s /usr/lib/libevent* /usr/lib64/ 阅读全文
posted @ 2013-06-21 16:34 ifeixiang 阅读 (290) | 评论 (0) 编辑
摘要:2013年6月28日更新:写了个脚本去自动化的转数据库并导入: 1 MYSQL_DIR='/var/lib/mysql/tmp_test/' 2 DB_USER='test' 3 DB_PASS='test' 4 DB_TMP='tmp_test' 5 DB_TARGET='test' 6 DB_TARGET_TABLE='test' 7 8 DATA_URL="http://test/test.tar.gz" 9 #get filename 10 FILENAME=$(base 阅读全文
posted @ 2013-06-15 14:41 ifeixiang 阅读 (1393) | 评论 (0) 编辑
摘要:我们在ubuntu图形界面下用eclipse写了一个动态库,到centos下调用时出现错误, error while loading shared libraries: libmysqlclientso.so.0: cannot open shared object file: No such file or directory以为没装mysql-client,因为ubuntu下叫这个,但是centos下直接就叫mysql,服务器版本叫mysql-server,查找了一下libmysqlclient.sofind / -name libmysqlclient.so,果然发现不同:这是因为没有把 阅读全文
posted @ 2013-06-07 11:51 ifeixiang 阅读 (90066) | 评论 (0) 编辑
摘要:快速复制大量小文件主要使用先打包再复制的方法:find . -name '*.jpg' -print > jpg.txttar怎么从文件中读取文件列表呢?查了很久,用 -T -T, --files-from F get names to extract or create from file F注意这里不要加 -v参数啦,对于大量文件,控制台输出是很浪费时间的...tar -czf jpg.tar.gz -T yourfile 快速删除文件——使用rsync原理:使用rsync同步一个空目录即可。对于万级文件的目录基本是秒删,回车就OKhttp://my.oschina. 阅读全文
posted @ 2013-06-06 19:36 ifeixiang 阅读 (4955) | 评论 (1) 编辑
摘要:在想怎么将服务器端的程序与PHP交互的时候PHP扩展进程端口:由于服务器程序执行的是大数据计算操作,耗时会比较长,使用php扩展可能会堵死PHP进程,所以决定采用这种方法 1 /* 2 * yf_deamon.cpp 3 * 4 * Created on: Jun 3, 2013 5 * Author: cloud 6 * 开启一个socket端口,进行本地进程通信 7 * 8 */ 9 #include <stdio.h>10 #include <stdlib.h>11 #include <string.h>12 13 #include <unist 阅读全文
posted @ 2013-06-03 20:15 ifeixiang 阅读 (118) | 评论 (0) 编辑
摘要:使用sshfs挂载服务器文件系统sudo apt-get install sshfssshfs user@hostname:path /mnt/datacentos:(0.5.2这个才行,新版本反而不行~~~)wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpmrpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpmyum install fuse-sshfs用curlftpfs挂载FTP服务器安装curlftpfs1 sudo 阅读全文
posted @ 2013-06-03 14:55 ifeixiang 阅读 (1090) | 评论 (0) 编辑
摘要:如果ping不慢,但是使用ssh,ftp,mysql连接的时候慢,大部分原因是因为服务器在尝试解析你的IP,这在很多时候是没有必要的。可以禁用这些解析vsftpd连接慢的问题修改vsftpd.conf,添加下面一句reverse_lookup_enable=NOssh连接慢vi /etc/ssh/s... 阅读全文
posted @ 2013-06-03 11:40 ifeixiang 阅读 (104) | 评论 (0) 编辑
摘要:在网上找了许多资料,发现不同系统下的编写方法有点不同,这里用的了ubuntu下的方法,供参考:先写一下小程序运行 , init_daemon: 1 #include <stdlib.h> 2 #include <stdio.h> 3 4 int main() 5 { 6 daemon(0,0); // 将进程声明为守护进程 7 8 int i = 0 ; 9 while(1)10 {11 i++ ;12 sleep(100000);13 }14 }编译,生成可执行文件: gcc -c init_daemon gcc ... 阅读全文
posted @ 2013-05-30 15:35 ifeixiang 阅读 (4532) | 评论 (0) 编辑
摘要:在配置mysql的时候,经常重启mysql可能有点慢,可以使用:/usr/libexec/mysqld --help --verbose来查看/etc/my.cnf文件是否有错 阅读全文
posted @ 2013-05-28 10:01 ifeixiang 阅读 (621) | 评论 (0) 编辑
摘要:对于大数据的表,使用delete太费时,可以用:TRUNCATE TABLE '表名'这样不会保留日志 阅读全文
posted @ 2013-05-28 09:51 ifeixiang 阅读 (918) | 评论 (0) 编辑
摘要:用网易的源会快很多,步骤如下:http://mirrors.163.com/.help/centos.html1、首先备份/etc/yum.repos.d/CentOS-Base.repomv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Ce... 阅读全文
posted @ 2013-05-17 13:12 ifeixiang 阅读 (85) | 评论 (0) 编辑
摘要:装了很多次机,做了很多次重复工作,最后,总结以下装CentOS经验:注:很多问题其实都不是问题,先把selinux关了!setenforce 0 ,不然会死的很惨!1,先更新源启用国内的源:163或sohu163:http://mirrors.163.com/.help/centos.html如果想使用新的软件,建议用REPL和remi的源#remi的源rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpmrpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6#Fedor 阅读全文
posted @ 2013-05-15 16:21 ifeixiang 阅读 (1011) | 评论 (0) 编辑
摘要:CentOS安装好Nginx后,需要设置一下防火墙,接受80端口的访问,防火墙的设置可以直接修改/etc/init.d/iptables文件,或者使用下面的命令/etc/init.d/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /etc/init.d/iptables save再访问Nginx就可以了。常用命令:启动nginx:nginx重启nginx:killall -HUP nginx测试nginx配置:nginx -tnginx的几个默认目录使用 whereis nginx 命令可以看到nginx装到了哪里 nginx: /usr... 阅读全文
posted @ 2013-05-15 15:43 ifeixiang 阅读 (113) | 评论 (0) 编辑
摘要:配置Git,Hadoop都会需要配置ssh无密码连接,具体步骤如下:生成本机密钥 : ssh-keygen拷贝到服务器: ssh-copy-id -i .ssh/id_rsa.pub user@host完成。现在可以用 ssh user@host 直接连接服务器了对于非标准端口,可以使用下面:ssh... 阅读全文
posted @ 2013-05-13 11:35 ifeixiang 阅读 (142) | 评论 (0) 编辑
摘要:很久以前开发的功能,在服务器上执行,因为Git对utf-8支持的问题,走了很多弯路,放出所有代码供大家参考:View Code 1 #fei add for dl_patch download 2 3 4 ############# some tools for pretty codes ######### 5 sub git_write_xml_file 6 { 7 git_header_html(); 8 my $zipfile = $file_name ;#from paramter 9 my $xmlfilename = "d... 阅读全文
posted @ 2013-04-09 17:35 ifeixiang 阅读 (899) | 评论 (0) 编辑
摘要:今天在打差异包的时候,发现打包失败。原来是拷贝文件失败。于是,打文件名与文件状态打印出来看,发现添加文件的状态“A”与删除文件状态“M”调转了!这一度让我以为是Perl传递参数的时候发生了错误。于是纠结在数组引用传递的问题上,同时将代码优化了一下。后来发现这不是办法,因为实在不对劲。在本地进行若干尝试后,发现,文件在本地的状态与服务器的状态也是相反的。我用的命令是git diff-tree HEAD HEAD^ --name-status 于是尝试了将两个Hash码调转,果然,状态和服务器一样了。原来是参照物的问题,而不是Perl引用传递的问题! git diff-tree HEAD^ HEA 阅读全文
posted @ 2012-12-22 10:11 ifeixiang 阅读 (240) | 评论 (0) 编辑
摘要:在项目中经常会遇到这样的情况,在Windows下上传到服务器的中文文件夹或文件变成乱码了。 以前一度不知道怎么办,用着办法也是非常落后的:备份文件夹,照理来说,乱码文件夹或文件是不会下载下来的。删除服务器上的文件夹所有内容,因为rm -rf * 总是可以执行的再上传 这是一个比较笨的方法。 今天在搜索Git中文目录乱码的问题时,想看看Linux下文件夹的结构,于是找到了删除乱码文件夹或文件的方法。通过 文件的inode号来删除文件(相当于我们用pid来kill进程一样) ll -i 或 ls -i 列出文件的inode号 find folder -inum -delete 阅读全文
posted @ 2012-12-15 09:48 ifeixiang 阅读 (720) | 评论 (0) 编辑
摘要:首先是基本的: 1 git add * 2 3 git commit -a -m "commit message" 4 5 //本地提交 6 7 git remote add origin username@serverip:projectName 8 9 git push origin master10 11 git fetch git pull然后是:1 git reset HEAD^ //只回退commit 与 index信息2 //如果在服务器端的操作,想回退的话,可以用--f3 git push --f origin master //这样,服务器的版本会被强制覆 阅读全文
posted @ 2012-10-30 11:48 ifeixiang 阅读 (162) | 评论 (0) 编辑
摘要:做了个小的DEMO,可以查看:https://github.com/feixiang/webgit.git 这几天一直在郁闷的事情。 Git在shell里面执行得好好的,apache运行用户也改成了git,但是,在提交Git工程的时候却没法提交。 刚开始以为是文件权限问题,因为权限问题是Linux上的最大问题。 可是,尽管把目录都设成了777的权限(不要学,测试用),还是没法提交,于是心都凉了... 今天在询问某个同事的时候,无意中将apache用户从git改回apache,意外地发现!竟然能够提交成功! 之前将apache用户设置为git是因为在web服务器上部署了Git,组成Gi... 阅读全文
posted @ 2012-10-25 22:21 ifeixiang 阅读 (3224) | 评论 (0) 编辑
摘要:mkdir -p /data/data2/data3 -p表示递归创建目录tar -k 表示不覆盖已存在的文件,keep old files tar -kxvf 查看 未正常关闭的程序占用的文件:lsof |grep deleted查看哪个程序占了最多资源的命令:1 ps -A --sort -rss -o comm,pmem,pcpu |uniq -c |head -15不断更新,不断累积经验~~~cp命令,有时候即使用用了cp -rf 还是会提示覆盖提示,这是因为 bash用了别名,把cp变成了cp -i , 所以,运行1 # unalias cp2 # cp -rf XXX ... 阅读全文
posted @ 2012-08-30 15:34 ifeixiang 阅读 (6745) | 评论 (0) 编辑
摘要:原来!!!Linux文件夹权限问题非常严重! SSH验证机制非常严格!要求用户的HOME文件夹属性是700,即其他用户不能访问。 所以,chmod 700 git(我的用户根目录的home) 阅读全文
posted @ 2012-08-28 15:10 ifeixiang 阅读 (103) | 评论 (0) 编辑
摘要:参考文章:http://www.ossxp.com/doc/git/gitolite.html当前任务,学习中... 公司小范围用法: 服务器上做的:在服务器上建立一个用户,这里命名为git。 ubuntu下: useradd git —— passwd git 1 (改密码为1)找个目录,建立空仓库 git --bare init 。 ubuntu下: cd /opt —— mkdir git —— git --bare init建立文件夹project.git (名字随便取,这里取project,以后别人git clone时就会生成project文件夹)。再建立一个文件夹.ssh,用来存入 阅读全文
posted @ 2012-06-28 14:45 ifeixiang 阅读 (46118) | 评论 (5) 编辑
摘要:使用Git的最简单的几个步骤: http://rogerdudler.github.com/git-guide/index.zh.html另外,还有这篇文章也写的很简单易懂:http://marklodato.github.io/visual-git-guide/index-zh-cn.html 阅读全文
posted @ 2012-06-04 09:40 ifeixiang 阅读 (563) | 评论 (0) 编辑
摘要:上传到真正的服务器上,发现服务器用的是64位系统,当时就真的应该想到这一点!出现了wrong ELF class: ELFCLASS32 in Unknown on line这种好像是32位程序与64位库的冲突问题!解决方法 : 正在解决中...-------------------------continue----------------------几经折腾,装了和服务器一样版本的64位操作系统。由于这次是RHEL,又需要一点熟悉的时间,又耗了很多时间...这里遇到的一个问题是:我是用virtualbox装的,因为宿主机(本机)是32位系统,所以装64位系统需要CPU开启虚拟化技术(IVT 阅读全文
posted @ 2012-05-04 15:05 ifeixiang 阅读 (8324) | 评论 (0) 编辑
摘要:其实绝大多数问题都是环境配置问题,不过这一切都不是问题,因为谷歌在,即使偶尔谷歌被挡了,还有百度可以顶一下...问题与解决方法列举如下:安装php与apache的问题: 不要用apt-get install安装,这样得到的版本可能与你需要的不同,具体编译安装方法见http://ifeixiang.sinaapp.com/?p=253当然,如果你执意要用apt-get install安装的话也没关系,因为方便嘛 阅读全文
posted @ 2012-04-28 14:19 ifeixiang 阅读 (91) | 评论 (0) 编辑