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

LNMP(Linux+Nginx+MySQL+PHP)环境搭建

2014-01-14 21:41 871 查看
这几天重装了系统,重新用源码包搭建了LNMP环境,每次都会有不一样的问题,顺便把搭建过程及遇到的问题记录下来。

Linux:CentOS6.5(32位)

Nginx:1.5.8

MySQL:5.6.15

PHP:5.5.6

1、安装gcc以及gcc-c++

yum install gcc
yum install gcc-c++


2、关闭防火墙

service iptables stop


3、创建一个空白目录(用于存放源码包)

mkdir /lnmp
cd /lnmp


4、libxml2的安装

wget http://xmlsoft.org/sources/libxml2-2.9.1.tar.gz tar -zxvf libxml2-2.9.1.tar.gz
cd libxml2-2.9.1.tar.gz
./configure --prefix=/usr/local/libxml2 --with-python=no
make && make install


注:libxml2安装会有问题,我直接使用--with-python=no屏蔽掉,如果需要python支持的话详见:http://www.devsumo.com/technotes/2013/12/linux-building-libxml2-on-red-hat-enterprise-linux/

5、libmcrypt的安装

wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download tar -zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt --enable-ltdl-install
make && make install


6、zlib的安装

wget http://sourceforge.net/projects/libpng/files/zlib/1.2.8/zlib-1.2.8.tar.gz/download tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make && make install


7、libpng的安装

wget http://sourceforge.net/projects/libpng/files/libpng15/1.5.17/libpng-1.5.17.tar.gz/download tar -zxvf libpng-1.5.17.tar.gz
cd libpng-1.5.17
./configure --prefix=/usr/local/libpng
make && make install


8、jpeg的安装

wget http://www.ijg.org/files/jpegsrc.v9.tar.gz mkdir /usr/local/jpeg9
mkdir /usr/local/jpeg9/bin
mkdir /usr/local/jpeg9/lib
mkdir /usr/local/jpeg9/include
mkdir -p /usr/local/jpeg9/man/man1
tar -zxvf jpegsrc.v9.tar.gz
cd jpeg-9/
./configure --prefix=/usr/local/jpeg9/ --enable-shared --enable-static
make && make install


9、freetype的安装

wget http://sourceforge.net/projects/freetype/files/freetype2/2.5.2/freetype-2.5.2.tar.gz/download tar -zxvf freetype-2.5.2.tar.gz
cd freetype-2.5.2
./configure --prefix=/usr/local/freetype --without-png
make && make install


10、 autoconf的安装

wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz tar -zxvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure && make && make install


11、gd库的安装

wget https://google-desktop-for-linux-mirror.googlecode.com/files/gd-2.0.35.tar.gz tar -zxvf gd-2.0.35.tar.gz
cd gd/2.0.35/
./configure --prefix=/usr/local/gd2 --with-png=/usr/local/libpng/ --with-jpeg=/usr/local/jpeg9/ --with-freetype=/usr/local/freetype
make && make install


12、pcre的安装

wget http://sourceforge.net/projects/pcre/files/pcre/8.34/pcre-8.34.tar.gz/download tar -zxvf pcre-8.34.tar.gz
cd pcre-8.34
./configure
make && make install


13、openssl的安装

wget http://www.openssl.org/source/openssl-1.0.0l.tar.gz tar -zxvf openssl-1.0.0l.tar.gz
./config --prefix=/usr/local/openssl
make && make install


14、ncurses的安装

wget ftp://invisible-island.net/ncurses/ncurses-5.9.tar.gz tar -zxvf ncurses-5.9.tar.gz
cd ncurses-5.9
./configure --with-shared --without-debug --without-ada --enable-overwrite
make && make install


15、Nginx的安装

wget http://nginx.org/download/nginx-1.5.8.tar.gz groupadd www
useradd -g www www
tar -zxvf nginx-1.5.8.tar.gz
cd nginx-1.5.8
./configure --user=www --group=www --prefix=/usr/local/nginx --with-openssl=/lnmp/openssl-1.0.0l --with-http_stub_status_module --with-http_ssl_module
make && make install


16、MySQL的安装

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-linux-glibc2.5-i686.tar.gz groupadd mysql
useradd -r -g mysql mysql
tar -zxvf mysql-5.6.15-linux-glibc2.5-i686.tar.gz
cd /usr/local/
ln -s /lnmp/mysql-5.6.15-linux-glibc2.5-i686 mysql
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
cp support-files/mysql.server /etc/init.d/mysql.server
bin/mysqld_safe --user=mysql &


17、PHP的安装

wget http://museum.php.net/php5/php-5.5.6.tar.gz tar -zxvf php-5.5.6.tar.gz
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg9/ --with-freetype-dir=/usr/local/freetype/ --with-gd --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --enable-fpm --with-pdo-mysql=/usr/local/mysql/ --with-png-dir=/usr/local/libpng/
make && make install
cp php.ini-development /usr/local/php/etc/php.ini
/usr/local/php/sbin/php-fpm


注:php安装可能会出现相对较多的问题,比如说缺少相对应的库文件,先查看编译选项是否有加入,如果没有解决,重新装相对应的库,再者用yum install 相对应的库-devel。php5.3.3之后的版本都自带了php-fpm,所以只需要在编译选项加上--enable-fpm即可。

18、Nginx的配置

vi /usr/local/nginx/conf/nginx.conf
#第35行server下找到location / 修改为如下,root为根路径,index为默认解析
location / {
root  /var/www/html;
index  index.html index.htm index.php;
}
#修改fastcgi配置,在server下找到location ~ \.php$(第74行),并修改为如下
location ~ \.php$ {
root           /va/www/html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_sc        ript_name;
include        fastcgi_params;
}


19、Nginx、MySQL和PHP-fpm自启动

echo /usr/local/nginx/sbin/nginx >> /etc/rc.d/rc.local
echo /usr/local/php/sbin/php-fpm >> /etc/rc.d/rc.local
echo /usr/local/mysql/bin/mysqld_safe --user=mysql & >> /etc/rc.d/rc.local


20、启动Nginx,结果出现error loading,使用ldd分析

[root@wen sbin]# ldd $(which /usr/local/nginx/sbin/nginx)
linux-gate.so.1 =>  (0x00898000)
libpthread.so.0 => /lib/libpthread.so.0 (0x007d2000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x005d6000)
libpcre.so.1 => not found
libdl.so.2 => /lib/libdl.so.2 (0x007cb000)
libz.so.1 => /lib/libz.so.1 (0x00826000)
libc.so.6 => /lib/libc.so.6 (0x00632000)
/lib/ld-linux.so.2 (0x0060c000)
libfreebl3.so => /lib/libfreebl3.so (0x06e7b000)

#发现找不到libpcre.so.1,做个软链接即可

cd /usr/local/lib
ln -s libpcre.so.0.0.1 libpcre.so.1

#重启Nginx
/usr/local/nginx/sbin/nginx -s reload


21、测试

cd /var/www/html
vi index.php

<?php
echo phpinfo();
?>


浏览器中输入http;//localhost,正常输出,安装成功。

22、phpMyadmin的安装

wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.1.4/phpMyAdmin-4.1.4-all-languages.tar.gz/download tar zxvf phpMyAdmin-4.1.4-all-languages.tar.gz
cp -R phpMyAdmin-4.1.4-all-languages /var/www/html/phpMyadmin
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: