1. 程式人生 > >LNMP架構部署

LNMP架構部署

arc home mark code oot soc 查看 linux系統 src

  • 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

    技術分享圖片

    開啟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架構

      # vi /var/www/bt/index.php
      <?php
      phpinfo();
      ?>
      
       在網頁測試輸入“http://192.168.100.102/index.php”

      技術分享圖片

    LNMP架構部署