12.1 LNMP架構(gòu)介紹
12.2 MySQL安裝
12.3/12.4 PHP安裝
12.5 Nginx介紹
LNMP架構(gòu)介紹
LNMP和LAMP不同的是析藕,Nginx提供web服務。并且php是作為一個獨立服務存在的凳厢,進程名是php-fpm账胧。Nginx直接處理靜態(tài)請求竞慢,動態(tài)請求會轉(zhuǎn)發(fā)給php-fpm。
nginx的優(yōu)勢是處理靜態(tài)元素訪問請求治泥,比apache快很多梗顺。
mysql安裝
進入下載目錄
cd /usr/local/src
下載mysql5.6版本二進制包
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-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
創(chuàng)建數(shù)據(jù)目錄
mkdir /data/
安裝依賴 perl-Module-Install libaio
初始化mysql
./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和datadir
最后就可以/etc/init.d/mysqld start
啟動mysql了车摄。也可以用service mysqld start
安裝php
和LAMP安裝PHP方法有差別,需要開啟php-fpm服務仑鸥。lamp架構(gòu)php編譯為apache的一個模塊吮播,lnmp中php獨立于nginx。兩個架構(gòu)相同點在于php都與mysql通信眼俊,所以編譯時都要有相關(guān)參數(shù)意狠。
- 進入下載目錄
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
- 安裝依賴 libxml2-devel openssl-devel libcurl-devel libjpeg-turbo-devel libpng-devel freetype-devel libmcrypt-devel
- ./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
- 修改php-fpm配置文件
vi /usr/local/php-fpm/etc/php-fpm.conf
寫入如下內(nèi)容
[global]
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
- 配置啟動腳本
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疮胖。與apache類似环戈,nginx也有語法測試功能:nginx -t。
Nginx介紹
Nginx官網(wǎng) nginx.org澎灸,最新版1.15院塞,最新穩(wěn)定版1.14。nginx功能比較簡單性昭,但是可以擴展模塊拦止,比如https功能的支持。Nginx應用場景有web服務糜颠、反向代理汹族、負載均衡等等。代理一臺服務器是反向代理其兴,多臺服務器就是負載均衡顶瞒。
Nginx著名分支,淘寶基于Nginx開發(fā)的Tengine元旬,使用上和Nginx一致榴徐,服務名,配置文件名都一樣法绵,和Nginx的最大區(qū)別在于Tenging增加了一些定制化模塊箕速,在安全限速方面表現(xiàn)突出,另外它支持對js朋譬,css合并盐茎。
Nginx核心+lua相關(guān)的組件和模塊組成了一個支持lua的高性能web容器openresty,參考http://jinnianshilongnian.iteye.com/blog/2280928 徙赢。