转载老大的帖子

来源:互联网 发布:天敏高清网络机顶盒 编辑:程序博客网 时间:2024/04/20 09:15
 在虚拟主机的环境下运行Linux
虚拟主机: VMware-workstation-6.0.2
Host OS: Windows XP
Client OS: Red Hat Linux 9.0
依次安装VMware和Red Hat Linux 9.0
Red Hat Linux 9.0安装时要选择"Development Tools"里边包含将来编译安装软件的工具等,后面会用到
进入Client OS:在Client OS上单击鼠标即可
退出Client OS:Ctrl+Alt
Linux从图形界面切换到命令行:Ctrl+Alt+(先按一下空格)+F1
Linux从命令行切换到图形界面:Ctrl+Alt+(先按一下空格)+F7
使用ifconfig检查ip是否分配,如果没有,则手动配置IP:
配置IP:
#setup
选择Network configuration进行配置,完成后重启动系统
Install VMware Tools:
在VMware中选中Client OS右键点击Install VMware Tools后
进入linux,把VMware Tools所在的虚拟光驱进行mount
mount /dev/cdrom /mnt/cdrom
#cd /mnt/cdrom
#cp VMwareTools-6.0.2-59824.tar.gz /tmp/.
#tar -zxvf VMwareTools-6.0.2-59824.tar.gz
#cd vmware-tools-distrib
#./vmware-install.pl
一路回车安装完成。
Fecure SSH遇到错误"too many authentication failures for root"
解决方法:
修改了客户端的设置Edit->Setting->rofile->Connection->Authentication,把认证方法的顺序改成
Password在最前面就OK
配置windows和linux共享目录:
在VMware中选中Client OS右键点击Setting->Options->Share Folders
选中Always enabled确保可用,并使用Add增加共享目录,确定完成!
然后进入Linux,在/mnt/hgfs/目录下可以看到刚才添加的目录
安装JDK,下载jdk-1_5_0_15-linux-i586-rpm.bin
#jdk-1_5_0_15-linux-i586-rpm.bin
#rpm -ivh jdk-1_5_0_15-linux-i586.rpm
编辑/etc/profile确保jdk对所有用户可用
#vi /etc/profile
在文件结尾增加:
PATH=$PATH:/usr/java/jdk1.5.0_15/bin
JAVA_HOME=/usr/java/jdk1.5.0_15
export PATH JAVA_HOME
重启生效
安装Apache 2.2.9
-------------下载软件包httpd-2.2.9.tar.gz,地址http://www.apache.org-------------
# tar zvxf httpd-2.2.9.tar.gz
# cd httpd-2.2.9
# ./configure --prefix=/usr/local/apache /
--enable-modules=all /
--enable-mods-shared=all /
--enable-proxy / #Apache proxy module
--enable-proxy-connect / #Apache proxy CONNECT module
--enable-proxy-ftp / #Apache proxy FTP module
--enable-proxy-http / #Apache proxy HTTP module
--enable-proxy-ajp / #Apache proxy AJP module
--enable-proxy-balancer #Apache proxy BALANCER module
# make
# make install
----------------------------------启动Apache服务----------------------------------
# /usr/local/apache/bin/apachectl start
----------------------------------关闭Apache服务----------------------------------
# /usr/local/apache/bin/apachectl stop
----------------------------------重启Apache服务----------------------------------
# /usr/local/apache/bin/apachectl restart
安装cronolog,格式化Apache的日志文件
下载文件:cronolog-1.6.2.tar.gz From http://cronolog.org/download/index.html
#tar -zxvf cronolog-1.6.2.tar.gz
#cd cronolog-1.6.2
#./configure
#make
#make install
默认安装到/usr/local/sbin/cronolog
Apache安装以后再增加模块的方法:
例如:增加mod_rewrite模块
# find . -name mod_rewrite.c //在apache的源码安装目录中寻找mod_rewrite.c文件
# cd PATH/to/mod_rewrite.c //进入包含mod_rewrite.c文件的目录
# /usr/local/apache/bin/apxs -c mod_rewrite.c //apxs应指定绝对路径,在你当前正在使用apache的bin目录里,出错信息“apxs:Error: Command failed with rc=65536”,不管,直接下一步
# /usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la
如果没有什么错误的话,应该在你的apache的modules目录中编译出一个mod_rewrite.so文件。编辑httpd.conf文件,确认httpd.conf中已经包含mod_rewrite.so的加载语句,如下:
LoadModule rewrite_module modules/mod_rewrite.so
这时,你的apache应该已经支持rewrite了。
安装squid:
下载:http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE20.tar.gz
#tar -zxvf squid-2.6.STABLE20.tar.gz
#cd squid-2.6.STABLE20
#./configure --prefix=/usr/squid /
#--enable-cachemgr-hostname / /*加入该参数以后生成的cachemgr.cgi以后除了可以查看本地的squid以外还可以查看别的squid的状态*/
#--enable-cachemgr-port /*和上面类似,除默认端口以外可以另外指定端口*/
#make
#make install
#创建缓存目录
#mkdir /var/cache/squid
#chown -R nobody:nobody /var/cache/squid
#chmod 0777 /var/cache/squid -R
#创建日志文件目录
#mkdir /var/log/squid
#chown -R nobody:nobody /var/log/squid
#chmod 0777 /var/log/squid
#构造缓存目录结构
#/usr/squid/sbin/squid -z
#前台运行启动
#/usr/squid/sbin/squid -NCd1
#后台运行启动
#/usr/squid/sbin/squid -D -sYC
squid服务器的监控配置:
监控squid服务器的一种最简单的方法就是使用squidclient,方法如下:
Squidclient 简要参数
取得squid运行状态信息: squidclient -p 80 mgr:info
取得squid内存使用情况: squidclient -p 80 mgr:mem
取得squid已经缓存的列表: squidclient -p 80 mgr:objects
取得squid的磁盘使用情况: squidclient -p 80 mgr:diskd
强制更新某个url:squidclient -p 80 -m PURGE http://www.yejr.com/static.php
更多的请查看:squidclient -h 或者 squidclient -p 80 mgr:
但这种命令行的方式使用不方便而且结果也不容易阅读,那么就可以使用squid提供的基于浏览器查看的cachemgr.cgi脚本,安装和配置方法如下:
首先,需要有一个概念就是监控程序(cachemgr.cgi和cachemgr.conf)和所监控的squid服务器是相互独立的系统。
cachemgr.cgi是部署到web服务器中的,而需要监控的squid服务器名和端口必须写入cachemgr.conf中,cachemgr.cgi才能允许连接到相应的squid服务器,否则会出“target 192.168.1.10:80 not allowed in cachemgr.conf”这样的错误。
个人觉得这个功能完全是多此一举,cachemgr.cgi完全没有必要去判断所要监控的服务器是否预先写入cachemgr.conf中,而是直接由被监控的服务器决定是否被谁监控就可以了。
而且这里有一个最大的问题,由于cachemgr.cgi不是文本文件,它所要读取的cachemgr.conf文件的路径在编译的时候已经指定了,不能更改,所以在部署cachemgr.cgi时,还必须把squid编译安装后的cachemgr.conf和cachemgr.conf所在的路径在部署cachemgr.cgi的服务器上建立起来,这样cachemgr.cgi才能正确读取cachemgr.conf文件。
其实如果你以前已经有cachemgr.cgi和cachemgr.conf这两个文件,那么你就可以直接用这两个文件部署就可以了,不过没有的话,你就需要按照下面的方法生成一套:
编译squid的时候需要制定参数:
--enable-cachemgr-hostname和--enable-cachemgr-port
这样编译后生成的cachemgr.cgi才能提供指定主机和端口功能,否则只能监控localhost默认端口3128的squid,也就是说部署cachemgr.cgi的web服务器只能和squid同一台服务器,这样使用非常不灵活,所以需要指定这两个参数。
安装squid以后就能看到这两个文件如:/usr/local/squid/etc/cachemgr.conf和/usr/local/squid/libexec/cachemgr.cgi把cachemgr.cgi拷贝到Apache的cgi-bin目录里,在cachemgr.cgi所在服务器上建立cachemgr.conf当初安装后所在目录同样的目录结构,然后把cachemgr.conf拷贝该目录。因为当初编译安装squid是cachemgr.cgi已经写死了cachemgr.conf所在的位置了。
这样监控程序就部署好了通过http://apachehost/cgi-bin/cachemgr.cgi就可以看到界面了对于被监控的squid,需要配置一下,才能正确连接:
在squid.conf中替换或添加以下配置:acl manager proto cache_object
#通过一个局域网内的监控程序才能监控本服务器
acl inside src 192.168.1.0/24
http_access allow manager
http_access deny manager !inside
#认证时的密码
cachemgr_passwd 123456 all
然后重启squid服务器(#squid -k reconfigure)。
回到刚才的http://apachehost/cgi-bin/cachemgr.cgi界面
输入你要监控的squid的主机和端口(注意:主机名:端口必须添加到cachemgr.conf中,每行一条),管理名是manager,密码是squid中配置的123456,就可以进入监控界面的菜单了
squid的其他说明:
linux有同时打开文件数限制,在访问量比较大的网站需要使用ulimit 增加同时打开文件数数.
ulimit 65533
/usr/local/sbin/squid -V
重新读取配置文件而不关闭squid.
/usr/local/sbin/squid -k reconfigure
安装MySQL 5.0.24
-------------下载软件包mysql-5.0.24.tar.gz,地址http://www.mysql.com-------------
# tar zvxf mysql-5.0.24.tar.gz //解压缩
# cd mysql-5.0.24 //进入解压缩后的文件目录
# ./configure --prefix=/usr/local/mysql / //设定安装目录
--enable-thread-safe-client / //编译线程安全版的客户端库
--without-debug / //关闭debug功能
--localstatedir=/data/mysqldata / //设定数据库文件目录
# make //编译
# make install //安装
# /usr/local/mysql/bin/mysql_install_db //初始化授权
# chown –R root:root /usr/local/mysql //文件属性改为root用户
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf //复制配置文件
----------------------------------启动MySQL服务----------------------------------
# /usr/local/mysql/bin/mysqld_safe --user=root & //启动MySQL
----------------------------------修改MySQL密码----------------------------------
# /usr/local/mysql/bin/mysqladmin -uroot password mysqlsecret //修改密码
----------------------------------关闭MySQL服务----------------------------------
# /usr/local/mysql/bin/mysqladmin -uroot -pmysqlsecret shutdown //关闭MySQL
添加默认启动项
#vi /etc/rc.d/rc.local
增加:
PATH=$PATH:/usr/java/jdk1.5.0_15/bin
JAVA_HOME=/usr/java/jdk1.5.0_15
export PATH JAVA_HOME
/app/tomcat-5.5.26/bin/startup.sh
/usr/apache/bin/httpd -k start
/usr/squid/sbin/squid -D -sYC