linode服务器重装全纪录
大家都说linode好用,还真的好用,这么一转眼就用了一年半了。最近刚刚重装了自己在LINODE的服务器。在此之前,我用的是debian,后来发现centos用起来太方便了。于是就琢磨着把系统换一下。在网上,查了好久的资料没有一个相对完整的解决方案。于是,我只好临时买了一个新的linode节点,做测试。下面就把大致的过程写出来。
其实,Linode的系统重装很快很方便。主要就是之前你的数据怎么整理,备份再在重装后恢复回来。
我的解决办法分两步:
1,首先先把现有的linode节点重新划分,把现有的一个镜像盘分为两个,举例来说,我现在的linode系统分为两个硬盘镜像(disk image):512MB Swap Image和Debian Disk Image,其中Debian Disk Image有16G,所有的东西都在这里。我用linode的resize工具现将16G中没有用到的10G划分出来。然后再新建一个硬盘镜像(Create a new Disk Image),把这10G作为一个外挂硬盘来用,命名为:extdisk。(注意:以上操作要先关闭系统)
2,在Lionde的系统配置部分(Configuration Profiles)找到自己的debian配置,点击编辑(edit),找到外挂硬盘(Block Device Assignment)部分,在/dev/xvdc这里下拉找到新建的外挂硬盘extdisk,保存设置。然后启动操作系统。
3,正常登录操作系统,首先查看外挂硬盘是否正常,打入fdisk -l 发现列表中已经有/dev/xvdc,接下来,我们就要想办法把外挂硬盘挂入操作系统了。现在你想挂入的地方新建一个目录,比如我选在根目录新建一个叫extdisk,命令是:mkdir /extdisk,然后用Mount /dev/xvdc /extdisk把外挂硬盘挂入操作系统。命令正常执行后,我们ls /extdisk,发现正常访问,这就表示我们的外挂硬盘正常工作了。我们可以把我们需要备份的文件都拷进来。
4,备份完毕后,关闭操作系统,开始重装。先删除debian的硬盘镜像(Debian Disk Image),然后删除操作系统的配置文件(My Debian Profile),之后在重建一个Linux版本(Deploy a Linux Distribution)就可以了,重建的时候,他会自动把你刚刚删除的硬盘镜像的空间用上,很方便。这次的Linux版本可要选对了,我选择的是Centos 5.5
5,启动centos,在把步骤3中的操作重做一遍,把刚刚的备份硬盘镜像重新挂进来,我们的重装就完成了。
重装系统风险很大,请大家务必慎重哈
linux centos 5 lamp(apache mysql php) yum自动安装shell脚本
手头有N台linux centos 5的服务器,每次配置都要打很多命令,不想这么烦下去了。
自己写了一个自动安装脚本,包括了apache mysql php的自动Yum安装。最后还设置了防火墙。
记录一下,想要源文件的可以跟我要。
别忘了,给这个文件这是一个执行权限,简单的来就是chmod 7777
#! /bin/bash
yum -y install httpd php mysql mysql-server php-mysql
echo ‘install httpd,php,mysql,php success’
# define auto run
/sbin/chkconfig httpd on
/sbin/chkconfig –add mysqld
/sbin/chkconfig mysqld on
echo ‘define httpd mysqld autorun success’
# start service
/sbin/service httpd restart
/sbin/service mysqld restart
echo ’start httpd mysqld success’
#define mysql password
mysqladmin -u root password ‘ismurray’
echo ‘define mysql password success’
# install apache ext
yum -y [...]
如何解决CentOS 5 host命令无效(-bash: host: command not found)的问题
当我们检查DNS设置的时候常常会用到host命令,但Centos5默认安装是没有这个命令的。
当显示-bash: host: command not found的时候,我们就需要安装对应的包了
host这个程序是 bind-utils包里面的
所以要先安装 bind-utils
yum install bind-utils 就ok了
Linux下GD的安装和配置
GD的主要文件有gd.h, libgd.a等。获取GD源码的地址为:http://www.boutell.com/gd/,获取文件为gd-1.8.3.tar.gz,放于/usr/src目录下。该版本的GD不支持GIF
进入/usr/src:cd /usr/src
解开压缩文件:tar xzvf gd-1.8.3.tar.gz
命令完成后多了一个子目录gd-1.8.3,GD的源码文件就在其中
进入该子目录:cd gd-1.8.3
缺省情况下,GD库编译时并不加入JPEG支持,得修改Makefile文件。修改Makefile文件,使得:
CFLAGS=-O -DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF
LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11
此后,编译并安装:
make
make install
命令完成后,gd.h被拷到/usr/local/include目录下,libgd.a被拷到/usr/local/lib目录下。
编译式安装的标准流程
编译式安装的标准流程分为以下四个步骤:
(1) 软件解压 (2)检测环境 (3)编译软件 (4)安装软件
1>解压软件压缩包;
在linux环境中常见的压缩文件格式为bz 与gz ,既可以通过命令行方式,也可以使用图形界面方式解压文件.
2> 检测环境
检测软件的安装环境需要使用以下命令:?
./configure
在检测过程中程序会根据” configure “ 这个可执行脚本预设的步骤检测用户是否安装了编译器 ,支持软件的开发库及文件等, 并在检测结束后生成 ” makefie “文件,为编译做好准备工作,.
由于检测使用的程序不同,其检测结果也不完全相同.一般情况下.检测完毕如发现,便会提示”configure finshed ”表示检测完成. 如果发现未能满足的条件, 程序将会检测出来的问题汇集到一起,步兵报告给用户,
为了避免软件有特殊的要求,在执行 ./configure 命令前,建议先浏览 “ install.txt ” 与 “ readme.txt ” 两个文件的内容, 简单了解软件的特点以及如何配置 configure 以便更好的定制软件,
3>编辑软件
完成检测后,说名系统已经达到软件安装的要求,接下来,需要将源代码编译成可执行程序,
编译时,应执行以下命令 ;
make clean
make
第一行命令用于清除以前编译时留下的垃圾文件. 为了避免因垃圾文件而引起的问题,建议在正式编译前先执行次命令.
第二行命令为编译命令,他会调用检测环境流程中生成的 “makefile” 文件,使用指定的编译器对源程序进行编译,从而产生程序及附属二进制文件.
4 安装软件
软件完成编译后,为了让这些程序存放在系统常用的程序目录里,并且完成添加启动链接等,工作 ,还需要执行以下安装命令,
make install
到此为止,编译式安装终于大功告成了,软件已经安装到指定的目录,在 软件应用 菜单中可以找到已经安装的程序.
linux下lighttpd编译安装调试优化全攻略
一,Linux下使用lighttpd
lighttpd在支持纯静态的对象时,比如图片,文件等 ,
lighttpd速度更快,更理想
二,从何处下载lighttpd
http://www.lighttpd.net/download/
三,安装
1,编译安装
./configure –prefix=/usr/local/lighttpd
make
make install
configure完毕以后,会给出一个激活的模块和没有激活模块的清单,可以检查一下,是否自己需要的模块都已经激活,在enable的模块中一定要有“mod_rewrite”这一项,否则重新检查pcre是否安装。
2,编译后配置
cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpd
mkdir /etc/lighttpd
cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf
如果你的Linux是RedHat/CentOS,那么:
cp doc/rc.lighttpd.redhat /etc/init.d/lighttpd
如果你的Linux是SuSE,那么:
cp doc/rc.lighttpd /etc/init.d/lighttpd
其他Linux发行版本可以自行参考该文件内容进行修改。
然后修改/etc/init.d/lighttpd,把
LIGHTTPD_BIN=/usr/sbin/lighttpd
改为
LIGHTTPD_BIN=/usr/local/lighttpd/sbin/lighttpd
此脚本用来控制lighttpd的启动关闭和重起:
/etc/init.d/lighttpd start?
/etc/init.d/lighttpd stop?
/etc/init.d/lighttpd restart
3,配置
修改/etc/lighttpd/lighttpd.conf
1)server.modules
取消需要用到模块的注释,mod_rewrite,mod_access,mod_fastcgi,mod_simple_vhost,mod_cgi, mod_compress,mod_accesslog是一般需要用到的。
我们放开 “mod_rewrite”
“mod_compress”,
2)server.document-root, server.error-log,accesslog.filename需要指定相应的目录
server.document-root = “/www/phc/html/”
mkdir /usr/local/lighttpd/logs
chmod 777 /usr/local/lighttpd/logs/
touch /usr/local/lighttpd/logs/error.log
chmod 777 /usr/local/lighttpd/logs/error.log
server.errorlog = “/usr/local/lighttpd/logs/error.log”
accesslog.filename = “|/usr/sbin/cronolog /usr/local/lighttpd/logs/%Y/%m/%d/accesslog.log”
3)用什么权限来运行lighttpd
server.username = “nobody”
server.groupname = “nobody”
从安全角度来说,不建议用root权限运行web server,可以自行指定普通用户权限。
4)静态文件压缩
mkdir /usr/local/lighttpd/compress
chmod 777 /usr/local/lighttpd/compress/
compress.cache-dir = “/usr/local/lighttpd/compress/”
compress.filetype = (”text/plain”, “text/html”,”text/javascript”,”text/css”)
可以指定某些静态资源类型使用压缩方式传输,节省带宽,
对于大量AJAX应用来说,可以极大提高页面加载速度。
5)server.port = 81
6)#$HTTP["url"] =~ “\.pdf$” {
131 # server.range-requests = “disable”
132 #}
4,优化
1 [...]
使用Varnish反向代理缓存的安装配置
增加一个varnish帐户
useradd -d /dev/null -s /sbin/nologin varnish
下载varnish
wget http://nchc.dl.sourceforge.net/sourceforge/varnish/varnish-1.1.1.tar.gz
解压
tar zxvf varnish-1.1.1.tar.gz
cd varnish-1.1.1
配置
./configure –prefix=/usr/local/varnish
编译
make
安装
make install
设置相关目录
cd /usr/local/varnish
mkdir var
mkdir logs
mkdir etc
mkdir cache
配置文件
touch /usr/local/varnish/etc/cache.vcl
touch /usr/local/varnish/stopv
touch /usr/local/varnish/startv
touch /usr/local/varnish/resetv
chmod +x /usr/local/varnish/stopv
chmod +x /usr/local/varnish/startv
chmod +x /usr/local/varnish/resetv
修改权限
cd ..
chown -R varnish varnish
chgrp -R varnish varnish
cache.vcl内容
backend www1 {
set backend.host = “后端真实的web IP1″;
set backend.port = “http”;
}
backend www2 {
set backend.host = “后端真实的web IP2″;
set backend.port = “http”;
}
backend www3 {
set backend.host [...]
如何编译开源软件
基本上,尤其在Windows 和Mac OS X系统下,已经开发好的软件不需要用户再编译。程序员写好代码并编译后,封装为计算机可执行的二进制形式,用户就可以直接使用了。
然而现在,随着开源软件的增多,每个人都可以读和使用源代码,因而软件编译的最后一步工作已经转移到了用户身上,而且他们得根据自己使用的系统,Windows XP, Windows Vista, Mac OS X Tiger, Panther, Linux x86……来做编译工作。
如果你发现自己不得不编译一段软件的代码,那么过程并不复杂。虽然每段代码的性质各不相同,但有一套共同的方法。
首先,准备好命令行和编辑器。我针对主流操作系统分别做简单的解释:
Linux:已经具备了命令行和一个叫GCC 的编辑器。在命令行中输入gcc ,如果“command not found”,那么请安装GCC。
Mac OS X:命令行是Terminal,位于Applications/Utilities。你需要下载XCode ,它包含Apple的编辑器。
Windows:微软在免费下载的Visual Studio Express中提供了编辑器,但是Cygwin 界面更友好。安装中要注意的是:要选择“Devel”部分中所有的安装包。
下载:基本上所有的源数据包都有.tgz或者.tar.gz的后缀,有文件名和版本号,比如example-3.2.8.tar.gz。建立一个名为“source”或者“build”的目录,下载并放在该目录中。
解压缩:从命令行进入工作目录(用cd命令):cd source? 最快的方法是:
tar -xzvf example-3.2.8.tar.gz
这会将所有的源代码解压到一个新的子目录中,而且文件名跟应用是一样的。进入目录只需要敲:
cd example-3.2.8
读文档:在代码的文件包中会有像README 和INSTALL之类的文件,一定要读。你也可以使用less 命令在命令行中读取:less INSTALL? 或者直接用合适的格式打开它们,它们会告诉你要安装哪些包、安装指南、注意问题等。
Building:虽然各有不同,但大抵方法如下:输入:./configure 运行配置工具会告诉你缺少哪些软件和重要的文件的位置。有时候你需要自己指明特定文件在你计算机上的位置,比如:
./configure –ssl-dir=/usr/local/include?
Configuration 过程要用几分钟,当它完毕的时候,你就可以编译了。如果出现错误,参考下面的Troubleshooting。编译请输入:
make
一切顺利就开始编译了。编译会占用一段时间而且当运行时会占用你电脑的所有进程。不要担心,当编译结束的时候,如果你仍然没有看到已错误,那你已经搞定了。剩下要做的只是将不同的文件放到文件系统中:
make install
Troubleshooting: 如果以上的步骤有遇到错误,有方法让你知道问题所在。确认你是否严格地按要求执行以上步骤。如果你还是不能知道错误所在,上网搜寻或者去论坛,或者咨询该软件的开发者。

