您的位置:首页 > 运维架构 > Nginx

CentOS-6.5下编译安装LNMP环境【nginx1.8.1、mysql5.5.43、php 5.6】

2016-03-25 23:21 1441 查看
CentOS 6.5环境下编译安装lnmp,安装前确认已安装了gc++,c++编译器,wget等基本工具
安装环境为:nginx-1.8.1, mysql-5.5.43, php-5.6


一、Nginx安装

1. 依赖包下载

yum install -y pcre pcre-devel openssl-devel


2. 安装前操作(用户、目录创建)

useradd nginx -s /sbin/nologin -M
mkdir /application


3. 下载安装包、解压、编译安装

wget http://nginx.org/download/nginx-1.8.1.tar.gz tar -xf nginx-1.8.1.tar.gz
cd nginx-1.8.1
useradd nginx -s /sbin/nologin -M
./configure --prefix=/application/nginx-1.8.1 --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
make && make install


4. 创建软链接

ln -s /application/nginx-1.8.1/ /application/nginx


5. 启动nginx

/application/nginx/sbin/nginx -t           #检查语法
/application/nginx/sbin/nginx             #启动


二、Mysql二进制包安装

1. 添加用户

useradd mysql -s /sbin/nologin -M


2. 下载、解压

wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.48-linux2.6-x86_64.tar.gz tar -xf mysql-5.5.48-linux2.6-x86_64.tar.gz
mv mysql-5.5.48-linux2.6-x86_64 /application/mysql


3. 改变权限权限、初始化

chown -R mysql.mysql /application/mysql/
/application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql/ --datadir=/application/mysql/data/


4. 添加密码

/application/mysql/bin/mysqladmin -u root password '*new-password*'
/application/mysql/bin/mysqladmin -u root -h **hostname** password '*new-password*'


5. 配置文件

rm -f /etc/my.cnf /etc/init.d/mysqld
cp /application/mysql/support-files/my-large.cnf /etc/my.cnf
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
vi /etc/init.d/mysqld
修改46,47行:
basedir=/application/mysql
datadir=/application/mysql/data


6. 启动

/etc/init.d/mysqld start


7. 添加到环境变量

echo PATH="$PATH:/application/mysql/bin">>/etc/profile
source /etc/profile


三、PHP安装

1. 依赖包

yum install -y zlib libxml2 libjpeg freetype libpng gd curl libiconv  zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel openssl-devel libxslt-devel libxslt*


安装libiconv

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz tar -xf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
cd ..


安装Libmcrypt

wget http://iweb.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz tar -xf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
sleep 2
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make && make install
cd ../../


这里编译可能遇到的问题:找不到/usr/local/lib/libmcrypt.la导致编译时失败
原因:未安装 gcc-c++   解决: yum install gcc-c++


安装mhash

wget http://heanet.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz tar -xf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
mak
d926
e && make install
sleep 1
cd ../
rm -f /usr/lib64/libmcrypt.*
rm -f /usr/lib64/libmhash*
ln -s /usr/local/lib/libmcrypt.la /usr/lib64/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib64/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib64/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib64/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib64/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib64/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1
ln -s /usr/local/lib/libmcrypt-config /usr/lib/libmcrypt-config


安装mcrypt

wget http://netassist.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz tar -xf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
/sbin/ldconfig
./configure LD_LIBRARY=/usr/local/lib && make &&make install
cd ..


2. 安装PHP

必要文件

ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/


下载及安装

wget http://cn2.php.net/distributions/php-5.6.18.tar.gz tar -xf php-5.6.18.tar.gz
cd php-5.6.18
./configure --prefix=/application/php-5.6.18 --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-bcmath --enable-shmop --enable-sysvsem--enable-inline-optimization --with-curl --enable-mbregex--enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --thewith-xmlrpc--enable-soap --enable-short-tags --enable-static --with-xsl--with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp --enable-pdo --with-pdo-mysql --enable-opcache=no
make && make install
cd ..


5.3安装的配置参数

./configure--prefix=/application/php-5.6.18 --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=nginx --with-fpm-group=nginx --enable-ftp --enable-pdo--with-pdo-mysql


5.6的安装没有--enable-safe-mode,--with-curlwrappers,--enable-zend-multibyte参数
相关参数说明: http://www.oschina.net/question/17_10674


配置文件(php.ini和php-fpm)

ln -s /application/php-5.6.18 /application/php
cp ./php-5.6.18/php.ini-production /application/php/lib/php.ini
cat /application/php/etc/php-fpm.conf.default>/application/php/etc/php-fpm.conf


检查语法、启动

/application/php/sbin/php-fpm -t
/application/php/sbin/php-fpm   #检查9000端口


四、 设置开机启动

编辑rc.local文件

/etc/init.d/mysqld start
/application/php/sbin/php-fpm
/application/nginx/sbin/nginx


或者

echo "/etc/init.d/mysqld start" >> /etc/rc.local
echo "/application/php/sbin/php-fpm" >> /etc/rc.local
echo "/application/nginx/sbin/nginx" >> /etc/rc.local
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos