• LNMP架构简介
    LNMP就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
    Nginx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到不间断运行,即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。

  • 部署LNMP
    安装nginx
    之前的文章中写过Nginx详细配置方法
    地址:http://blog.51cto.com/13630803/2128888

* 安装mysql

    # tar xzvf mysql-5.5.24.tar.gz -C /opt
    # cd /opt/mysql-5.5.24
    编译&&编译安装

    # cmake  \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_EXTRA_CHARSETS=all \
    -DSYSCONFDIR=/etc \
    -DMYSQL_DATADIR=/home/mysql/ \
    -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_SSL=system \
    -DMYSQL_TCP_PORT=3306 \
    -DENABLE_DOWNLOADS=1 \
    -DWITH_SSL=bundled

    # make && make install    

复制/opt/mysql-5.5.24/support-files 目录下的 my-medium.cnf 保存到/etc 命名 my.cnf
复制/opt/mysql-5.5.24/support-files 目录下的 my.server 保存到/etc/init.d 命名 mysqld
设置 /etc/init.d/mysql 文件的权限
添加mysqld 服务并开启 3 5 的开机自启动

# cp support-files/my-medium.cnf /etc/my.cnf
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld       
# chkconfig --add mysqld
# chkconfig --level 35 mysqld on 

定义环境变量

# echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile
# . /etc/profile 

创建一个mysql用户 禁止shell登录
设置/usr/local/mysql 的属主为mysql

# useradd -s /sbin/nologin mysql
# chown -R mysql.mysql /usr/local/mysql

初始化数据库

# /usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql 

# ln -s /var/lib/mysql/mysql.sock  /home/mysql/mysql.sock
# vi /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/home/mysql
# service mysqld start
  • 安装配置PHP
    首先安装GD库及GD库关联程序

    # yum -y install \
    gd \
    libxml2-devel \
    libjpeg-devel \
    libpng-devel \
    zlib-devel \
    fontconfig-devel \
    openssl-devel \
    bzip2-devel

解压缩安装包

    # tar xjvf /opt/lamp/php-5.4.5.tar.bz2 -C /opt
    # cd /opt/php-5.4.5

 # ./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring \
--with-jpeg-dir \
--with-openssl \
--disable-ipv6 \
--enable-fpm

安装编译安装

# make && make install

优化调整PHP

# cp php.ini-development /usr/local/php5/php.ini
# ln -s /usr/local/php5/bin/* /usr/local/bin/
# ln -s /usr/local/php5/sbin/* /usr/local/sbin/

为PHP安装加速器

# tar xzvf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /opt
# cd ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x
# cp ZendGuardLoader.so /usr/local/php5/lib/php

配置PHP识别加速器

# vi /usr/local/php5/php.ini
[Zend Guard Loader]
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

LNMP架构部署

开启nginx的PHP支持

# cd /usr/local/php5/etc/
# cp  php-fpm.conf.default php-fpm.conf
# useradd -M -s /sbin/nologin php
# vi php-fpm.conf     //修改参数
pid = run/php-fpm.pid
user = php
group = php
pm.max_children=50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35

# /usr/local/sbin/php-fpm    //启用该模块
# netstat -tnal | grep 9000    //查看

# vi /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
        root           /var/www/bt;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        include        fastcgi.conf;
    }

LNMP架构部署

  • 测试下LNMP架构

    # vi /var/www/bt/index.php
    <?php
    phpinfo();
    ?>
    
     在网页测试输入“http://192.168.100.102/index.php”

    LNMP架构部署