LNMP架構介紹,MySQL安裝,PHP安裝,Nginx介紹

LNMP架構介紹

  • 和LAMP不一樣的是,提供web服務的是Nginx
  • 而且php是做爲一個獨立服務存在的,這個服務叫作php-fpm
  • Nginx直接處理靜態請求,動態請求會轉發給php-fpm

用戶數據與mysql的交互就是由php-fpm來作的,處理好以後告訴Nginx,而後經過Nginx告訴用戶的瀏覽器,Nginx在處理靜態數據的性能上要比Apache快不少php

MySQL安裝

  • cd /usr/local/src
  • wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
  • tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
  • mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
  • cd /usr/local/mysql
  • useradd mysql
  • mkdir /data/
  • ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
  • cp support-files/my-default.cnf /etc/my.cnf
  • cp support-files/mysql.server /etc/init.d/mysqld
  • vi /etc/init.d/mysqld

            定義basedir和datadircss

  • /etc/init.d/mysqld start

首先到/usr/local/src目錄下,cd /usr/local/srchtml

刪除MySQLmysql

下載MySQL安裝包linux

wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gznginx

解壓安裝包web

移動目錄並修更名字,進入到/usr/local/mysql目錄下sql

刪除mysql目錄,會自動建立mysql用戶和/data/目錄apache

初始化vim

過程當中是否出現兩個OK,而後echo $?檢查

拷貝配置文件cp support-files/my-default.cnf /etc/my.cnf

拷貝啓動腳本

編輯文件 vim /etc/init.d/mysqld,並修改以下

啓動mysql服務

查看mysql服務是否啓動成功

將mysqld加入到服務列表中去,設置開機啓動

PHP安裝

  • 和LAMP安裝PHP方法有差異,須要開啓php-fpm服務
  • cd /usr/local/src/
  • wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
  • tar zxf php-5.6.30.tar.gz
  • useradd -s /sbin/nologin php-fpm
  • cd php-5.6.30
  • ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl --with-openssl
  • make && make install
  • cp php.ini-production /usr/local/php-fpm/etc/php.ini
  • vi /usr/local/php/etc/php-fpm.conf
  • cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
  • chmod 755 /etc/init.d/php-fpm
  • chkconfig --add php-fpm
  • chkconfig php-fpm on
  • service php-fpm start
  • ps aux |grep php-fpm

LAMP架構和LNMP架構中安裝PHP方法是不一樣的,在LNMP裏,須要指定mysql的路徑,PHP是做爲一個獨立的服務,不須要依賴Nginx

切換到/usr/local/src/目錄下

添加用戶# useradd -s /sbin/nologin php-fpm

由於以前編譯過PHP,因此如今進入php-5.6.30源碼包,make clean將以前編譯過的文件刪掉

編譯參數

  • ./configure –prefix=/usr/local/php-fpm,指定路徑
  • --with-config-file-path=/usr/local/php-fpm/etc,指定配置文件所在路徑
  • --enable-fpm ,必須加上,不然沒法啓動該服務
  • --with-fpm-user=php-fpm,指定用戶
  • --with-fpm-group=php-fpm,指定組
  • --with-mysql=/usr/local/mysql,指定 mysql 的路徑
  • --with-mysqli=/usr/local/mysql/bin/mysql_config,指定 mysqli 的路徑
  • --with-pdo-mysql=/usr/local/mysql ,指定 pdo-mysql 的路徑

過程當中出現錯誤,缺乏curl(由於以前lamp安裝過大部分依賴庫,因此這次出現錯誤較少)

解決辦法

而後編譯和安裝

查看/usr/local/php-fpm/目錄,比/usr/local/php/目錄多了 sbin 和 var

添加配置文件(development 適合開發測試環境使用,production 適合生產環境使用,區別在於錯誤日誌不一樣)

切換到/usr/local/php-fpm/etc/目錄下,編輯配置文件vim php-fpm.conf

添加內容以下,保存退出

listen = /tmp/php-fcgi.sock,監聽的地址,也能夠寫成linsten = 127.0.0.1:9000,這裏不一樣,在後面配置Nginx和PHP結合時候,會告訴Nginx到哪裏找php的配置語句也是不一樣

listen.mode = 666,當監聽的爲socket文件時才生效,用於指定.sock文件的權限

拷貝啓動腳本

修改啓動腳本權限,添加服務,開機啓動

查看進程

Nginx介紹

  • Nginx官網 nginx.org,最新版1.13,最新穩定版1.12 (stable版本) ,由於對靜態文件的處理性能上比Apache強不少,因此在慢慢的取代Apache
  • Nginx應用場景:web服務、反向代理、負載均衡
  • Nginx著名分支,淘寶基於Nginx開發的Tengine,使用上和Nginx一致,服務名,配置文件名都同樣,和Nginx的最大區別在於Tenging增長了一些定製化模塊,在安全限速方面表現突出,另外它支持對js,css合併
  • Nginx核心+lua相關的組件和模塊組成了一個支持lua的高性能web容器openresty
  • Nginx雖然功能很少,但能夠去擴展一些第三方的模塊進來

擴展

Nginx爲何比Apache Httpd高效:原理篇

apache和nginx工做原理比較

mod_php 和 mod_fastcgi以及php-fpm的比較

概念瞭解:CGI,FastCGI,PHP-CGI與PHP-FPM 1

概念瞭解:CGI,FastCGI,PHP-CGI與PHP-FPM 2

相關文章
相關標籤/搜索