LNMP源码安装(RHEL)
准备阶段
1、操作系统
Red Hat Enterprise Linux Server 6.3
2、配置 IP 为 192.168.10.250
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
#service network restart
3、配置防火墙,开启22端口、80端口、3306端口
#vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙)
4、关闭SELinux
#vim /etc/selinux/config
修改SELINUX=disabled 并重启系统。
或者用命令:
[root@test ~]# setenforce 0 #用命令不用重启系统,但这只是暂的关闭 SELinux,系统重启后即失效 。
5、下载软件包
nginx-1.2.2.tar.gz
mysql-5.5.25a.tar.gz
php-5.4.4.tar.gz
其它相关软件包和依赖包:
cmake-2.8.8.tar.gz #MySQL编译工具
eaccelerator-0.9.6.1.zip #php加速器,使PHP程序代码执效率能提高1-10倍;
xcache-2.0.1.tar.gz #php加速器,用来替代eaccelerator
google-perftools-1.9.1.tar.gz
ImageMagick-6.7.8-2.tar.gz #功能强大、稳定而且免费的工具集和开发包;
imagick-3.1.0RC2.tgz #PHP的一个扩展程序,它是默认的GD图象函数库的绝佳替代方案。
libiconv-1.14.tar.gz
libmcrypt-2.5.8.tar.gz
mcrypt-2.6.8.tar.gz
memcache-3.0.6.tgz
memcached-1.4.13.tar.gz #高性能的分布式的内存对象缓存系统;可替换 memcache-3.0.6.tgz
mhash-0.9.9.9.tar.bz2
ncurses-5.9.tar.gz
openssl-1.0.1c.tar.gz
pcre-8.31.tar.gz
php-fpm-0.6-103~5.3.1.tar.gz
wordpress-3.4.1-zh_CN.zip #wordpress个人博客
所有的软件包都放在 /data1/lnmp/ 这个目录下面。
注意:
eAccelerator 是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使PHP程序代码执效率能提高1-10倍。
Memcache 是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。php中的所讲的memcache是PHP的一个扩展,是一个客户端,用于连接 memcached。
ImageMagick 是一套功能强大、稳定而且免费的工具集和开发包,可以用来读写和处理超过89种基本格式的图片文件。利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存。
6、安装编译工具及库文件
根据情况选择相关软件包:
[root@test ~]# yum install make apr* autoconf automake curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 libxml2-devel patch
脚本实现检查各软件包安装情况:
必要时选择安装这些软件包,也可源码安装:
for i in ` rpm -q 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 e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss-ldap openldap-clients openldap-servers bison bison-devel readline readline-devel libmcrypt libmcrypt-devel net-snmp-devel libXpm* libxml2 libxml2-devel patch|grep 'not installed' | awk '{print $2}' `;
do
yum -y install $i;
done
注意:
至少要安装 gcc gcc-c++ 等工具。其它的软件包可以用 YUM 安装,也可以用源码安装。