很久没有更新博客了,
感觉没有什么可以写的,
其实是不想写,懒得写。
这个网站的服务器10月份就到期的,
不知道到时候会不会再续费,
原本打算将blog关闭掉的,
但是写了这么多年,
上面的很多资料还是很有用的。
所以一直没有关闭,放在这里
不知道明天会怎么样。
很久没有更新博客了,
感觉没有什么可以写的,
其实是不想写,懒得写。
这个网站的服务器10月份就到期的,
不知道到时候会不会再续费,
原本打算将blog关闭掉的,
但是写了这么多年,
上面的很多资料还是很有用的。
所以一直没有关闭,放在这里
不知道明天会怎么样。
在Centos中yum安装和卸载软件的使用方法
安装方法
安装一个软件时
yum -y install httpd
安装多个相类似的软件时
yum -y install httpd*
安装多个非类似软件时
yum -y install httpd php php-gd mysql
卸载一个软件时
yum -y remove httpd
卸载多个相类似的软件时
yum -y remove httpd*
卸载多个非类似软件时
yum -y remove httpd php php-gd mysql
另外还有一个非常棒的用法
假如我要执行iostat这个命令来查看CPU与存储设备状态,可是执行却发现没有这个命令
于是执行yum install iostat,结果说找不到该软件,使用下面的办法可以解决
yum search iostat就能查到和iostat相关的安装包了,
另外想安装一个程序,只记得一部分名称,也可以用这个办法来实现安装
yum search png |grep png
就能找到我们想安装的libpng这个名称
[root@centos5 ~]# yum -y install mod_ssl 在线安装mod_ssl
Loading “fastestmirror” plugin
Loading mirror speeds from cached hostfile
* base: centos.candishosting.com.cn
* updates: mirror.khlug.org
* addons: centos.candishosting.com.cn
* extras: centos.candishosting.com.cn
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
–> Running transaction check
—> Package mod_ssl.i386 1:2.2.3-11.el5_2.centos.4 set to be updated
–> Processing Dependency: libdistcache.so.1 for package: mod_ssl
–> Processing Dependency: libnal.so.1 for package: mod_ssl
–> Running transaction check
—> Package distcache.i386 0:1.4.5-14.1 set to be updated
–> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
mod_ssl i386 1:2.2.3-11.el5_2.centos.4 updates
85 k
Installing for dependencies:
distcache i386 1.4.5-14.1 base 119 k
Transaction Summary
=============================================================================
Install 2 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 204 k
Downloading Packages:
(1/2): mod_ssl-2.2.3-11.e 100% |=========================| 85 kB 00:02
(2/2): distcache-1.4.5-14 100% |=========================| 119 kB 00:03
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: distcache ######################### [1/2]
Installing: mod_ssl ######################### [2/2]
Installed: mod_ssl.i386 1:2.2.3-11.el5_2.centos.4
Dependency Installed: distcache.i386 0:1.4.5-14.1
Complete!
[root@centos5 ~]# cd /etc/httpd/conf 进入HTTP服务器配置文件所在目录
[root@centos5 conf]# rm -rf ssl.*/server.* 删除默认或残留的服务器证书相关文件
[root@centos5 ~]# rpm -qa |grep openssl
openssl-0.9.8b-10.el5
[root@centos5 ~]# openssl genrsa -out www.yang.com.key 1024 建立服务器密钥
Generating RSA private key, 1024 bit long modulus
…………………………………………………..++++++
.++++++
e is 65537 (0×10001)
[root@centos5 ~]# openssl req -new -key www.yang.com.key -out www.yang.com.csr 建立服务器公钥
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [GB]:OM 输入国名
State or Province Name (full name) [Berkshire]:fuzhou 输入省名
Locality Name (eg, city) [Newbury]:fou 输入城市名
Organization Name (eg, company) [My Company Ltd]:yang 输入组织名(任意)
Organizational Unit Name (eg, section) []:www 不输入,直接回车
Common Name (eg, your name or your server’s hostname) []:www.yang.com 输入通称(任意)
Email Address []:admin@yang.com 输入电子邮箱地址
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: 不输入,直接回车
An optional company name []: 不输入,直接回车
[root@centos5 ~]# ls -l
total 68
-rw——- 1 root root 986 Jan 31 23:54 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 Feb 1 02:17 Desktop
-rw-r–r– 1 root root 0 Feb 1 03:06 Finished
-rw-r–r– 1 root root 15078 Jan 31 23:54 install.log
-rw-r–r– 1 root root 2876 Jan 31 23:53 install.log.syslog
-rw-r–r– 1 root root 0 Feb 1 03:06 Package
-rw-r–r– 1 root root 0 Feb 1 03:06 Processing
-rw-r–r– 1 root root 0 Feb 1 03:06 Running
-rw-r–r– 1 root root 684 Feb 1 04:54 www.yang.com.csr
-rw-r–r– 1 root root 887 Feb 1 04:52 www.yang.com.key
[root@centos5 ~]# openssl x509 -req -days 365 -in www.yang.com.csr -signkey www.yang.com.key -out www.yang.com.crt 建立服务器证书
Signature ok
subject=/C=OM/ST=fuzhou /L=fou/O=yang/OU=www/CN=www.yang.com/emailAddress=admin@ yang.com
Getting Private key
[root@centos5 ~]# ll
total 72
-rw——- 1 root root 986 Jan 31 23:54 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 Feb 1 02:17 Desktop
-rw-r–r– 1 root root 0 Feb 1 03:06 Finished
-rw-r–r– 1 root root 15078 Jan 31 23:54 install.log
-rw-r–r– 1 root root 2876 Jan 31 23:53 install.log.syslog
-rw-r–r– 1 root root 0 Feb 1 03:06 Package
-rw-r–r– 1 root root 0 Feb 1 03:06 Processing
-rw-r–r– 1 root root 0 Feb 1 03:06 Running
-rw-r–r– 1 root root 920 Feb 1 04:57 www.yang.com.crt
-rw-r–r– 1 root root 684 Feb 1 04:54 www.yang.com.csr
-rw-r–r– 1 root root 887 Feb 1 04:52 www.yang.com.key
[root@centos5 ~]# vi /etc/httpd/conf.d/ssl.conf 修改SSL的设置文件
# When we also provide SSL we have to listen to the
# the HTTPS port in addition.
#
Listen 443
[root@centos5 ~]# /etc/rc.d/init.d/httpd restart 重启服务
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
[root@centos5 ~]# netstat -ntpl |grep 443
tcp 0 0 :::443 :::* LIST
EN 10317/httpd
APT 常用指令如下:
apt-get update
更新软件包列表
apt-get dist-upgrade
升级 rpm
apt-cache search
搜索软件包,ex: apt-cache search httpd
apt-get install
安裝软件包,这里的软件包安裝,会考虑到依赖性的问题 ex: apt-get install httpd
apt-get remove
移除软件包,这里的软件包移除,也会考虑到依赖性的问题 ex: apt-get remove httpd
apt-get clean
清除安裝時下载的暂存软件包原始档案,位於 /var/cache/apt/archives
YUM 常用指令如下:
yum update
更新软件包, ex: yum update httpd,如果只有 yum update ,会更新所有已經安裝的软件包。
yum search
搜索软件包,ex: yum search httpd*,会搜索所有跟 httpd 有关的软件包。
yum install
安裝软件包,这里的软件包安裝,会考虑到依赖性的问题 ex: yum install httpd
yum remove
移除软件包,这里的软件包移除,也会考虑到依赖性的问题 ex: yum remove httpd
yum clean
清除安裝時下载的暂存软件包原始数据,位於 /var/cache/yum,因為这里可以清除的项目很多,我最常用的是 yum clean all ,一次給他清掉 :p
yum list
列出软件包名称,用法常用有分以下几种:
yum list updates
列出所有可以更新的软件包
yum list installed
列出所有已安裝的软件包
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。
1、vi的基本概念
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
1) 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
2) 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
3) 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。
2、vi的基本操作
a) 进入vi
在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
$ vi myfile
不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!
b) 切换至插入模式(Insert mode)编辑文件
在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
c) Insert 的切换
您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。
d) 退出vi及保存文件
在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
3、命令行模式(command mode)功能键
1). 插入模式
按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
2). 从插入模式切换为命令行模式
按「ESC」键。
3). 移动光标
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
按「ctrl」+「b」:屏幕往“后”移动一页。
按「ctrl」+「f」:屏幕往“前”移动一页。
按「ctrl」+「u」:屏幕往“后”移动半页。
按「ctrl」+「d」:屏幕往“前”移动半页。
按数字「0」:移到文章的开头。
按「G」:移动到文章的最后。
按「$」:移动到光标所在行的“行尾”。
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l。
4). 删除文字
「x」:每按一次,删除光标所在位置的“后面”一个字符。
「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行
5). 复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
6). 替换
「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
7). 回复上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
8). 更改
「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字
9). 跳至指定的行
「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首。
4、Last line mode下命令简介
在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。
A) 列出行号
「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。
B) 跳到文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
C) 查找字符
「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
D) 保存文件
「w」:在冒号输入字母「w」就可以将文件保存起来。
E) 离开vi
「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。
「qw」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。
5、vi命令列表
1、下表列出命令模式下的一些键的功能:
h
左移光标一个字符
l
右移光标一个字符
k
光标上移一行
j
光标下移一行
^
光标移动至行首
0
数字“0”,光标移至文章的开头
G
光标移至文章的最后
$
光标移动至行尾
Ctrl+f
向前翻屏
Ctrl+b
向后翻屏
Ctrl+d
向前翻半屏
Ctrl+u
向后翻半屏
i
在光标位置前插入字符
a
在光标所在位置的后一个字符开始增加
o
插入新的一行,从行首开始输入
ESC
从输入状态退至命令状态
x
删除光标后面的字符
#x
删除光标后的#个字符
X
(大写X),删除光标前面的字符
#X
删除光标前面的#个字符
dd
删除光标所在的行
#dd
删除从光标所在行数的#行
yw
复制光标所在位置的一个字
#yw
复制光标所在位置的#个字
yy
复制光标所在位置的一行
#yy
复制从光标所在行数的#行
p
粘贴
u
取消操作
cw
更改光标所在位置的一个字
#cw
更改光标所在位置的#个字
2、下表列出行命令模式下的一些指令
w filename
储存正在编辑的文件为filename
wq filename
储存正在编辑的文件为filename,并退出vi
q!
放弃所有修改,退出vi
set nu
显示行号
/或?
查找,在/后输入要查找的内容
n
与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。
对于第一次用vi,有几点注意要提醒一下:
1、用vi打开文件后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC」键。
3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)
安装
1.1 CentOS5.1
• 所有需要安装的包都放在/usr/src下,解压也是解压在/usr/src下。
• 所有的软件都是安装在/usr/local下。
1.2 基本信息
• vmware workstation 6.2
• 创建一个redhat as 5.0 vm
• 8g硬盘,160m内存,去掉声卡,软驱
• ip:192.168.1.168
• 掩码:255.255.255.0
• 网关:192.168.1.1
• dns:192.168.1.1
• hostname:centos
1.3 最小化安装
通过命令行的方式进行安装,所有的选择都是采用缺省的,
时区选择:中国
语言:英语
安装了342个包,占用空间是536m,不选择任何组件
1.4 分区
/swap:320
/ :全部空间
2 基本命令使用
2.1 VI
进入编辑状态:i
退出编辑状态:Esc
到第一行:gg
到最後一行:G
到某一行:xxG
到行首:0
到行末:$
复制:yy
贴上:p
复原:u
删整行:dd
删除全部内容:dG
显示行数::set nu
不显示行数::set nonu
搜寻:/、再次搜寻:n
储存::w
离开::q
储存兼离开::wq 或 shift+zz
强制离开(不储存)::q!
2.2 yum
更新:yum update
安装:yum install xxx
移除:yum remove xxx
清除已经安装过的档案(/var/cache/yum/):yum clean all
搜寻:yum search xxx
列出所有档案:yum list
查询档案讯息:yum info xxx
群组安装功能:
yum grouplist
yum groupinstall “Web Server”
2.3 rpm
安装:rpm -ivh xxx
移除:rpm -e xxx
升级:rpm -Uvh xxx
查询:
查询所有安装的包: rpm -qa
查询某个包:rpm -qa | grep xxx
rpm -qi xxx
查询软件的安装路径:rpm -ql xxx
rpm -qc xxx
查询某个文件是那个rpm包产生:rpm -qf /etc/yum.conf
rpm -qpi xxx
2.4 chkconfig
查看所有服务:chkconfig –list
查看3启动的状态:chkconfig –list | grep 3n
把某些服务设置为启动:chkconfig –level 345 xxx on
把某些服务设置当前启动:chkconfig xxx on
列出某项服务:chkconfig –list xxx
2.5 查看系统状态
查看系统使用字符集:echo $LANG $LANGUAGE
环境变量:set
2.6 解压
如果是以gz結尾的如:test.tar.gz
tar zxvf test.tar.gz
如果是以bz或bz2結尾如:test.tar.bz2
tar jxvf test.tar.bz2
2.7 基本信息查看和修改
查看 IP:ifconfig
修改 IP:
运行命令:system-config-network-tui
或修改:/etc/sysconfig/network-scripts/ifcfg-eth0
FQDN 设定:
hostname
more /etc/hosts
more /etc/sysconfig/network
修改计算机名字
1:vi /etc/sysconfig/network
2:vi /etc/hosts
如果通过
hostname xxx
来修改计算机名字,则重新启动后就不起作用
DNS 设定:
vi /etc/resolv.conf
nameserver 192.168.1.1
nameserver 202.106.195.68
重新启动网卡:
/etc/rc.d/init.d/network restart
3 登陆后设置
3.1 关闭selinux
1:运行命令setup,可以在图形化界面进行关闭
2:vi /etc/sysconfig/selinux
SELINUX=enforcing 改成–> SELINUX=disabled
3.2 关闭不需要服务
1:运行命令setup
2:运行命令ntsysv
只启用下面9个服务(autofs是为了方便使用光驱,其实可以不启用这个服务)
acpid
anacron
autofs
cpuspeed
crond
network
sshd
syslog
yum-updatesd
3.3 配置ssh
修改两个地方
vi /etc/ssh/sshd.config
#PermitRootLogin yes 改为
PermitRootLogin yes
#UseDNS yes 改为
UseDNS no
3.4 配置yum
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.save
vi /etc/yum.repos.d/CentOS-Base.repo
######################
[base]
name=CentOS-5 - Base
repo=os
baseurl=http://centos.ustc.edu.cn/centos/5.1/os/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[update]
name=CentOS-5 - Updates
baseurl=http://centos.ustc.edu.cn/centos/5.1/updates/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[addons]
name=CentOS-5 - Addons
baseurl=http://centos.ustc.edu.cn/centos/5.1/addons/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[extras]
name=CentOS-5 - Extras
baseurl=http://centos.ustc.edu.cn/centos/5.1/extras/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[centosplus]
name=CentOS-5 - Plus
baseurl=http://centos.ustc.edu.cn/centos/5.1/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[contrib]
name=CentOS-5 - Contrib
baseurl=http://centos.ustc.edu.cn/centos/5.1/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
###################
rpm –import http://centos.ustc.edu.cn/centos/5.1/os/i386/RPM-GPG-KEY-CentOS-5
yum update
4 :编译前准备
4.1 安装编译器gcc
最小化安装,没有安装编译器
yum install gcc
4.2 gcc-c++
如果不安装,在编译mysql的时候会出现【exec: g++: not found】错误
yum install gcc-c++
5:安装软件
5.1安装mysql
1:去下载一个ncurses-5.6.tar.gz,
tar zxvf ncurses-5.6.tar.gz
cd ncurses-5.6
./configure –prefix=/usr –with-shared –without-debug
make
make install clean
2:安装mysql
tar -zxvf mysql-5.0.51a.tar.gz
cd mysql-5.0.51a
./configure –with-mysqld-user=mysql –prefix=/usr/local/mysql5 –with-extra-charset=all –without-isam –exec-prefix=/usr/local/mysql5
echo $?
make && make install
3:初始化数据库:
groupadd mysql
useradd -g mysql mysql
scripts/mysql_install_db
cp /usr/local/mysql5/share/mysql/my-medium.cnf /usr/local/mysql5/var/my.cnf
cp /usr/local/mysql5/share/mysql/mysql.server /etc/init.d/mysqld
chkconfig –add mysqld
chkconfig –level 2345 mysqld on
chown mysql:mysql -R /usr/local/mysql5/
service mysqld start
ln -s /usr/local/mysql5/bin/mysql /sbin/mysql
ln -s /usr/local/mysql5/bin/mysqladmin /sbin/mysqladmin
4:设定mysql密码
mysqladmin -uroot password “123456″
5:让系统找到mysql(如果必要的话):
PATH=$PATH:/usr/local/mysql5/bin
export PATH
echo “/usr/local/mysql5/lib/mysql” >> /etc/ld.so.conf
ldconfig
6::测试
netstat -nplt | grep mysql
ps aux|grep mysql
5.2 安装apache
1:编译安装
tar zxvf httpd-2.2.8.tar.gz
cd httpd-2.2.8
./configure –prefix=/usr/local/apache2 –enable-so –enable-rewrite
echo $?
make && make install
/usr/local/apache2/bin/apachectl configtest
/usr/local/apache2/bin/apachectl start
/usr/local/apache/bin/apachectl stop
2:修改默认启动页
vi /usr/local/apache2/conf/httpd.conf
DirectoryIndex index.html 改为
DirectoryIndex index.html index.htm default.htm default.html index.php index.php3 index.jsp
#ServerName www.example.com:80 改为
ServerName www.example.com:80
3:apache 开机启动的办法
1:#echo “/usr/local/apache/bin/apachectl start” >>/etc/rc.local(系统启动时服务自动启动)
2:创建一个httpd启动脚本,内容如下:
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
在第三行添加以下内容
#chkconfig:345 85 15
#description: Start and stops the Apache HTTP Server.
chmod +x /etc/rc.d/init.d/httpd
chkconfig –add httpd
修改乱码
步骤1:
在httpd.conf中将Include conf/extra/httpd-autoindex这个模块的注释去掉
@vi /usr/local/apache/conf/httpd.conf
步骤2:
在httpd-autoindex.conf中加入IndexOptions Charset=UTF-8
@vi /usr/local/apache/conf/extra/httpd-autoindex.conf
5.3 安装GD
1:安装ZLIB2
######zlib#############
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install clean
2:安装PNG
##########libpng###########
tar zxvf libpng-1.2.26.tar.gz
cd libpng-1.2.26
cp scripts/makefile.linux ./makefile
./configure –prefix=/usr/local/libpng
make
make install clean
3:安装freetype
##########freetype#########
cd freetype-2.3.5
./configure
make
make install
4:安装JPEG6
#########jpeg###############
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
./configure –prefix=/usr/local/jpeg –enable-shared –enable- static
make
make install
5:安装GD
########GD###########
tar zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure –with-png –with-freetype –with-jpeg=/usr/local/jpeg/
make
make install
5.4 安装php
1:安装LIBXML2
#####libxml2 #####
tar zxvf libxml2-2.6.31.tar.gz
cd libxml2-2.6.31
./configure –prefix=/usr/local/libxml2
make
make install
cp xml2-config /usr/bin
2::安装PHP5.2.5
#########php##########
tar zxvf php-5.2.5.tar.gz
cd php-5.2.5
./configure –prefix=/usr/local/php5 –with-mysql=/usr/local/mysql5 –with-apxs2=/usr/local/apache2/bin/apxs –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/include/freetype2 –with-zlib –with-png-dir=usr/local/libpng12 –with-libxml-dir=/usr/local/libxml2 –with-gd –enable-ftp –enable-sockets
make
make test
make install
3:配置
cp php.ini-dict /usr/local/php5/lib/php.ini
编辑httpd.conf
/usr/local/apache2/conf/httpd.conf
加载php模块,去掉注释,我的版本是缺省就启用的。
LoadModule php5_module modules/libphp5.so
加上下面两行
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
5.5 安装zend
tar -zxvf ZendOptimizer-3.0.0-linux-glibc23- x86_64.tar.gz
cd ZendOptimizer-3.0.0-linux-glibc23-x86_64
./install
5.6 安装phpmyadmin
cp -rf phpMyAdmin-v2.11.5.2 /usr/local/apache2/htdocs/phpmyadmin
cd /usr/local/apache2/htdocs/phpmyadmin/
cp config.sample.inc.php config.inc.php
vi config.inc.php
$cfg['blowfish_secret'] = ”改为
$cfg['blowfish_secret'] = ‘dd’
只要不为空就可以了,这样就可以登陆,如果还有问题,就修改一下语言就解决“配置文件现在需要绝密的短语密码(blowfish_secret)”这个错误了。
6:软件
ncurses
http://ftp.gnu.org/pub/gnu/ncurses/ncurses- 5.6.tar.gz
安装GD库和GD库所需的环境
zlib
http://www.zlib.net/zlib-1.2.3.tar.gz
jpeg
ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
freetype
http://download.savannah.gnu.org/releases/freetype/freetype- 2.3.5.tar.gz
png
ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng- 1.2.26.tar.gz
GD
http://www.libgd.org/releases/gd-2.0.35.tar.gz
安装php必须安装libxml
wget ftp://xmlsoft.org/libxml2/libxml2-2.6.31.tar.gz
apache2.2.8
http://apache.mirror.phpchina.com/httpd/httpd- 2.2.8.tar.gz
phpmyadmin2.11.5.2
http://4.gxdx1.crsky.com/200804/phpMyAdmin- v2.11.5.2.rar
Zend3.3
http://downloads.zend.com/optimi … glibc21-i386.tar.gz
php5.2.5
http://cn.php.net/distributions/php- 5.2.5.tar.gz
mysql5.051
http://mirror.trouble- free.net/mysql_mirror/Downloads/MySQL- 5.0/mysql-5.0.51a.tar.gz
##########phpmyadmin下的两个错误的解决办法##########
当你配置好,登陆phpmyadmin,你会发现有两个错误
1:没有mbstring 扩展的phpMyAdmin 不能正确识别字符串,可能产生不可意料的结果
2:无法载入 mcrypt 扩展,
请检查 PHP 配置
网上搜索了一下,基本找到的都是windows下使用的解决办法,我这里是linux,怎么搞定。
第一问题,比较好办,只需要编译php的时候加入参数-enable-mbstring=all 就可以了。
第二个问题就比较麻烦,这应该是出现在新的版本的phpmyadmin里,不过搜索找到了答案。
到这里ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/下载libmcrypt-2.5.7.tar.gz,编译很简单,依旧是configure,make,make check,make install。
装完马上重新去编译php,安装非常顺利。
我已经测试通过了,非常不错。大家可以去看看作者的blog,久闻大名。
现在已经是深夜2点了,明天还有参加朋友的婚礼。
下面是我的编译参数,记录一下
./configure –prefix=/usr/local/php5 –with-mysql=/usr/local/mysql5 –with-apxs2=/usr/local/apache2/bin/apxs –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/include/freetype2 –with-zlib –with-png-dir=usr/local/libpng12 –with-libxml-dir=/usr/local/libxml2 –with-gd –enable-ftp –enable-sockets -enable-mbstring=all- –with-mcrypt
301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:
301 redirect: 301 代表永久性转移(Permanently Moved),
302 redirect: 302 代表暂时性转移(Temporarily Moved ),
当然 Http 状态 200 标示没有任何问题发生。
这两种转移在使用的时候有啥好处或者问题?
301 重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。
302 重定向是临时性转移。
在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩 罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。
研究搜索引擎优化(SEO)的人,应该都知道,301,302 使用不当,或者灵活使用会有不错的效果的,
页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。
301重定向可促进搜索引擎优化效果
从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。
302重定向可影响搜索引擎优化效果
迄今为止,能够对302重定向具备优异处理能力的只有Google。也就是说,在网站使用302重定向命令将其它域名指向主域时,只有Google会把其它域名的链接成绩计入主域,而其它搜索引擎只会把链接成绩向多个域名分摊,从而削弱主站的链接总量。既然作为网站排名关键因素之一的外链数量受到了影响,网站排名降低也是很自然的事情了。
综上所述,在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。
对于正确实施301重定向,有这样几个方法可供大家参考:
1.在.htaccess文件中增加301重定向指令
采用“mod_rewrite”技术,形如:
RewriteEngine on
RewriteRule ^(.*)$ http://www.solzhang.com/ $1 [R=301,L]
2.适用于使用Unix网络服务器的用户
通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。
形如:Redirect 301 / http://www.solzhang.com/
3.在服务器软件的系统管理员配置区完成301重定向
适用于使用Window网络服务器的用户
4.绑定/本地DNS
如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。
DNS服务器的设置
若要将seo.solzhang.com指向www.solzhang.com,则只需在DNS服务中应增加一个别名记录,可写成:seo IN CNAME www.solzhang.com。
如需配置大量的虚拟域名,则可写成:* IN CNAME www.solzhang.com/ .
这样就可将所有未设置的以williamlong.info结尾的记录全部重定向到www.solzhang.com上。
5.用ASP/PHP实现301重定向:
ASP:
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.solzhang.com/ ”
Response.End
PHP:
header(”HTTP/1.1 301 Moved Permanently”);
header(”Location:http://www.solzhang.com/ “);
exit();
type=button 就单纯是按钮功能
type=submit 是发送表单
但是对于从事WEB UI的人应该要注意到,使用submit来提高页面易用性:
使用submit后,页面支持键盘enter键操作,而很多WEB软件设计师,可能没有注意到submit统一.
用button后往往页面不支持enter键了。所以需要支持enter键,必须要设置个submit,默认enter键对页面第一个submit进行操作。
<input type=”submit” name=”b1″ value=”提交” onClick=”bt_submit_onclick()”>
执行完onClick,转到action。可以自动提交不需要onClick。所以说onclick这里可以不要。
<input type=”button” name=”b1″ value=”提交” onClick=”bt_submit_onclick()”>
执行完onClick,跳转文件在 js文件里控制。提交需要onClick。
比如:
1,onclick=”form1.action=’a.jsp’;form1.submit();” 这样就实现了submit的功能了。
2,<form name=”form1″ method=”post” action=”http://blog.1xi.net”>
<input type=”button” name=”Button” value=”Button” onClick=”submit()”>
</form>
3,<input type=”button” name=”Button” value=”Button” onClick=”javascript:windows.location.href=”你的url””>
说法一、最流行版本纪念屈原
就是大家都知道的纪念屈原。据传是屈原向楚怀王提了不少好建议,怎料触到了当时的上层建筑的神经。可想,好心不得好下场,被赶出都城流放到湘、沅流域。那首著名的《离骚》就是他这里,在悲愤交加下创作出来的。公元前278年,秦攻破楚京都。眼见亡国,屈原万念俱灰,于五月五日,在写下了绝笔作《怀沙》之后,抱石投汨罗江自尽。
楚国百姓悲痛异常,纷纷涌到汨罗江边去凭吊屈原。据说有位渔夫拿出为屈原准备的饭团、鸡蛋等食物丢向江里,说是让鱼龙虾蟹吃饱后,就不会去咬屈大夫的身体了。人们见后纷纷仿效,后来为怕饭团为蛟龙所食,人们想出用楝树叶包饭,外缠彩丝,发展成棕子。
说法二、纪念伍子胥
在江浙一带流传很广,是纪念春秋时期的名将,一夜白头的伍子胥。伍子胥本是楚国人,父兄均被楚王所杀,后投奔吴国,助吴伐楚。后来吴国胜了,当时楚平王已死,据传伍子胥挖出楚平王尸身鞭尸三百下,以报杀父兄之仇。
吴王阖庐死后,其子夫差继位,吴国又和越国打起来了。越国大败,越王勾践请和,夫差同意了。但是伍子胥建议,应该灭越国已决后患。夫差不听,竟听信谗言,赐他把宝剑让他死。子胥视死如归,死前说:“我死后,将我眼睛挖出悬挂在吴京之东门上,以看越国军队入城灭吴”,便自刎而死。吴王自然不大爽,令人将伍胥之尸体装在皮革里于五月五日投入大江,因此相传端午节亦为纪念伍子胥之日。
说法三、纪念孝女曹娥
端午节的第三个传说,是为纪念东汉孝女曹娥救父投江。曹娥是东汉上虞人,父亲溺于江中,数日不见尸体,当时孝女曹娥才十四岁,昼夜沿江哭喊 。过了十七天,在五月五日也投江,五日后抱出父尸。就此传为神话,继而相传至县府知事,令度尚为之立碑。
说法四、源于古越民族图腾祭
近代大量出土文物和考古研究证实:长江中下游广大地区,在新石器时代,有一种几何印纹陶为特征的文化遗存。该遗存的族属,据专家推断是一个崇拜龙的图腾的部族—-史称百越族。
出土陶器上的纹饰和历史传说示明,他们有断发纹身的习俗,生活于水乡,自比是龙的子孙。其生产工具,大量的还是石器,也有铲、凿等小件的青铜器。作为生活用品的坛坛罐罐中,烧煮食物的印纹陶鼎是他们所特有的,是他们族群的标志之一。直到秦汉时代尚有百越人,端午节就是他们创立用于祭祖的节日。在数千年的历史发展中,大部分百越人已经融合到汉族中去了,其余部分则演变为南方许多少数民族,因此,端午节成了全中华民族的节日。
Innovation, not instant perfection /创新不会马上就完美
Start rough, learn and iterate./开始粗糙,学习和迭代
Ideas come from everywhere /点子来自任何地方
Ideas can come from the engineers, managers, users even the financial team.
Share everything you can /分享一切
Everything is put on the intranet, so employees know what is happening./任何事情都可以在内网分享
You’re brilliant, we’re hiring /你有才,我雇你
Founders Larry Page and Sergey Brin approve hires. They favor intelligence over experience. /Larry Page和Sergey Brin的雇人之道是,喜欢聪明人胜过有经验的人
A license to pursue dreams /允许追求梦想
Letting employees use 20% of their time on what ever they want./让员工用20%的时间做爱做的事
Data is apolitical /数据中没有政治
There is no “I like”, it is all about the basing decisions on data./不要说“我喜欢”,所有决定都靠数据立足
Creativity loves constraints / 创造力爱制约
Engineers thrive on constraints. /工程师靠限制发展
It’s users, not money / 是用户而不是钱
If you can successfully engage users, you can monetize them/如果你能成功吸引用户,你就能赚钱
Don’t kill projects, morph them /不要毙掉项目,改造它
Products that doesn’t seem to respond well in the market should be morphed into something the market needs, not cancelled /产品市场反响不好应该改造它以适应市场的需求,而不要轻易取消它