整理硬盘
昨天整理了2个小时硬盘
硬是整理出50多G空间~
很多以前的照片、文档、程序、备份都删了
反正留着也不会再去看
倒是搜到综艺节目《国光帮帮忙》去年12月7日的
里面这段实在是我奋斗的目标~~~
« 2008年08月 | (回到Blog入口) | 2008年10月 »
昨天整理了2个小时硬盘
硬是整理出50多G空间~
很多以前的照片、文档、程序、备份都删了
反正留着也不会再去看
倒是搜到综艺节目《国光帮帮忙》去年12月7日的
里面这段实在是我奋斗的目标~~~
原文出自 http://www.daemonology.net/blog/2008-01-29-depenguinator-2.0.html ,有修改。
有时候,出于某种需要,我们可能想把自己的主机重装成FreeBSD,但是,亲自去一趟机房可能会相当麻烦,更糟糕的是机房可能没人懂安装FreeBSD的,这种情况下,只能我们自己想办法了。
原理,我们把FreeBSD启动盘写入硬盘某一个区里面,然后通过grub启动,让FreeBSD直接在内存里面启动,这样我们就可以对硬盘进行分区等操作了。
目前depenguinator支持大部分Linux发行版(仅i386版本,不支持x86_64),支持安装FreeBSD6、7系列,下面马上开始。
1.安装依赖的软件包.
depenguinator制作FreeBSD硬盘镜像文件时需要编译makefs,下列软件包是必须的.
curl
gcc
zlib
zlib-devel
glibc-devel
bsdtar ( http://people.freebsd.org/~kientzle/libarchive/ )
自己逐个安装吧,这些应该没什么困难的,只有bsdtar需要编译安装,其他的直接使用yum安装就可以了
2.下载daemonology最新版本
wget http://www.daemonology.net/depenguinator/depenguin-2.0.tar.gz
3.编辑配置文件
tar -xzf depenguin-2.0.tar.gz
cd depenguin-2.0
4.创建depenguinator.conf并且根据自己的实际情况修改,(注意:这部分内容不能有错误,否则FreeBSD启动也无法安装连接网络)
depenguinator.conf.dist depenguinator.conf
hostname="服务器机器名"
defaultrouter="服务器网关"
depenguinator_mac_external="网卡mac地址"
depenguinator_ip_external="服务器IP地址"
depenguinator_netmask_external="子网掩码"
保存退出
5.下载FreeBSD disc1 ISO image,并且改名为disc1.iso
curl ftp://ftp.freebsdchina.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.0/7.0-RELEASE-i386-disc1.iso > disc1.iso
6.上传你的ssh authorized key到/root/.ssh,执行makeimage.sh创建硬盘镜像文件(ssh authorized key用来验证ssh登录,没有的话无法连接sshd)
sh -e makeimage.sh disc1.iso 7.0-RELEASE ~/.ssh/authorized_keys
7.这一步,作者的做法是关闭swap,然后把镜像文件写入swap,通过grub启动,不过我在测试的时候grub无法启动swap分区,提示filesystem unknow,可能是我的CentOS版本太低了吧(CentOS3.8),所以我稍微做了修改:先关闭swap,然后把swap转换成FreeBSD文件系统,再把disk.img写入swap分区,这样grub就可以正常启动了。(我的swap是/dev/sda2,如果你的swap是其他分区,要做相应修改)
swapoff /dev/sda2
fdisk /dev/sda2
选择t修改分区类型
输入sda2分区号码2
分区类型输入a5 (这是FreeBSD文件系统标号)
按w保存退出
8.把disk.img写入硬盘
dd if=disk.img of=/dev/sda2
9.更新gurb启动,增加FreeBSD选择并且设置为默认
vi /boot/grub/menu.lst
在最后增加下面部分:
title FreeBSD
root (hd0,1)
makeactive
chainloader +1
修改default=0 为default=2
10.重启系统
shutdown -r now
11.系统启动,这时FreeBSD完全是在内存里面运行着.enjoy yourself and god bless you
后记:系统启动后安装也比较困难的,因为FreeBSD安装过程的分区有点问题,反正大家在没熟悉操作之前,千万不要拿服务器开刀,否则丢数据请不要找本人麻烦.
现在就继续讨论一下如何安装FreeBSD
由于这样安装系统跟光盘安装有不同,所以我写一下我的经验给大家吧.
安装过程最大的问题是分区,有这样一个问题,系统启动后md0和md1分别挂载在 / 根分区和/usr分区,一旦你sysinstall过程中对硬盘分区格式化然后挂载到/ 和/usr,那么这两个分区就变成空白分区了,sysinstall可能无法继续,所以这里不得不耍点小手段才行。
我的解决方法:
先对硬盘分区格式化,然后mount 到 /1 和 /2 ,再把/根分区和/usr分区里面的文件分别拷贝到这两个分区里面,然后重新挂载到根分区和/usr分区,sysisntall过程就不需要再分区了。
至于如何分区格式化,参考FreeBSD使用手册里面的说明:
http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/disks-adding.html
dd if=/dev/zero of=/dev/da0 bs=1k count=1 fdisk -BI da0 #初始化新磁盘 bsdlabel -B -w da0s1 auto #加上标签
mkdir /1
mkdir /2
进入sysinstall
选择Configure
选择lable
删掉原来的da0s1a,然后对da0s1分区。通常来说,下面分区是必须的
swap
/1 (用来挂载根分区,不要使用softupdate)
/2 (用来挂载/usr分区)
一般还会分/tmp和/var
根据自己需要划分分区大小,然后按w保存,退出sysinstall ,按照我的实际情况,得到/1和/2分别是/dev/da0s1a和/dev/da0s1e
把根目录的东西都拷贝到/1里面去(会提示有错误,不用管)
cp -Rp .cshrc boot lib mnt sbin usr .profile COPYRIGHT dev libexec proc sys usr.tgz bin etc media root tmp var 1/
把/usr目录的东西都拷贝到/2里面去
cd /usr
cp -Rp * /2/
umount /1 和/2
umount /1
umount /2
mount /dev/da0s1e /usr
mount /dev/da0s1a /
好了,重新进入sysinstall
开始安装过程,直接跳过fdisk,lable这步只需要指定你分好的分区挂载到哪里就行了,不要重新格式化分区,按w保存修改,然后就是安装系统了,这里不再重复,只说明一下系统安装好之后的步骤。
1.检查内核是否安装好,如果 /boot/kernel下面没有内核文件,把/boot/GENERIC/下面的所有文件全部拷贝到/boot/kernel里面
cp -Rp /boot/GENERIC/* /boot/kernel/
2.更新/etc/fstab
按照自己的实际分区状况来写,例如我的
# Device Mountpoint FStype Options Dump Pass#
/dev/da0s1a / ufs rw 1 1
/dev/da0s1d /tmp ufs rw 2 2
/dev/da0s1b none swap sw 0 0
/dev/da0s1e /usr ufs rw 2 2
3.更新/etc/rc.conf
mv /etc/rc.conf /etc/rc.conf.sysinstall
vi /etc/rc.conf (根据自己的实际情况修改)
defaultrouter="192.168.1.1"
hostname="host.youdoman.com"
ifconfig_em0="inet 192.168.1.8 netmask 255.255.255.0"
sshd_enable="YES"
重启,OK,系统安装完成,如果有时间,不防重新编译源码和内核吧。
6.0 Release以后,FreeBSD的稳定性和负载都上了一个台阶,特别是ULE内核控制器给SMP带来了新的希望.这里仅仅探讨一下如何配置Discuz最佳运行环境.
1.系统优化,这里我主要说一下内核编译好了.
先更新以源码到最新
cd /usr/share/examples/cvsup
ee standard-supfile
找到 *default host=CHANGE_THIS.FreeBSD.org
改成 *default host=cvsup.FreeBSD.org
ee standard-supfile
找到 *default host=CHANGE_THIS.FreeBSD.org
改成 *default host=cvsup.FreeBSD.org
执行cvsup更新源码和ports
cvsup -g -L 2 ports-supfile
cvsup -g -L 2 standard-supfile
修改内核文件
cd /sys/i386/conf
给内核文件改个名字然后再修改,否则下一次执行cvsup的时候会覆盖默认内核的
cp GENERIC shadow
ee shadow
查找
ident GENERIC
修改成
ident shadow
找到
options SCHED_4BSD
删掉或者注析掉他,然后找到
options SCHED_ULE
去掉前面的#
HT CPU的机器,要再加入一个选项.
options SMP
其他的不再一一说,这里我仅仅列出作为web服务器可以/需要删掉的部分,非web/mysql服务器请勿参照本文优化
cpu I486_CPU
cpu I586_CPU
options INET6
options NFSCLIENT
options NFSSERVER
options NFS_ROOT
options MSDOSFS
options CD9660
device fdc
options SYSVSHM
options SYSVMSG
options SYSVSEM
device cbb
device pccard
device cardbus
device wlan
device an
device awi
device ral
device wi
device wl
device aue
device axe
device cdce
device cue
device kue
device rue
这部分内容的解析大家可以参照官方手册,同时还有很多设备都可以去掉的,大家可以根据手册进行修改,但是如果你不确定,建议你不要删掉任何一个设备.
重新编译源码和内核
cd /usr/src
make buildworld
make buildkernel KERNCONF=shadow
make installkernel KERNCONF=shadow
reboot
重新登陆系统
mergemaster -p
cd /usr/src
make install world
mergemaster
reboot
源码和内核升级完毕
2.配置mysql服务器.
cd /usr/ports/databases/mysql40-server
make clean
make deinstall
make WITH_CHARSET=gb2312 WITH_XCHARSET=all WITH_LINUXTHREADS=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes install clean
rehash
mysql_install_db --user=mysql
mysqladmin –uroot –p password yourpassword
cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
3.配置web服务器,这个部分我就不再详细说了,一来网上教程太多,二来用户选择不同,可能是apache也可能是ZEUS,下面的php配置是针对zeus的.
4.编译安装php
下载php-4.4.1,解压到一个目录下面
cd php-4.4.1
./configure --enable-fastcgi --enable-force-cgi-redirect --with-zlib --with-mysql=/usr/local --with-xml --with-gd
make
make install
make clean
cp php.ini-recommended /usr/local/lib/php.ini
5.安装ZendOptimizer
tar xvzf ZendOptimizer-2.6.0-freebsd5.4-i386.tar.gz
cd ZendOptimizer-2.6.0-freebsd5.4-i386
./install
一路确认,到Are you use Apache这项选择no.
6.安装eaccelerator
cd /usr/ports/www/eaccelerator
make install clean
mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator
chown nobody:nobody /tmp/eaccelerator
编辑php.ini ,加入eaccelerator支持,注意,在Zend和eaccelerator共存的机器上面,eaccelerator必须设置为zend扩展,并且参数要放在zend的参数前面.
ee /usr/local/lib/php.ini
在[Zend] 后面加入
zend_extension=/usr/local/lib/php/20020429/eaccelerator.so
eaccelerator.shm_size=64
eaccelerator.cache_dir=/tmp/eaccelerator
eaccelerator.enable=1
eaccelerator.optimizer=1
eaccelerator.check_mtime=1
eaccelerator.debug=0
eaccelerator.filter=
eaccelerator.shm_max=0
eaccelerator.shm_ttl=15
eaccelerator.shm_prune_period=15
eaccelerator.shm_only=0
eaccelerator.compress=1
eaccelerator.compress_level=9
eaccelerator.keys=shm_and_disk
eaccelerator.sessions=shm_and_disk
eaccelerator.content=shm_and_disk
同时将
zend_optimizer.optimization_level=15
修改为
zend_optimizer.optimization_level=1023
重启web服务器,祈求上帝保佑吧!
[文章作者:张宴 本文版本:v4.0 最后修改:2008.08.29 转载请注明原文链接:http://blog.s135.com/read.php/366.htm]
安装步骤:
(系统要求:Linux 2.6+ 内核,本文中的Linux操作系统为CentOS 5.1,另在RedHat AS4上也安装成功)
一、获取相关开源程序:
1、利用CentOS Linux系统自带的yum命令安装、升级所需的程序库(RedHat等其他Linux发行版可从安装光盘中找到这些程序库的RPM包,进行安装):
sudo -s
LANG=C
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel
2、RedHat等其他Linux发行版可从安装光盘中找到这些程序库的RPM包(事先可通过类似“rpm -qa | grep libjpeg”的命令查看所需的RPM包是否存在,通常是“xxx-devel”不存在,需要安装)。RedHat可以直接利用CentOS的RPM包安装,以下是RPM包下载网址:
①、RedHat AS4 & CentOS 4
http://mirror.be10.com/centos/4/os/i386/CentOS/RPMS/
http://mirror.be10.com/centos/4/os/x86_64/CentOS/RPMS/
②、RedHat AS5 & CentOS 5
http://mirror.be10.com/centos/5/os/i386/CentOS/
http://mirror.be10.com/centos/5/os/x86_64/CentOS/
③、RPM包搜索网站
http://rpm.pbone.net/
http://www.rpmfind.net/
3、下载程序源码包:
本文中提到的所有开源软件为截止到2008年8月28日的最新稳定版。
mkdir -p /data0/software cd /data0/software wget http://sysoev.ru/nginx/nginx-0.7.13.tar.gz wget http://www.php.net/get/php-5.2.6.tar.gz/from/this/mirror wget http://php-fpm.anight.org/downloads/head/php-5.2.6-fpm-0.5.8.diff.gz #wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.26-rc.tar.gz/from/http://mirror.x10.com/mirror/mysql/ wget http://blog.s135.com/soft/linux/mysql/mysql-5.1.26-rc.tar.gz wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.12.tar.gz #wget "http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&big_mirror=0" wget http://mirror.optus.net/sourceforge/m/mc/mcrypt/libmcrypt-2.5.8.tar.gz #wget "http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.7.tar.gz?modtime=1194463373&big_mirror=0" wget http://mirror.optus.net/sourceforge/m/mc/mcrypt/mcrypt-2.6.7.tar.gz wget http://pecl.php.net/get/memcache-2.2.3.tgz #wget "http://downloads.sourceforge.net/mhash/mhash-0.9.9.tar.gz?modtime=1175740843&big_mirror=0" wget http://mirror.optus.net/sourceforge/m/mh/mhash/mhash-0.9.9.tar.gz wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.7.tar.gz wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
二、安装PHP 5.2.6(FastCGI模式)
1、编译安装PHP 5.2.6所需的支持库:
tar zxvf libiconv-1.12.tar.gz cd libiconv-1.12/ ./configure --prefix=/usr/local make make install cd ../tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make
make install
cd ../../tar zxvf mhash-0.9.9.tar.gz
cd mhash-0.9.9/
./configure
make
make install
cd ../cp /usr/local/lib/libmcrypt.* /usr/lib
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2tar zxvf mcrypt-2.6.7.tar.gz
cd mcrypt-2.6.7/
./configure
make
make install
cd ../
2、编译安装MySQL 5.1.26-rc
/usr/sbin/groupadd mysql /usr/sbin/useradd -g mysql mysql tar zxvf mysql-5.1.26-rc.tar.gz cd mysql-5.1.26-rc/ ./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile make && make install chmod +w /usr/local/webserver/mysql chown -R mysql:mysql /usr/local/webserver/mysql cp support-files/my-medium.cnf /usr/local/webserver/mysql/my.cnf cd ../
附:以下为附加步骤,如果你想在这台服务器上运行MySQL数据库,则执行以下两步。如果你只是希望让PHP支持MySQL扩展库,能够连接其他服务器上的MySQL数据库,那么,以下两步无需执行。
①、以mysql用户帐号的身份建立数据表:
/usr/local/webserver/mysql/bin/mysql_install_db --defaults-file=/usr/local/webserver/mysql/my.cnf --basedir=/usr/local/webserver/mysql --datadir=/usr/local/webserver/mysql/data --user=mysql --pid-file=/usr/local/webserver/mysql/mysql.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
②、启动MySQL(最后的&表示在后台运行)
/bin/sh /usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/usr/local/webserver/mysql/my.cnf &
3、编译安装PHP(FastCGI模式)
tar zxvf php-5.2.6.tar.gz
gzip -cd php-5.2.6-fpm-0.5.8.diff.gz | patch -d php-5.2.6 -p1
cd php-5.2.6/
./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl
sed -i 's#-lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt#& -liconv#' Makefile
make
make install
cp php.ini-dist /usr/local/webserver/php/etc/php.ini
cd ../
4、编译安装PHP5扩展模块
tar zxvf memcache-2.2.3.tgz cd memcache-2.2.3/ /usr/local/webserver/php/bin/phpize ./configure --with-php-config=/usr/local/webserver/php/bin/php-config make make install cd ../tar jxvf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3/
/usr/local/webserver/php/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
cd ../
5、修改php.ini文件
手工修改:查找/usr/local/webserver/php/etc/php.ini中的extension_dir = "./"
修改为extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"
并在此行后增加以下几行,然后保存:
extension = "memcache.so"
再查找output_buffering = Off
修改为output_buffering = On
自动修改:若嫌手工修改麻烦,可执行以下shell命令,自动完成对php.ini文件的修改:
sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"\nextension = "memcache.so"\n#' /usr/local/webserver/php/etc/php.ini
sed -i 's#output_buffering = Off#output_buffering = On#' /usr/local/webserver/php/etc/php.ini
6、配置eAccelerator加速PHP:
mkdir -p /usr/local/webserver/eaccelerator_cache
vi /usr/local/webserver/php/etc/php.ini
按shift+g键跳到配置文件的最末尾,加上以下配置信息:
[eaccelerator]
zend_extension="/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="128"
eaccelerator.cache_dir="/usr/local/webserver/eaccelerator_cache"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="300"
eaccelerator.shm_prune_period="120"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
修改配置文件:
vi /etc/sysctl.conf
输入以下内容:
kernel.shmmax = 134217728
然后执行以下命令使配置生效:
/sbin/sysctl -p
7、创建www用户和组,以及供blog.s135.com和www.s135.com两个虚拟主机使用的目录:
/usr/sbin/groupadd www -g 48
/usr/sbin/useradd -u 48 -g www www
mkdir -p /data0/htdocs/blog
chmod +w /data0/htdocs/blog
chown -R www:www /data0/htdocs/blog
mkdir -p /data0/htdocs/www
chmod +w /data0/htdocs/www
chown -R www:www /data0/htdocs/www
8、创建php-fpm配置文件(php-fpm是为PHP打的一个FastCGI管理补丁,可以平滑变更php.ini配置而无需重启php-cgi):
在/usr/local/webserver/php/etc/目录中创建php-fpm.conf文件:
rm -f /usr/local/webserver/php/etc/php-fpm.conf
vi /usr/local/webserver/php/etc/php-fpm.conf
输入以下内容(如果您安装 Nginx + PHP 用于程序调试,请将以下的
<?xml version="1.0" ?> <configuration>All relative paths in this config are relative to php's install prefix
<section name="global_options">
Pid file
<value name="pid_file">/usr/local/webserver/php/logs/php-fpm.pid</value>Error log file
<value name="error_log">/usr/local/webserver/php/logs/php-fpm.log</value>Log level
<value name="log_level">notice</value>When this amount of php processes exited with SIGSEGV or SIGBUS ...
<value name="emergency_restart_threshold">10</value>... in a less than this interval of time, a graceful restart will be initiated.
Useful to work around accidental curruptions in accelerator's shared memory.
<value name="emergency_restart_interval">1m</value>Time limit on waiting child's reaction on signals from master
<value name="process_control_timeout">5s</value>Set to 'no' to debug fpm
<value name="daemonize">yes</value></section>
<workers>
<section name="pool">
Name of pool. Used in logs and stats.
<value name="name">default</value>Address to accept fastcgi requests on.
Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'
<value name="listen_address">127.0.0.1:9000</value><value name="listen_options">
Set listen(2) backlog
<value name="backlog">-1</value>Set permissions for unix socket, if one used.
In Linux read/write permissions must be set in order to allow connections from web server.
Many BSD-derrived systems allow connections regardless of permissions.
<value name="owner"></value>
<value name="group"></value>
<value name="mode">0666</value>
</value>Additional php.ini defines, specific to this pool of workers.
<value name="php_defines">
<value name="sendmail_path">/usr/sbin/sendmail -t -i</value>
<value name="display_errors">0</value>
</value>Unix user of processes
<value name="user">www</value>Unix group of processes
<value name="group">www</value>Process manager settings
<value name="pm">Sets style of controling worker process count.
Valid values are 'static' and 'apache-like'
<value name="style">static</value>Sets the limit on the number of simultaneous requests that will be served.
Equivalent to Apache MaxClients directive.
Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi
Used with any pm_style.
<value name="max_children">200</value>Settings group for 'apache-like' pm style
<value name="apache_like">Sets the number of server processes created on startup.
Used only when 'apache-like' pm_style is selected
<value name="StartServers">20</value>Sets the desired minimum number of idle server processes.
Used only when 'apache-like' pm_style is selected
<value name="MinSpareServers">5</value>Sets the desired maximum number of idle server processes.
Used only when 'apache-like' pm_style is selected
<value name="MaxSpareServers">250</value></value>
</value>
Time limit on waiting execution of single request
Should be used when 'max_execution_time' ini option does not terminate execution for some reason
<value name="request_execution_timeout">31s</value>Set open file desc rlimit
<value name="rlimit_files">51200</value>Set max core size rlimit
<value name="rlimit_core">0</value>Chroot to this directory at the start
<value name="chroot"></value>Chdir to this directory at the start
<value name="chdir"></value>Redirect workers' stdout and stderr into main error log.
If not set, they will be redirected to /dev/null, according to FastCGI specs
<value name="catch_workers_output">yes</value>How much requests each process should execute before respawn.
Useful to work around memory leaks in 3rd party libraries.
For endless request processing please specify 0
Equivalent to PHP_FCGI_MAX_REQUESTS
<value name="max_requests">51200</value>Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.
Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+)
Makes sense only with AF_INET listening socket.
<value name="allowed_clients">127.0.0.1</value>Pass environment variables like LD_LIBRARY_PATH
All $VARIABLEs are taken from current environment
<value name="environment">
<value name="HOSTNAME">$HOSTNAME</value>
<value name="PATH">/usr/local/bin:/usr/bin:/bin</value>
<value name="TMP">/tmp</value>
<value name="TMPDIR">/tmp</value>
<value name="TEMP">/tmp</value>
<value name="OSTYPE">$OSTYPE</value>
<value name="MACHTYPE">$MACHTYPE</value>
<value name="MALLOC_CHECK_">2</value>
</value></section>
</workers>
</configuration>
9、启动php-cgi进程,监听127.0.0.1的9000端口,进程数为200(如果服务器内存小于3GB,可以只开启64个进程),用户为www:
ulimit -SHn 51200
/usr/local/webserver/php/sbin/php-fpm start
注:/usr/local/webserver/php/sbin/php-fpm还有其他参数,包括:start|stop|quit|restart|reload|logrotate,修改php.ini后不重启php-cgi,重新加载配置文件使用reload。
三、安装Nginx 0.7.13
1、安装Nginx所需的pcre库:
tar zxvf pcre-7.7.tar.gz
cd pcre-7.7/
./configure
make && make install
cd ../
2、安装Nginx
tar zxvf nginx-0.7.13.tar.gz
cd nginx-0.7.13/
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
cd ../
3、创建Nginx日志目录
mkdir -p /data1/logs
chmod +w /data1/logs
chown -R www:www /data1/logs
4、创建Nginx配置文件
①、在/usr/local/webserver/nginx/conf/目录中创建nginx.conf文件:
rm -f /usr/local/webserver/nginx/conf/nginx.conf
vi /usr/local/webserver/nginx/conf/nginx.conf
输入以下内容:
user www www;worker_processes 8;
error_log /data1/logs/nginx_error.log crit;
pid /usr/local/webserver/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;events
{
use epoll;
worker_connections 51200;
}http
{
include mime.types;
default_type application/octet-stream;#charset gb2312;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
sendfile on;
tcp_nopush on;keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;gzip on;
gzip_min_length 1k;
gzip_buffers 4 64k;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/css application/xml;#limit_zone crawler $binary_remote_addr 10m;
server
{
listen 80;
server_name blog.s135.com;
index index.html index.htm index.php;
root /data0/htdocs/blog;#limit_conn crawler 20;
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}location ~ .*\.(js|css)?$
{
expires 1h;
}log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log /data1/logs/access.log access;
}server
{
listen 80;
server_name www.s135.com;
index index.html index.htm index.php;
root /data0/htdocs/www;location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}log_format wwwlogs '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log /data1/logs/wwwlogs.log wwwlogs;
}server
{
listen 80;
server_name status.blog.s135.com;location / {
stub_status on;
access_log off;
}
}
}
②、在/usr/local/webserver/nginx/conf/目录中创建fcgi.conf文件:
vi /usr/local/webserver/nginx/conf/fcgi.conf
输入以下内容:
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
5、启动Nginx
ulimit -SHn 51200 /usr/local/webserver/nginx/sbin/nginx
四、配置开机自动启动Nginx + PHP
vi /etc/rc.local
在末尾增加以下内容:
ulimit -SHn 51200 /usr/local/webserver/php/sbin/php-fpm start /usr/local/webserver/nginx/sbin/nginx
五、优化Linux内核参数
vi /etc/sysctl.conf
在末尾增加以下内容:
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 5000 65000
使配置立即生效:
/sbin/sysctl -p
六、在不停止Nginx服务的情况下平滑变更Nginx配置
(1)、修改/usr/local/webserver/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确:
/usr/local/webserver/nginx/sbin/nginx -t
如果屏幕显示以下两行信息,说明配置文件正确:
the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
the configuration file /usr/local/webserver/nginx/conf/nginx.conf was tested successfully
(2)、这时,输入以下命令查看Nginx主进程号:
ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'
屏幕显示的即为Nginx主进程号,例如:
6302
这时,执行以下命令即可使修改过的Nginx配置文件生效:
kill -HUP 6302
或者无需这么麻烦,找到Nginx的Pid文件:
kill -HUP `cat /usr/local/webserver/nginx/nginx.pid`
=================================================================
Q:有一点不是很清楚,为什么这次用ea不用xcache呢,是不是xcache不是很稳定?
A:生产环境下,当缓存的PHP二进制文件太多,以至于超过shm_size后,eAccelerator在性能方面要高于Xcache
Q:真有3万的并发吗?能否用PHPINFO页面做一个测试结果?按文中配置完后,并未发现比apache高出这么多。甚至不如apache的perfoce方式快?apache与Nginx真有这么大的差距吗?
A:下面是用100个并发连接分别去压生产环境中同一负载均衡器VIP下、提供相同服务的两台服务器,一台为Nginx,另一台为Apache,Nginx每秒处理的请求数是Apache的两倍多,Nginx服务器的系统负载、CPU使用率远低于Apache:
(你可以将连接数开到10000~30000,去压Nginx和Apache上的phpinfo.php,用浏览器访问Nginx上的phpinfo.php一切正常,而访问Apache服务器的phpinfo.php,则是该页无法显示。)
(webbench 下载地址:http://blog.s135.com/read.php/288.htm)
##### Nginx + PHP #####[root@localhost webbench-1.5]# webbench -c 100 -t 30 http://192.168.1.21/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benchmarking: GET http://192.168.1.21/phpinfo.php
100 clients, running 30 sec.Speed=102450 pages/min, 16490596 bytes/sec.
Requests: 51225 susceed, 0 failed.top - 14:06:13 up 27 days, 2:25, 2 users, load average: 14.57, 9.89, 6.51
Tasks: 287 total, 4 running, 283 sleeping, 0 stopped, 0 zombie
Cpu(s): 49.9% us, 6.7% sy, 0.0% ni, 41.4% id, 1.1% wa, 0.1% hi, 0.8% si
Mem: 6230016k total, 2959468k used, 3270548k free, 635992k buffers
Swap: 2031608k total, 3696k used, 2027912k free, 1231444k cached------------------------------------------------------------------------------------
##### Apache + PHP #####
[root@localhost webbench-1.5]# webbench -c 100 -t 30 http://192.168.1.27/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benchmarking: GET http://192.168.1.27/phpinfo.php
100 clients, running 30 sec.Speed=42184 pages/min, 31512914 bytes/sec.
Requests: 21092 susceed, 0 failed.top - 14:06:20 up 27 days, 2:13, 2 users, load average: 62.15, 26.36, 13.42
Tasks: 318 total, 7 running, 310 sleeping, 0 stopped, 1 zombie
Cpu(s): 80.4% us, 10.6% sy, 0.0% ni, 7.9% id, 0.1% wa, 0.1% hi, 0.9% si
Mem: 6230016k total, 3075948k used, 3154068k free, 379896k buffers
Swap: 2031608k total, 12592k used, 2019016k free, 1117868k cached
最近突然很想买房嗫
可惜龙岩的房价太贵了
一个小山城的房价跟广州一样高 真是没谱啊
全国都在降价
广州都快到底了
龙岩都没什么动静
早都听说本地的房地产开发商的资金链都断了
就是不怎么见降价
市政府旁边五洲财富广场,6月13日开盘以来
到现在一分钱都没有降过
也不知道挺什么 大概是觉得地理位置太好
那块新城要发展起来,起码还要5~10年
现在荒芜的要死
三梯十二户也很挤~
户型也没有特别好
买那里也就是买个10年后的未来
现在卖8K多~ 买了有什么意义~
虽然当初我是看中它
不过现在想想,也没什么好的,经不起推敲
现在比较注意的是裕福国际
户型比较好,地域也算市中心
离步行街很近
去火车站也不远
到新市政府也是一条路走到底就到了
价格也6K左右 ,比较合适
如果能降到5K多更好
毕竟龙岩的房子都是没有装修的
装修一下,价格比广州可都贵啊~
~~~~~~~~~~~~~~~~~~~~~~
最近我又胡思乱想~
好吧,要收敛一下
工作需要工作站安装FTP
鉴于IIS的FTP虽然性能高,但是用户权限设置颇为麻烦
还是下载了SERV-U最新版本
没想到安装完发现界面完全不一样
漂亮是漂亮多了
可是需要的设置找起来实在不够方便
原来的直列菜单清晰明了的很
现在的……
而且反应速度很慢
要点很久才有反应……
设置一些条件也非常繁琐
比如允许 FTP 用户自行修改密码
我操,真TM很难搞
找了好久~
而且不知道哪里设置出问题
在IE下显示正常
在FLASHFXP下乱码……
新版本的SERV-U 明显让人失望
改进的地方我是没用到大概
实在觉得不如老版本的界面清晰明了
~~~~~~~~~~~~~~~~~~
这几天被同事拉着打魔兽……
挺无语的
打发时间还是可以
不过玩多了还是没什么意思
可能我对游戏确实兴趣不弄
就算CS我也一般半个小时就退出来了
~~~~~~~~~~~~~~~~~~
准备有空把服务区多余的思科交换机弄回来学下
很多命令真是不清楚
有个东西来学习设置好多了
这些靠看书是没用的
听说龙岩分中心还多余一台核心路由器
这个,有点眼馋, 哈哈
摸透了大概靠个网络工程师没什么问题
~~~~~~~~~~~~~~~~~~
天气阴天
心情不好不坏
鉴于原来的DELL键盘用了超过4年了
按键生涩手感实在不行
最近换了个IBM的键盘
今天刚刚换上去使用
不知道是不是因为新的缘故
手感实在比DELL的键盘强的太多了
可惜是标准英国版本,个别键位有不同
需要时间来习惯
比如"\"按键变到左下角,字母上方数字“·~4”都不一样
右手边的“‘、”对应字符也不一样
说不清楚,上图吧


不过习惯不看键盘后,倒也无所谓
淘宝上一样的键盘美式标准的好歹也要近300~~~
不过左手边那很小的shift按键对打CS稍微有点影响……
按起来要瞄准……
不过右手边的大个回车按钮还是很爽的
用DELL的键盘都是小回车,用起来确实不够爽,毕竟回车经常用
键盘还带一个指纹识别器
算是附属功能吧
用的上的机会不多
毕竟我这里安全级别,嗯,还是不用那么高要求的……

上两张大图
具体参数:
IBM 内部编号:89P9037
产品型号: KUF0452
键盘种类: UK English 版,内建指纹识别系统
键盘颜色: IBM商务黑
键盘线长: 3米
键盘介面: USB
键盘键数: 105键
键盘尺寸: 45 x 20.5 x 3 cm
键盘重量: 1.4 kg
驱动下载连接:http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=TVAN-EAPFPR (里面11MB的那个)
帮同事买了一双TEVA的鞋子
户外鞋
收了拍几张照片
Teva的鞋子看上去做工还不错
虽然Teva是做户外凉鞋、拖鞋起家的
不过这双户外鞋看起来还是很好,重量很轻 做工很细
想当年买在读书的时候买的一双Teva的拖鞋,穿了5年
要不是由于底部花纹全都磨光了,走在街上有摔死的可能……还能继续穿下去
质量实在是没的说的
天天都要穿的拖鞋穿5年
现在这双V底的chaco拖鞋不知道可以不可以打破这个记录……
品牌简介:
很有名的鞋,主要生产休闲,涉水和凉鞋。1982年,美国科罗拉多河一位资深领航员马克戴卓尔,因工作所需,经常处于险地,他厌倦了穿著既湿又滑又重的运动鞋,而一般凉鞋又容易被激流冲脱,于是他决心创制出一双无论在绑带系统、抓地性能、轻巧舒适以至坚韧耐磨程度都有卓越表现的运动凉鞋。1983年,马克以亲身经验,不断钻研及测试,创造了世界第一双运动凉鞋Teva,他既有运动鞋的稳定弹性,又拥有凉鞋的透气舒适。设计特点任何一双运动凉鞋均采用专利绑带系统(UniversalStrappingSystem),整条绑带由鞋面穿过中底,不脱胶不断裂。专利ShocPad中底避震护垫,有效支撑全身重力,柔软舒适不疲劳。Teva独家蜘蛛橡胶(SpiderRubber)及河流橡胶等鞋底,搭配强化之攀岩,胎纹鞋底,超强抓地性能,不论步行攀爬,溯溪等各种水陆活动均适宜。法国顶级优质织带,柔软快干,依各款式搭配强力魔鬼粘,或压力扣环,方便调整,系稳双脚,不易松脱,安全性佳。鞋面由压缩橡胶及高密度EVA混合何而成,柔软轻巧,具特殊排汗排水沟纹,让脚底舒适干爽。整双鞋依人体工学脚弧形状塑造,合脚舒适。
先恭喜下赵玙~
即将步入人生最重要的几十年路程
虽然我16~20号要去厦门参加培训
不过20号我一定赶得回来参加你的婚礼D
也看看到底是哪个幸运小伙子,嘿嘿,伴你一生
虽然一直以来我们见面的次数实在是屈指可数
你也远在北京发展
不过你的声音可是让我念念不忘啊
我们只有6年前唱的一首《你最珍贵》留下了声音印记
清澈纯净的声音这辈子看来我是忘不掉了
每次听你的声音还是不自觉的会有感叹
不知道以后还有没有机会再一起录歌
看看时间到底留下了什么,带走了什么
中秋值班
非一般郁闷
又没得回家
没有好料吃
中秋过完还要去厦门培训
又是一周满满的行程安排
期待去厦门有时间到岛内尝下房子的手艺
这几天工作都比较轻松
设备没什么故障
顺便搞了个站点
模板改了一天
这个月要业务考试
搜了下内网
找了不少技术员窝着藏着的资料
好多啊
看了才发现自己原来差距很大
好多东西都一知半解
基础非常不扎实
原来这一段时间我过的太舒服了
很多基础的东西都没有反复咀嚼、消化
明天要好好打印出来看
不然业务考试垫底就闹笑话了~
~~~~~~
7月份开始正式接手收费系统
很多流程、解决方法都要自己摸索
走很多弯路
自己又没有及时总结
吃亏啊
9月份开始到12月份
计划把收费系统的维护、保养通通都流程化
每个月什么时候做什么事情
都固定下来
这样既不会丢三落四
也不会突然碰到要检查搞得匆匆忙忙
按规矩办事原来才是效率最高的方法
只是规矩要制订的到位
果然是应验了那句老话 不以规矩不成方圆
制订好这些对于过两年调回另外的分中心也有好处
上手快很多
培训新的技术员也是一笔宝贵的资料
现在就要有当主任的觉悟
看问题也要有高度有前瞻性
以后才有希望争个主任的位置
日子平淡,那是自己的问题
不是生活的问题
上周都没写博客
好久了
周二去厦门培训
在高速公路泉厦公司
吃的那叫一个好啊
都是海鲜、都是好料
就是上课好累
在大学也从来没有7点15分起床,上课到12点
下午2点半上课到7点……
基本上没出去晃
最远就是培训中心对面的超市……
周五晚上回到家
培训让我开始习惯每天晚上11点睡觉早上6点多起床……
~~~~~~~~~~~
周末就见了海牛,Meg等朋友
吃了饭,吹了水
~~~~~~~~~~~··
见到了即将成婚的赵玙
瘦啊,真是瘦
身材不错
脸上实在是没什么肉
穿着打扮变化还是没有很大
老公很帅啊
虽然坐在一边没怎么说话,哈哈哈
~~~~~~~~~~·~
Meg已经当老师当上瘾了
完全对一窝蜂的娃子能应付自如……
好吧,以后孩子估计学英语可以找她了~
现在名气看起来已经挺大了,哈哈
看的出对教书是非常有兴趣啊
~~~~~~~~~~~
等发半年奖啊半年奖
国庆值班3天是难免的
还有一天要抽出来参加同事婚礼
3天自由活动时间
麻衣、99要来玩
不过厦门有房子先接待
说要去看土楼
好吧,等消息~
~~~~~~~~~~~~~~·
明天上班第一件事就是考试
业务考试
很头晕~~~~
现在才觉得自己很多东西都不了解~~~~
好吧 努力
ps. 我要减肥
平时坐太久确实对身体不好
现在开始每天早上6点起来,跳绳20~30分钟
传说人体每减掉一公斤脂肪,需消耗七千七百卡热量
跳绳:每半小时消耗热量四百卡,,对心肺系统等各种脏器、协调性、姿态、减肥等都有相当大的帮助。
呃,我跳不到半个小时……
20分钟会挂……
好多脂肪……
估计要跳好几年……
不过周末跟Meg去看了点穴减肥
半年卡近4K
年卡5K多
好吧,Meg,你试过了有效果我再去……
5K还不如自己锻炼减肥了出去旅游……
看看这次每天能坚持30分钟跳绳否
好歹跳绳比跑步消耗大
肺活量,提高肺活量
唱歌才游刃有余
~~~~~~~~~~~~~~
工作没什么事情
就是很多文档要整理
很多故障修复了同事没有写修复报告单
工作的兴趣还是要培养的
~~~~~~~~~~~~~~~
运动完半个小时多了,我还在出汗……
好吧 既然大家都说我瘦了会比较能见人
我试试……
还是运动减肥我比较相信
其他方式我是信不过
减肥不会减了肺活量吧……
出汗,排毒
皮肤会变好吧
好吧,借口真多
我要挺住
~~~~~~~~
快转正吧,我要休年假
9天呢~~~~
可以玩好多地方了
还有整整3个月……
~~~~~~~
没参加赵玙的婚礼真可惜
发一些海牛整的视频、图片吧
传完更新……
移轴镜头,应该是挺贵的,我不买.
专业人士用移轴拍建筑,没有形变,这个我不需要.还有一部分人,拍模型效果,超好看,买不起镜头,就玩PS咯~
很好玩吧,下面我来zz一篇关于如何PS移轴的,主要是留档给自己看,哈哈
<用 PhotoShop 後製模擬移軸鏡, 簡單有趣的後製效果,您也可以來試試!>
移軸鏡的模擬效果其實作法非常簡單,只有幾個步驟就可以完成,
不過最好要挑選一下圖片,透視效果愈明顯,或是拍攝視角較廣範的圖片,
後製後的感覺愈強烈喔!
現在就簡單為各位示範一下,如何用 PS 來後製:
1.首先要選出後製的照片
要後製的這張照片事先可以比平常再加強一些色彩飽合度,
這樣調出來的效果會更明顯一些。
2.開啟 PhotoShop 程式 (沒有指定一定要什麼版本,CS、CS2、CS3都可以)
3.載入要後製的照片
4.點選左下角工具列「以快速遮色片模式編輯(Q)」的圖示
5.選取上方「反射性漸層」
6.在畫面上拖曳出想要的範圍及角度 (不滿意可以重新拖曳一次)
7.再點選一次左下角工具列的「以快速遮色片模式編輯(Q)」圖示
8.點選後可以看出剛剛所遮罩的範圍 (不滿意可以重複步驟6)
9.點選「濾鏡(T)→模糊→鏡頭模糊...」
10.這裡「強度®」預設為15,可自行依喜好調整