Centos 6.4 搭建lnmp(系列1)
废话不多说,有lamp的编译安装就要有lnmp的编译安装。
关于下面的yum,可能看着yum有点多,但这都是我不同版本搭建安装汇总出来需要yum的库文件,基本按照我这个yum安装完毕,编译的时候是不会报错的。
操作系统版本:Centos 6.4 64位
nginx版本:1.5.7
mysql版本:5.5.53
php版本:5.3.27
一、mysql的编译安装
mkdir /tools
cd /tools/
yum -y install bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* mysql-devel
wget http://www.cmake.org/files/v2.8/cmake-2.8.8tar.gz
tar zxf cmake-2.8.8.tar.gz
cd cmake-2.8.8
make && make install
./configure && make && make install
cd /tools/
wget downloads.mysql.com/archives/get/file/mysql-5.5.35.tar.gz
tar zxf mysql-5.5.35.tar.gz
cd mysql-5.5.35
/usr/local/bin/cmake \
-DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.35 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/mysqldata \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
make && make install
useradd mysql -s /sbin/nologin -M
chown -R mysql:mysql /application/mysql-5.5.35
ln -s /application/mysql-5.5.35 /application/mysql
cp support-files/mysql.server /etc/init.d/mysqld
cp support-files/my-small.cnf /etc/my.cnf
chmod 755 /etc/init.d/mysqld
chown mysql:mysql /etc/my.cnf
mkdir /mysqldata
chown mysql:mysql /mysqldata
/application/mysql/scripts/mysql_install_db –defaults-file=/etc/my.cnf –basedir=/application/mysql –datadir=/mysqldata
vi /etc/profile
PATH=$PATH:/application/mysql/bin
export PATH
soure /etc/profile
#/usr/local/bin/cmake 知道前面为什么要安装cmake了吧,mysql5.5以后是通过cmake编译安装的
#-DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.35 指定mysql安装位置
#-DMYSQL_UNIX_ADDR=/tmp/mysql.sock sock套接字位置
#-DDEFAULT_CHARSET=utf8 默认字符集是utf8,其实还有个utf8mb4,这个是应对古字四字节的,先提一下,这个四字节的古字在utf8上面显示是乱码的,自5.5.3系列之后才有了utf8mb4字符集。
#-DDEFAULT_COLLATION=utf8_general_ci 默认字符校对
#-DEXTRA_CHARSETS=all 扩展字符集我这里选择所有,不吃字符集缺失的亏
#-DWITH_MYISAM_STORAGE_ENGINE=1 启用MYISAM引擎
#-DWITH_INNOBASE_STORAGE_ENGINE=1 启用INNODB引擎
#-DWITH_MEMORY_STORAGE_ENGINE=1 启用MEMORY引擎
#-DWITH_READLINE=1 启用readline库支持(提供可编辑的命令行)
#-DENABLED_LOCAL_INFILE=1 启用本地数据导入支持
#-DMYSQL_DATADIR=/mysqldata 指定数据库的位置
#-DMYSQL_USER=mysql 指定mysql用户
#-DMYSQL_TCP_PORT=3306 指定TCP端口为3306
二、 nginx 的编译安装
cd /tools/
yum install openssl* libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel ncurses ncurses-devel curl curl-devel gd gd2 gd-devel gd2-devel -y
wget http://sourceforge.net/projects/pcre/files/pcre/8.32/pcre-8.32.tar.gz/download
tar zxf pcre-8.32.tar.gz
cd pcre-8.32
./configure
make && make install
cd /tools
useradd cspweb -s /sbin/nologin -M
wget http://nginx.org/download/nginx-1.5.7.tar.gz
tar zxf nginx-1.5.7.tar.gz
cd nginx-1.5.7
./configure --user=cspweb --group=cspweb --prefix=/application/nginx-1.5.7 --with-http_stub_status_module --with-http_ssl_module
make && make install
echo “/usr/local/lib” >>/etc/ld.so.conf
ln -s /application/nginx-1.5.7 /application/nginx
#–with-http_stub_status_module 这个模块可以取得nginx的一些运行状态,是监控模块
#–with-http_ssl_module 支持ssl,443端口嘛,这个肯定是要加载的,nginx经常跟ssl结合用
三、PHP的编译安装
php官方在线文档:http://php.net/manual/zh/funcref.php
php软件下载链接:http://php.net/downloads.php
cd /tools
yum install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel libxslt-devel -y
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz #装这个是为支持编码转化,具体作用可百度
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
cd /tools
wget http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&big_mirror=0
tar zxf libmcrypt-2.5.8.tar.gz #作用:libmcrypt是加密算法扩展库
cd libmcrypt-2.5.8
./configure
make && make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make&&make install
cd /tools
wget https://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
tar zxf mhash-0.9.9.9.tar.gz #hash算法扩展库
cd mhash-0.9.9.9
./configure
make &&make install
cd /tools
wget https://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
tar zxf mcrypt-2.6.8.tar.gz #加密扩展库,加载了它可以用他里面自带的22种加密解密算法
cd mcrypt-2.6.8
/sbin/ldconfig
./configure
make && make install
cd /tools
wget http://www.php.net/get/php-5.3.27.tar.gz/from/this/mirror
tar zxf php-5.3.27.tar.gz
cd php-5.3.27
./configure \ --prefix=/application/php5.3.27 \ --with-mysql=/application/mysql \ --with-iconv-dir=/usr/local/libiconv \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir=/usr \ --enable-xml \ --disable-rpath \ --enable-safe-mode \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --with-curl \ --with-curlwrappers \ --enable-mbregex \ --enable-fpm \ --enable-mbstring \ --with-mcrypt \ --with-gd \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --enable-short-tags \ --enable-zend-multibyte \ --enable-static \ --with-xsl \ --with-fpm-user=cspweb \ --with-fpm-group=cspweb\ --enable-ftp
make&&make install
cp php.ini-production /application/php/lib/php.ini
cp /application/php5.3.27/etc/php-fpm.conf.default /application/php5.3.27/etc/php-fpm.conf
#–prefix=/application/php5.3.27 指定php的安装位置
#–with-mysql=/application/mysql 指定mysql安装目录,对mysql的支持
#–with-iconv-dir=/usr/local/libiconv 支持libiconv加密算法
#–with-freetype-dir 打开对freetype字体库的支持
#–with-jpeg-dir 打开对jpeg图片的支持
#–with-png-dir 打开对png图片的支持
#–with-zlib-dir 打开zlib库的支持
#–with-libxml-dir=/usr 打开libxml2库的支持
#–enable-xml 打开xml文件的支持
#–disable-rpath 关闭额外的运行库文件
#–enable-safe-mode 打开安全模式(php5.4默认开启,编译就不用加此参数了)
#–enable-bcmath 打开图片大小调整,用到zabbix监控的时候用到了这个模块
#–enable-shmop 共享内存操作函数,可以与c/c++通讯
#–enable-sysvsem 支持信号量,通过信号量,可以实现进程通信,竞争等
#–enable-inline-optimization 支持栈堆指针和优化线程
#–with-curl 打开curl浏览工具的支持
#–with-curlwrappers 运用curl工具打开url流
#–enable-mbregex 支持多字符集,支持中文正则截取中文字符串长度
#–enable-fpm 是激活对FastCGI模式的fpm支持,新版本已经不再有--enable-fastcgi了
#–enable-mbstring 多字节,字符串的支持
#–with-mcrypt 支持加密算法的扩展
#–with-gd 打开gb库的支持
#–enable-gd-native-ttf 打开freetype1.*的支持
#–with-openssl openssl的支持,加密传输时用到的
#–with-mhash 支持hash算法的扩展
#–enable-pcntl 多线程优化
#–enable-sockets 打开 sockets 支持
#–with-xmlrpc 打开xml-rpc的c语言
#–enable-zip 打开对zip的支持
#–enable-soap soap扩展主要用来处理RPC形式的Web services
#–enable-short-tags 激活短格式标记
#–enable-zend-multibyte 支持zend的多字节(5.4以后也不用加这个参数了)
#–enable-static 生成静态链接库
#–with-xsl 打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件
#–with-fpm-user=cspweb 启动的用户
#–with-fpm-group=cspweb 启动的用户组
#–enable-ftp 打开ftp的支持
注意:可能报两个错误
(1).错误:
root html; #默认的html是nginx软件安装位置下的html目录
fastcgi_pass 127.0.0.1:9000; #这就是php的启动ip加端口
fastcgi_index index.php; #首页为index.php
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
<?php
phpinfo();