LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。[1]
—————注意———————————-
1.—————————
mkdir .libs
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c ltdl.c -fPIC -o .libs/ltdl.o
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c ltdl.c -o ltdl.o >/dev/null 2>&1
/bin/sh ./libtool --mode=link gcc -g -O2 -o libltdl.la -rpath /usr/local/lib -no-undefined -version-info 4:0:1 ltdl.lo -ldl
./libtool: line 3965: ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib ): command not found
./libtool: line 3965: ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib ): command not found
./libtool: line 3965: ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib ): command not found
./libtool: line 3965: ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib ): command not found
产生原因:源码包中LIBTOOL版本过低。
解决方法:让编译时调用系统的LIBTOOL。修改Makefile文件,LIBTOOL=$(SHELL)$(top_builddir)/libtool 为LIBTOOL=$(SHELL) /usr/bin/libtool
2.—————————
本文.很多的配置文件.使用的都是默认的.
为了能让大家更好的来了解各个软件.希望大家都真的能自己去阅读一下软件的配置文件
要根据实际情况来调整配置文件. 这才是根本.
别文档过不去,就这不行那不行的,请仔细阅读配置文件
3.—————————
本文的操作系统.请参照之前的博文
如果包不匹配.极有可能无法完整安装.
有一部分东西. 我是放在操作系统安装的时候处理的.
4.—————————
切记. 要去理解文章. 而不是完全的照抄
5.—————————
本文是我自己的安装笔记. 有个别的东西有修改 请仔细阅读
—————————————————–
################ mysql 5.5.27 ################
# 编译安装的方法
# 使用yum安装bison
# 下载地址
# mysql 下载地址 官网的列表 需要自己去选择
# http://dev.mysql.com/downloads/mirrors.html
# cmake 下载地址 官网的列表 需要自己去选择
# http://www.cmake.org/cmake/resources/software.html
# 下载mysql 和 cmake
wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz
# 解压
tar zxf mysql-5.5.27.tar.gz
# 进入cmake 目录
# 编译 安装
cd ../
# 进入mysql 目录
# 使用 cmake 编译
-DCMAKE_INSTALL_PREFIX=/soft/mysql-5.5.27 \
-DMYSQL_DATADIR=/data/mysql-5.5.27/ \
-DSYSCONFDIR=/soft/mysql-5.5.27/etc/ \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_EXTRA_CHARSETS=complex \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0
# 编译 安装
# 建立mysql组 并 建立mysql用户并加入到mysql组
/usr/sbin/useradd -g mysql mysql -s /sbin/nologin
# 建立数据路径
# 修改目录权限
mkdir -p /soft/mysql-5.5.27/etc/
# 复制配置文件到/etc目录
# 复制服务文件到 /etc/init.d目录
chmod +x /etc/init.d/mysqld
# 增加mysql 路径到 /etc/profile 目录 (功能是增加环境变量)
# 增加mysql的lib到环境变量
# 重读 profile 让环境变量立刻生效
# 初始化数据库
# 开启mysql
# 清理MYSQL默认数据 清除主机名 清除主机默认IP地址 清除权限
drop user root@test; \
drop user root@'::1'; \
drop user ''@'localhost'; \
drop user ''@'test';"
# 修改mysql root 密码为 123456
# 将mysql 加入服务 设置启动
chkconfig mysqld on
# 重启mysql
cd ../
# 开启防火墙
service iptables save
################ nginx 1.2.3 ################
# 官方地址 http://nginx.org/en/download.html
# nginx 反向代理会使用的模块.需要单独加载 根据实际情况使用
# ngx_cache_purge-1.6.tar.gz
# http://labs.frickle.com/nginx_ngx_cache_purge/
wget http://nginx.org/download/nginx-1.2.3.tar.gz
# 解压
tar zxf ngx_cache_purge-1.6.tar.gz
# 进入nginx目录
# 带 ngx_cache_purge
--user=www \
--group=www \
--prefix=/soft/nginx-1.2.3 \
--with-http_stub_status_module \
--add-module=../ngx_cache_purge-1.6 \
--with-http_realip_module \
--with-http_ssl_module \
--with-http_sub_module \
--with-http_flv_module \
--with-http_addition_module \
--with-http_gzip_static_module
# 编译安装
# 建立 nginx 所使用的用户
/usr/sbin/useradd -g www www -s /sbin/nologin
# 修改配置文件
# 增加服务,该服务是我自己弄的,非常简单,希望大家通过自己学习自己来弄这么个东西.我就不放代码了.
# rz nginx
chmod +x nginx
# 日志分割脚本 网上一大堆 通过网络多学习吧 同样不放代码
# rz cut_nginx_log.sh
chmod +x cut_nginx_log.sh
# 赋予目录 写权限
chown -R www:www /data/wwwroot/
# 检查和重启服务
service nginx start
cd ../
# 加入服务
chkconfig nginx on
# 开启防火墙
service iptables save
################ php-5.4.6 ################
# libiconv-1.14.tar.gz
http://www.gnu.org/software/libiconv/
# libmcrypt-2.5.8.tar.gz
http://sourceforge.net/projects/mcrypt/files/Libmcrypt/
# mhash-0.9.9.9
http://sourceforge.net/projects/mhash/files/
# mcrypt-2.6.8.tar.gz
http://sourceforge.net/projects/mcrypt/
# php php-5.4.6.tar.gz
http://www.php.net/downloads.php
# memcache-3.0.6.tgz
http://pecl.php.net/package/memcache
# eaccelerator-0.9.6.1.zip 这个请注意….. 要下载最新版本 不然高版本的php不兼容
http://eaccelerator.net/
# ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
# http://www.zend.com/en/products/guard/downloads
# php_screw-1.5.tar.gz
http://sourceforge.net/projects/php-screw/
# pear
# http://pear.php.net/
# 使用yum安装软件包,解决依赖
glib2-devel bzip2-devel curl-devel e2fsprogs-devel krb5-devel libidn-devel libc-client libc-client-devel
# libiconv-1.14.tar.gz
cd libiconv-1.14
--prefix=/soft/libiconv-1.14
make && make install
cd ../
echo "/soft/libiconv-1.14/lib" >> /etc/ld.so.conf.d/php_lib.conf && /sbin/ldconfig
# libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure --prefix=/soft/libmcrypt-2.5.8
make && make install
/sbin/ldconfig
cd libltdl/
./configure \
--prefix=/soft/libmcrypt-2.5.8/libltdl \
--enable-ltdl-install
make && make install
cd ../../
echo "/soft/libmcrypt-2.5.8/lib" >> /etc/ld.so.conf.d/php_lib.conf
echo "/soft/libmcrypt-2.5.8/libltdl/lib" >> /etc/ld.so.conf.d/php_lib.conf && /sbin/ldconfig
# mhash-0.9.9.9
cd mhash-0.9.9.9/
./configure \
--prefix=/soft/mhash-0.9.9.9
make && make install
cd ../
echo "/soft/mhash-0.9.9.9/lib" >> /etc/ld.so.conf.d/php_lib.conf && /sbin/ldconfig
# mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
# ./configure时可能会报这个错:/bin/rm: cannot remove `libtoolT’: No such file or directory。
# 解决方法:修改configure文件,删除$RM “$cfgfile”这一行(在19744行)。重新再运行./configure就可以了。
# 看了下configure文件,其实可以忽略这个错。configure文件中cfgfile=”${ofile}T”定义的这里变量值是不存在的(${ofile}T的值为libtoolT),最后所以报错了。
export LDFLAGS="-L/soft/mhash-0.9.9.9/lib -I/soft/mhash-0.9.9.9/include/"
export CFLAGS="-I/soft/mhash-0.9.9.9/include/"
./configure \
--prefix=/soft/mcrypt-2.6.8 \
--with-libmcrypt-prefix=/soft/libmcrypt-2.5.8/
make && make install
cd ../
# php-5.4.6.tar.gz
cd php-5.4.6/
# 使用 mysqlnd 指定php编译参数
--prefix=/soft/php-5.4.6 \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-config-file-path=/soft/php-5.4.6/etc \
--with-iconv=/soft/libiconv-1.14 \
--with-mhash=/soft/mhash-0.9.9.9/ \
--with-mcrypt=/soft/libmcrypt-2.5.8/ \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-bz2 \
--with-libxml-dir=/usr \
--with-curl \
--with-curlwrappers \
--with-gd \
--with-openssl \
--with-imap \
--with-kerberos \
--with-imap-ssl \
--with-xmlrpc \
--with-gettext \
--enable-mbregex \
--enable-mbstring \
--enable-pcntl \
--enable-soap \
--enable-exif \
--enable-ftp \
--enable-zip \
--enable-sockets \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-gd-native-ttf \
--enable-inline-optimization \
--enable-calendar \
--disable-rpath \
--enable-fpm
# 编译安装
make install
# 准备配置文件
cd ../
# memcache-3.0.6.tgz
cd memcache-3.0.6
/soft/php-5.4.6/bin/phpize
./configure \
--with-php-config=/soft/php-5.4.6/bin/php-config
make && make install
cd ../
# eaccelerator-0.9.6.1.zip 这个 0.9.6.1 不能在这个php版本使用
# 请下载最新的 eaccelerator,编译步骤不变
cd eaccelerator-0.9.6.1/
/soft/php-5.4.6/bin/phpize
./configure \
--enable-eaccelerator=shared \
--with-php-config=/soft/php-5.4.6/bin/php-config
make && make install
cd ../
# 自己修改配置文件,为了你服务器的性能,请仔细阅读配置文件
# 打开php并加入服务
service php-fpm start
chkconfig --add php-fpm
chkconfig php-fpm on
- 本文固定链接: http://www.sa-log.com/195.html
- 转载请注明: 王, 帅 于 我的系统记录 发表