no such file to load -- zlib
安装了rubygems后,gem list出现如下错误.
$ gem list
/usr/local/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- zlib (LoadError)
from /usr/local/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/ruby/lib/ruby/site_ruby/1.8/rubygems/spec_fetcher.rb:1
from /usr/local/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/ruby/lib/ruby/site_ruby/1.8/rubygems/commands/query_command.rb:3
from /usr/local/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/ruby/lib/ruby/site_ruby/1.8/rubygems/commands/list_command.rb:2
from...
Nginx安装及配置
Nginx作为一个后起之秀,他的迷人之处已经让很多人都投入了他的怀抱.配置简单,实现原理简单.做一个负载平衡再好不过了.
一、依赖的程序
1.gzip module requires zlib library
2.rewrite module requires pcre library
3.ssl support requires openssl library
二、安装
./configure
make
make install
默认安装的路径是:
/usr/local/nginx
更多的安装配置:
./configure --prefix=/usr/local/nginx
三、启动及重启 启动:
nginx
重启:
kill -HUP cat /usr/local/nginx/logs/nginx.pid
测试配置文件:
nginx -t
简单吧,安装,启动都比较方便.
四、配置文件
#运行用户
user nobody nobody;
#启动进程
worker_processes 5;
#全局错误日志及PID文件
error_log logs/error.log notice;
pid logs/nginx.pid;
#工作模式及连接数上限
events {
#工作模式有:select(标准模式),poll(标准模式),kqueue(高效模式,适用FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 and MacOS X),
#epoll(高效模式,本例用的.适用Linux 2.6+,SuSE 8.2,),/dev/poll(高效模式,适用Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+)
use epoll;
worker_connections 1024;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
#设定mime类型
...
linux清空last和lastb记录
清除登陆系统成功的记录,也就是last命令看到的记录:
$ echo > /var/log/wtmp
$ echo >/var/log/wtmp
$ last
此时即看不到用户登录信息. 清除登陆系统失败的记录,也就是lastb命令看到的记录:
$ echo > /var/log/btmp
$ echo > /var/log/btmp
$ lastb
此时就没有结果输出了. 清除历史执行命令:
$ history -c
或者,清空用户目录下的这个文件即可.
$ echo > ./.bash_history
nginx配置优化
1、Nginx 运行工作进程个数
worker_processes 4; #工作进程,建议和cpu核心数一致
worker_cpu_affinity 0001 0010 0100 1000 #cpu亲和力设置
2、Nginx 事件处理模型
events { #events:提供配置文件上下文,其中指定了影响连接处理的指令.
use epoll; #使用epoll事件处理模型
worker_connections 65535; #单个worker_processes支持的最大连接
multi_accept on; #worker_processes一次接受所有连接
}
3、开启高效传输模式
http { #提供指定的HTTP服务器指令的配置文件上下文
include mime.types; #支持所有mime类型
default_type application/octet-stream; #默认流的类型
……
sendfile on; #开启高效传输模式
tcp_nopush on; #告诉 nginx 在一个数据包里发送所有头文件,可防止网络阻塞
……
}
4、连接超时时间
keepalive_timeout 60; #长连接超时时间60s
tcp_nodelay on; ...
监控软件Monit安装与配置
一、Monit简介 Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,用于Unix平台.它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误.
二、安装与配置
1、软件包依赖
apache
2、下载
http://mmonit.com/monit/
3、安装
$ tar monit-5.2.3.tar.gz
$ cd monit-5.2.3
$ ./configure /前面有个点儿
$ make
$ make install
4、配置文件
$ cp /monit-5.2.3/monitrc /etc
5、注册init守护进程
$ vi /etc/inittab
添加下面一行:
mo:2345:respawn:/usr/local/bin/monit -Ic /etc/monirc
6、配置实例
###############################################################
#Global section #全局配置
###############################################################
set daemon 120 with start delay 240 #设置monit为后台进程,没2分钟为一个检查周期,首次启动后4分钟开始第一次检查
###############################################################
set logfile syslog facility log_daemon #设置系统日志,这是默认设定,可以手动配置指定日志文件
###############################################################
set idfile /var/.monit.id ...
128M内存VPS性能优化
VPS(全称Virtual Private Server)是利用最新虚拟化技术在一台物理服务器上创建多个相互隔离的虚拟私有主机.它们以最大化的效率共享硬件、软件许可证以及管理资源.对其用户和应用程序来讲,
每一个VPS平台的运行和管理都与一台独立主机完全相同,因为每一个VPS均可独立进行重启并拥有自己的root访问权限、用户、IP地址、内存、过程、文件、应用程序、系统函数库以及配置文件.
VPS服务器最重要的指标就是内存大小,多个VPS服务器可以共享一颗CPU,但不能共享同一块内存.内存越大,价格越贵. 下面,以我的博客所在的VPS为例,介绍在128M内存下对 Nginx 0.7.x + PHP 5.2.6(FastCGI)+ MySQL 5.1 的优化.
优化后的效果: 提供HTTP服务的1个Nginx进程占用11M物理内存,5个php-cgi进程每个占用8M左右物理内存,1个MySQL服务器占用7M物理内存, 加上两个占用内存不大的Nginx和php-cgi父进程,Nginx + PHP + MySQL 系列总共只占用47.7%的物理内存,即62M物理内存(128M * 47.7% ≈ 62M).
另外,VPS服务器系统自身和其它程序也会使用一些内存,但128M内存的VPS已经够用.总体而言,经过优化后,128M内存的VPS跑 Nginx + PHP + MySQL 效果不错.当然,如果有Money购买更大内存的VPS,就更好了.
优化项如下: 零、充分利用多核 Nginx 在 Linux 上有一个 worker_cpu_affinity 参数,可以为每个工作进程绑定到不同的 CPU ,所以如果你的 VPS 具有多核的话,那么可以充分利用各 CPU .比如如果有 4 个 CPU,那么可以进行如下配置:
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
一、增加256M的swap交换文件
1、创建并激活swap交换文件
cd /var/
dd if=/dev/zero...