centos 修改 runlevel

分类:技术文档 - PHP文档 | 阅读(1804) | 发布于:2013-08-02 09:21 | 标签:无

centos 默认runlevel 
vim /etc/inittab
id:5:initdefault:
将 5修改为3 
shutdown -r now 

阅读更多...

linux 永久修改网卡IP

分类:技术文档 - PHP文档 | 阅读(2576) | 发布于:2013-08-02 09:20 | 标签:无

永久修改网卡IP  vi /etc/sysconfig/network-scripts/ifcfg-eth0 
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
	DEVICE=eth0
	BOOTPROTO=dhcp   //注 dhcp 为自动,静态为 static再加一行 IPADDR=192.168.38.109 再service network restart
	HWADDR=00:0C:29:4C:A3:70
	ONBOOT=yes

阅读更多...

U盘安装 linux系统 后操作

分类:技术文档 - PHP文档 | 阅读(1810) | 发布于:2013-08-02 09:18 | 标签:无

由于用U盘安装完系统后,拔下U盘,系统起不来,所以在拔U盘前得安装grub。步骤如下:
 1、 将grub写到第一个硬盘的MBR上。 在终端下进行操作:

[root@localhost~]#grub

Grub>root (hd0,5)		//hd0为第一块硬盘 后一个5为根挂在所在的分区

Grub>setup (hd0)		

Grub>quit 

2、修改/etc/grub.conf配置文件
=原文件===============================================================
#boot=/dev/sdb
default=0
timeout=5
splashimage=(hd1,6)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.el5)
        root (hd1,6)
        kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/
        initrd /initrd-2.6.18-194.el5.img
title Other
        rootnoverify (hd1,0)
        chainloader +1
~
=现改为==============================================================
#boot=/dev/sdb
default=0
timeout=5
splashimage=(hd0,5)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.el5)
        root (hd0,5)
        kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/
        initrd /initrd-2.6.18-194.el5.img
title Other
        rootnoverify (hd0,0)
        chainloader +1
~

阅读更多...

Linux scp 拷贝文件

分类:技术文档 - PHP文档 | 阅读(3514) | 发布于:2013-08-01 17:48 | 标签:无

1.从远程机器拷贝文件 到 本地来 
scp root@192.168.1.201:/opt/79/win2003-8.img  /www
命令格式:    scp [远程计算机用户名]@[远程计算机ip地址]:[要拷贝的文件路径及文件名]  [存放该文件的本机路径]

2.从 本地 拷贝文件到 远程机器上;
scp -r /home/ root@192.168.1.100:/root/
scp /home/test.txt root@192.168.1.100:/root/
其实上传文件和文件夹区别就在参数 -r, 跟cp, rm的参数使用差不多, 文加价多个 -

命令格式为:  scp [要拷贝的文件路径及文件名] [远程计算机用户名]@[远程计算机的ip地址]:[远程计算机存放该文件的路径]

阅读更多...

replace into 用法

分类:技术文档 - MySQL | 阅读(7092) | 发布于:2013-08-01 17:00 | 标签: replace

讨人喜欢的 MySQL replace into 用法(insert into 的增强版) 在向表中插入数据的时候,
经常遇到这样的情况:
1. 首先判断数据是否存在;
2. 如果不存在,则插入;
3.如果存在,则更新。
在 SQL Server 中可以这样处理:
   if not exists (select 1 from t where id = 1)
      insert into t(id, update_time) values(1, getdate())
   else
      update t set update_time = getdate() where id = 1
那么 MySQL 中如何实现这样的逻辑呢?
别着急!MySQL 中有更简单的方法:

replace into
replace into t(id, update_time) values(1, now());

或

replace into t(id, update_time) select 1, now();

replace into 跟 insert 功能类似,不同点在于:
replace into 首先尝试插入数据到表中,
1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。
2. 否则,直接插入新数据。
要注意的是:插入数据的表必须有主键或者是唯一索引!
否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。
MySQL replace into 有三种形式:
1. replace into tbl_name(col_name, ...) values(...)
2. replace into tbl_name(col_name, ...) select ...
3. replace into tbl_name set col_name=value, ...
前两种形式用的多些。
其中 “into” 关键字可以省略,不过最好加上 “into”,这样意思更加直观。
另外,对于那些没有给予值的列,MySQL 将自动为这些列赋上默认值。

阅读更多...

curl批处理

分类:技术文档 - PHP文档 | 阅读(2201) | 发布于:2013-08-01 16:58 | 标签:无

	function my_mt_curl($date){
		$i = count($date['tmp_rid']);
		for($m=0;$m<$i;$m++){
			$ch[$m] = curl_init();
		}
	
		for($m=0;$m<$i;$m++){
			curl_setopt($ch[$m], CURLOPT_URL, $date['url'][$m]);
			curl_setopt($ch[$m], CURLOPT_HEADER, 0);
			curl_setopt($ch[$m], CURLOPT_ENCODING, ' gzip, deflate');
			// curl_setopt($ch[$m], CURLOPT_TIMEOUT, $date['timeout'] );
			if($date['header']){curl_setopt($ch[$m], CURLOPT_HTTPHEADER, $date['header']);}
			curl_setopt($ch[$m], CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; KB974487)' );
			if( $date['referer']){curl_setopt($ch[$m], CURLOPT_REFERER, $date['referer']);}
			curl_setopt($ch[$m], CURLOPT_FOLLOWLOCATION, 1);
			curl_setopt($ch[$m], CURLOPT_RETURNTRANSFER,1); 
			if($date['cookie_file']){curl_setopt($ch[$m], CURLOPT_COOKIEFILE, $date['cookie_file'] );curl_setopt($ch, CURLOPT_COOKIEJAR,  $date['cookie_file'] );}
			if($date['cookie_str']){curl_setopt($ch[$m], CURLOPT_COOKIE,  $date['cookie_str'] );}
			if($date['post_date']){curl_setopt($ch[$m], CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $date['post_date'] );}
		}
		$mh = curl_multi_init();
		for($m=0;$m<$i;$m++){
			curl_multi_add_handle($mh,$ch[$m]);
		}
		$active = null;
		do {
			$mrc = curl_multi_exec($mh, $active);
		} while ($mrc == CURLM_CALL_MULTI_PERFORM);
		while ($active && $mrc == CURLM_OK) {
			if (curl_multi_select($mh) != -1) {
				do {
					$mrc = curl_multi_exec( $mh , $active);
				} while ($mrc == CURLM_CALL_MULTI_PERFORM);
			}
		}
		for( $m = 0 ; $m< $i ; $m++ ){
			$postrid = $date['tmp_rid'][$m];
			$cons[$postrid] = curl_multi_getcontent($ch[$m]);
			$info = curl_getinfo($ch[$m]);
			curl_multi_remove_handle($mh, $ch[$m] );
		}
		curl_multi_close($mh);
		return $cons;
	}

阅读更多...

centos 安装kvm虚拟机

分类:技术文档 - PHP文档 | 阅读(4189) | 发布于:2013-07-31 17:28 | 标签:无

centos 安装kvm虚拟机
1、先确认一下电脑是否打开了虚拟化
   在boot的设置打开VT

2.查看CPU是否支持虚拟化
   grep vmx /proc/cpuinfo
3、安装kvm虚拟机软件
yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64  #安装kvm内核
yum install libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch  libvirt-python.x86_64 #安装virt管理工具
modprobe kvm         #加载kvm内核
modprobe kvm-intel   #intel cpu加载kvm-intel内核,要支持全虚拟化,必须开启;要求cpu支持,通过bios可设置。
modprobe kvm-amd     #amd cpu加载kvm-intel

3、查看虚拟机模块安装
[root@m8 ~]# modprobe -ls|grep kvm
kernel/arch/x86/kvm/kvm.ko
kernel/arch/x86/kvm/kvm-intel.ko
kernel/arch/x86/kvm/kvm-amd.ko


.配置桥接网卡
1>安装桥接程序

yum install bridge bridge-utils -y

bridge 可以不安装

2>配置网卡文件

cd /etc/sysconfig/network-scripts/
vim ifcfg-eth0
   DEVICE=eth0
   BRIDGE=br0
   ONBOOT=yes
vim ifcfg-br0
	DEVICE=br0
	TYPE=Bridge
	ONBOOT=yes
	BOOTPROTO=static
	IPADDR=192.168.0.12
	NETWORK=255.255.255.0
	GATEWAY=192.168.0.1

3>添加桥接网卡,并把网卡添加到桥接网卡

brctl addbr br0
brctl addif br0 eth0


KVM虚拟机的正常安装
virt-install --name win2003-1 --ram=3072  --arch=x86_64 --vcpus=1 --os-type=windows --os-variant='win2k' -c /home/2003_1.iso --disk path=/home/windows2003_1.img,size=5 --network bridge=br0 --vnc --vnclisten=0.0.0.0

-name 安装虚拟机的名称  -ram 分配的内存大小  --arch 平台架构  --vcpus cpu的数量  --os-type 操作系统类型 --os-variant  操作系统版本

-c  光盘镜像地址  --diskpath 文件路径  size 设置大小  --vnc 设置vnc

kvm 虚拟机的删除

virsh destroy s1(停止虚拟机s1)
virsh undefine s1(z删除虚拟机定义)

删除虚拟机相关配置文件

/var/lib/libvirt/images/s1/
/etc/libvirt/qemu/s1.xml

KVM虚拟机的复制

virt-clone -o win2003-1 -n win2003-3 -f /virimg/win2003-3.img 

-o 原始客体的名称,必须为挂起或者关闭状态
-n 新虚拟机的名称
-f 作为新客户端磁盘映像的新文件 

本地需要安装vnc 客户端

阅读更多...

samba文件共享

分类:技术文档 - PHP文档 | 阅读(5273) | 发布于:2013-07-31 14:35 | 标签:无

samba文件共享
1)安装软件
2)修改配置文件
3)启动服务

安装软件:
yum -y install samba  --skip-broken(参数的意思是跳过依赖关系)

修改配置文件:
vim /etc/samba/smb.conf

把以下添加到这个配置文件的最下面(这个是配置有用户名的登录的)
[share}   
path = /share
broweable = yes
writable = yes

如果添加smb用户:
1)useradd user1
2)smbpasswd -a user1

[public]#这个是配置匿名用户访问samba的配置
comment = Public Stuff
path = /path/dirname
broweable = yes #可浏览
writable = yes #可写
启动服务:
service smb restart

查看进程:
pstree |grep smb

查看端口:
netstat -tunpl |grep :13

c测试:
linux客户端:
mount //192.168.10.1/share /mnt -o username=user1
mount //192.168.100.1/web /mnt -o user=user1,pass=123
window客户端:\192.168.10.1share
window客户端:映射网络驱动器

smbstatus 查看连接共享目录的用户

smbstatus a

testparm 测试Samba的设置是否正确无误

testparm -s

可以显示samba的所有共享目录信息

查看所有samba用户列表:pdbedit -L

Samba服务器的安全级别分为5种,分别是user、share、server、domain和ads。在设置不同的级别时,samba服务器还会使用口令服务器和加密口令。
1、user -----客户端访问服务器时需要输入用户名和密码,通过验证后,才能使用服务器的共享资源。此级别使用加密的方式传送密码。
2、share -----客户端连接服务器时不需要输入用户名和密码
3、server -----客户端在访问时同样需要输入用户名和密码,但是,密码验证需要密码验证服务器来负责。
4、domain -----采用域控制器对用户进行身份验证
5、ads -----若samba服务器加入到Windows活动目录中,则使用ads安全级别,ads安全级别也必须指定口令服务器


[homes] -----samba用户的宿主目录
comment = Home Directories -----设置共享的说明信息
browseable = no -----目录浏览权限
writable = yes -----用户对共享目录可写
这个共享目录只有用户本身可以使用,默认情况下,用户主目录位于/home目录下,每个Linux用户有一个以用户名命名的子目录。
以下是共享打印机的设置:
[printers] -----共享打印机
comment = All Printers -----设置共享的说明信息
path = /var/spool/samba -----指定共享目录的路径
browseable = no -----目录浏览权限
guest ok = no -----允许来宾访问
writable = no -----用户对共享目录可写
printable = yes -----可以打印
以上是系统默认设置


添加自定义的共享目录:( user1对/ASUS有所有权,user2拥有只读权限,其他用户不能访问;public共享目录允许所有用户访问及上传文件)
[ASUS]
comment = user1 Directories -----设置共享的说明信息
browseable = yes -----所有samba用户都可以看到该目录
writable = yes -----用户对共享目录可写
path = /ASUS -----指定共享目录的路径
[public]
comment = all user Directories -----设置共享的说明信息
browseable = yes -----所有samba用户都可以看到该目录
writable = yes -----用户对共享目录可写
path = /public -----指定共享目录的路径
guest ok = yes -----允许来宾访问

修改完配置文件后需要重启samba服务
[root@localhost ~]#service smb restart
Samba服务器包括两个服务程序
2 smbd
? smbd服务程序为客户机提供了服务器中共享资源的访问
2 nmbd
? nmbd服务程序提供了NetBIOS主机名称的解析,为Windows网络中域或者工作组内的主机进行主机名称的解析

设置目录权限
[root@localhost ~]#mkdir /ASUS ------创建要共享目录
[root@localhost ~]#mkdir /public ------创建要共享的目录
[root@localhost ~]#chmod 750 /ASUS ------修改/ASUS权限(属主拥有所有权,属组只读,其它用户不能访问)
[root@localhost ~]#chown user1 /ASUS ------将/ASUS的属主改为user1
[root@localhost ~]#groupadd ASUS ------添加ASUS组
[root@localhost ~]#usermod –G ASUS user1 ------将user1加入到ASUS组
[root@localhost ~]#usermod –G ASUS user2 ------将user2加入到ASUS组
[root@localhost ~]#chgrp ASUS /ASUS ------将/ASUS的属组改为 ASUS
[root@localhost ~]#chmod 777 /public ------给所有用户分配完全控制

阅读更多...

phpmyadmin 添加多服务器方法

分类:技术文档 - PHP文档 | 阅读(2559) | 发布于:2013-07-31 00:24 | 标签:无

复制 config.sample.inc.php 为 config.inc.php 
修改以下代码
/*
 * Servers configuration
 */
$i = 0;

/*
 * First server
 */

$i++;
$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['host'] = '118.244.232.147';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['extension'] = 'mysql';

$i++;
$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['extension'] = 'mysql';

阅读更多...

ThinkPHP URL 重写

分类:技术文档 - PHP文档 | 阅读(2628) | 发布于:2013-07-30 23:47 | 标签:无

通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。
下面是Apache的配置过程,可以参考下:
1、httpd.conf配置文件中加载了mod_rewrite.so模块
2、AllowOverride None 将None改为 All
3、确保URL_MODEL设置为2
4、把下面的内容保存为.htaccess文件放到入口文件的同级目录下

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

重启Apache

阅读更多...