编译MYSQL选项:
./configure --prefix=/home/mysql --enable-assembler --with-charset=gbk --with-extra-charsets=gbk
编译完成安装以后,需要对相应的MYSQL目录设置权限:
chown -R root:mysql /home/mysql
chown -R mysql:mysql /home/mysql/var
chgrp -R mysql /home/mysql
加入MYSQL用户:
pw group add mysql
pw user add mysql -g mysql -s /sbin/nologin
编译PHP:
./configure --prefix=/home/php --with-mysql=/home/mysql --with-apxs2=/home/apache20/bin/apxs --with-gd --enable-gd-native-ttf --disable-ipv6 --with-jpeg-dir --with-zlib-dir
编译APACHE:
./configure --prefix=/home/apache20 --enable-so --enable-rewrite=shared --enable-modules=most --enable-mods-shared=max --with-mpm=worker
编译PHP支持的GD库:
./configure --prefix=/usr/local/gd
FREEBSD内核编译开关:
# 1. `cd /usr/src' (or to the directory containing your source tree).
# 2. `make buildworld'
# 3. `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
# 4. `make installkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
# 5. `reboot' (in single user mode: boot -s from the loader prompt).
# 6. `mergemaster -p'
# 7. `make installworld'
# 8. `mergemaster'
# 9. `reboot'
以下摘自MYSQL5.0.27的自安装描述文件。
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql var
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &
后记:
在安装LIBAPR的时候会要求做连接:
ln -s /usr/lib/libapr-0.so.0.9.4 libapr-1.so
ln -s /usr/lib/libapr-0.so.0.9.4 libapr-1.so.0
ln -s /usr/lib/libapr-0.so.0.9.4 libaprutil-1.so
ln -s /usr/lib/libapr-0.so.0.9.4 libaprutil-1.so.0
根据APR版本不同,做相应的连接。
四、启动优化(loader.conf)
autoboot_delay="2"
## 设置启动等待时间为2秒。
hw.ata.atapi_dma=1
## 打开ATA33以上接口的硬盘的DMA传输,加快存取速度。
kern.ipc.maxsockets="16384"
## 增大线程间套接数量
net.inet.tcp.tcbhashsize="2048"
## 增大TCP控制块数量
beastie_disable="YES"
## 关闭小恶魔图像启动菜单
五、系统首选项(rc.conf)
background_dhclient="YES"
## 不等待DHCP执行完毕,加快启动速度。
keyrate="fast"
## 最大化键盘速率
sendmail_enable="NONE"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
## 关闭SENDMAIL
clear_tmp_enable="YES"
## 按时清除/var/tmp文件
tcp_extensions="YES"
## 扩展TCP
六、系统资源优化(sysctl.conf)
security.bsd.see_other_uids=0
## 不允许用户看到所有系统进程
kern.ipc.maxsockbuf=8388608
## 线程套接字缓冲区
kern.ipc.shm_use_phys=1
## 仅为线程提供物理内存支持,需要256兆以上内存。
kern.ipc.shmmax=67108864
## 线程可使用的最大共享内存
kern.ipc.shmall=32768
## 最大线程数量
kern.coredump=0
## 程序崩溃时不记录
net.local.stream.sendspace=65536
net.local.stream.recvspace=65536
## 本地数据流接收和发送空间
net.local.dgram.maxdgram=16384
## 本地数据包最大数量
net.local.dgram.recvspace=65536
## 本地数据包接收空间
net.inet.tcp.rfc1644=1
net.inet.tcp.rfc3042=1
net.inet.tcp.rfc3390=1
## 某些加快网络性能的协议,请参考RFC文章。
net.inet.tcp.mssdflt=1460
## 数据包数据段大小,ADSL为1452。
net.inet.tcp.sendspace=65536
net.inet.tcp.recvspace=1048576
## 网络数据接收和发送空间
net.inet.tcp.inflight_enable=1
## 为网络数据连接时提供缓冲
net.inet.tcp.minmss=1460
## 数据包数据段最小值,ADSL为1452。
net.inet.raw.maxdgram=65536
## 本地数据最大数量
net.inet.raw.recvspace=65536
## 本地数据流接收空间
七、环境设置(.cshrc)
alias ls ls -GF
## 彩色化ls
setenv EDITOR ee
## 默认编辑器为ee
setenv PAGER less
## 默认分页器为less,比more要方便。
set nobeep
set prompt = '%n@%/%# '
set filec
set autolist
##
这几行设置我先不解释,不过我相信你肯定喜欢,自己去研究那是什么吧。特别是最后一行。
二. Linux下安装
1.下载eaccelerator-0.9.5.tar.bz2
下载地址: http://sourceforge.net/projects/eaccelerator
http://jaist.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.5.tar.bz2
2.动态安装
# tar -jxf eaccelerator-0.9.5.tar.bz2
# cd eaccelerator-0.9.5
# export PHP_PREFIX="/usr/local/"
# $PHP_PREFIX/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
# make && make install
注:通过export 来设置php所在的安装路径变量,我的PHP是安装在/usr目录下,系统用Slackware 12.0。其它系统如果默认安装也大体差不多;如果不一样,就自己指定一下;
完成安装后,eaccelerator.so模块位于 /usr/lib/php/extensions目录中,您的系统如果和我不一样,您自己应该安装在哪了;
# echo "/usr/lib/php/extensions" > /etc/ld.so.conf
# ldconfig
注:更新动态链接库地址;
我的SO地址:/usr/local/lib/php/extensions/no-debug-non-zts-20020429/eaccelerator.so
3.修改php.ini
我们首先要修改;php.ini,然后重启Apache;
在php.ini文件中,加入;
zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20020429/eaccelerator.so" 注:模块的具体位置;
eaccelerator.shm_size="16" 注:共享内存大小;
eaccelerator.cache_dir="/home/eaccelerator" 注:缓存目录;
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
注:其中,模块的具体位置必须正确,以您的系统为准;共享内存大小可以自己调整,感觉16M还是可以的,根据服务器的情况,你自己调一下。缓存目录可以自己指定,我们在这里指定的是 /home目录上的 eaccelerator 目录,如果没有,自己创建一个;权限是0777;
以上的配置是把 eaccelerator 做为 Zend 的扩展模块来编译的办法。如果您的PHP是用安装模式编译的,要把 zend_extension改为zend_extension_ts 。
如果您是把 eaccelerator 做为 PHP的一个扩展,要用下面的配置 ;
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/home/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
是不是生效了,您要查看 /home/eaccelerator 目录中,当Apache服务器启动了,你随便点几个页面,如果在这个目录中,出现文件了。那就是生效了。如果没任何文件,就要找原因了 ……
这两个配置文件,是不是管用。要你自己根据情况来修改。
4.创建缓存目录
mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator
安装文档: http://www.eaccelerator.net/wiki/InstallFromSource