操作系统:ubuntu 8.10 i386 server
需要的软件:
nginx-0.7.33.tar.gz php-5.2.8.tar.bz2 php-5.2.8-fpm-0.5.10.diff.gz libiconv-1.12.tar.gz libmcrypt-2.5.8.tar.gz mcrypt-2.6.7.tar.gz memcache-2.2.4.tgz eaccelerator-0.9.5.3.tar.bz2 PDO_MYSQL-1.0.2.tgz
库文件:
libjpeg62-dev libjpeg62 libpng12-0 libpng12-dev libfreetype6 libfreetype6-dev libxml2 libxml2-dev zlib1g zlib1g-dev libglib2.0-0 libglib2.0-dev libbz2-1.0 libbz2-dev libncurses5 libncursesw5-dev libpcre3 libpcre3-dev libmhash-dev
安装步骤:
1.安装所需要的库文件
shell $> apt-get install libjpeg62-dev libjpeg62 libpng12-0 libpng12-dev libfreetype6 libfreetype6-dev libxml2 libxml2-dev zlib1g zlib1g-dev libglib2.0-0 libglib2.0-dev libbz2-1.0 libbz2-dev libncurses5 libncursesw5-dev libpcre3 libpcre3-dev libmhash-dev
2.编译优化
默认nginx使用的GCC编译参数是-O
需要更加优化可以使用以下两个参数
–with-cc-opt=’-O3′ \
–with-cpu-opt=opteron \
Nginx 优化
1).减小nginx编译后的文件大小 (Reduce file size of nginx)
默认的nginx编译选项里居然是用debug模式(-g)的(debug模式会插入很多跟踪和ASSERT之类),编译以后一个nginx有好几兆。去掉nginx的debug模式编译,编译以后只有几百K
在 auto/cc/gcc,最后几行有:
# debug
CFLAGS=”$CFLAGS -g”
注释掉或删掉这几行,重新编译即可
3.创建nginx启动脚本
默认nginx使用的GCC编译参数是-O
需要更加优化可以使用以下两个参数
–with-cc-opt=’-O3′ \
–with-cpu-opt=opteron \
Nginx 优化
1).减小nginx编译后的文件大小 (Reduce file size of nginx)
默认的nginx编译选项里居然是用debug模式(-g)的(debug模式会插入很多跟踪和ASSERT之类),编译以后一个nginx有好几兆。去掉nginx的debug模式编译,编译以后只有几百K
在 auto/cc/gcc,最后几行有:
# debug
CFLAGS=”$CFLAGS -g”
注释掉或删掉这几行,重新编译即可
3.创建nginx启动脚本
详见附件
注意:
因为php.ini中配置了eaccelerator.shm_size="128",允许eaccelerator可使用的共享内存大小为128M。
而 134217728bytes / 1024 / 1024 = 128MB
在Linux下,单个进程的最大内存使用量受/proc/sys/kernel/shmmax中设置的数字限制(单位为字节),例如CentOS、Redhat的shmmax默认值为33554432字节(33554432bytes/1024/1024=32MB)。
临时更改该值:
echo 字节数 > /proc/sys/kernel/shmmax
按照以上方法更改,在每次重启系统时,该值会被自动还原。如果想永久更改,可以修改/etc/sysctl.conf文件,设置:
kernel.shmmax = 字节数
如果你的eaccelerator使用默认的32M共享内存,可以不修改此值。
而 134217728bytes / 1024 / 1024 = 128MB
在Linux下,单个进程的最大内存使用量受/proc/sys/kernel/shmmax中设置的数字限制(单位为字节),例如CentOS、Redhat的shmmax默认值为33554432字节(33554432bytes/1024/1024=32MB)。
临时更改该值:
echo 字节数 > /proc/sys/kernel/shmmax
按照以上方法更改,在每次重启系统时,该值会被自动还原。如果想永久更改,可以修改/etc/sysctl.conf文件,设置:
kernel.shmmax = 字节数
如果你的eaccelerator使用默认的32M共享内存,可以不修改此值。
本文转自Deidara 51CTO博客,原文链接:http://blog.51cto.com/deidara/130427,如需转载请自行联系原作者