LNMP架构介绍、MySQL安装、PHP安装、Nginx介绍
LNMP架構介紹
????LNMP:linux+nginx+mysql+php的架構;php的動態處理交給php-fpm(127.0.0.1:9000),靜態處理直接由nginx處理
工作模式:
1、在lamp中php作為獨立的服務(php-fpm)存在
2、nginx支持高并發,動態請求轉給php-fpm
MySQL安裝
請查看:http://jacksoner.blog.51cto.com/5802843/1979858
PHP安裝(php-fpm)
1、[root@centos7 package]# wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
2、[root@centos7 package]# tar zxf php-5.6.30.tar.gz
[root@centos7 package]# useradd -s /sbin/nologin php-fpm
[root@centos7 php-5.6.30]# yum install? -y? gcc gcc-c++ libxml2-devel openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype libmcrypt-devel
[root@centos7 package]# cd php-5.6.30
[root@centos7 php-5.6.30]# make clean
[root@centos7 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
[root@centos7 php-5.6.30]# make && make install
[root@centos7 php-5.6.30]# echo $?
0
[root@centos7 php-5.6.30]# cp php.ini-production /usr/local/php-fpm/etc/php.ini
[root@centos7 php-5.6.30]# vi /usr/local/php-fpm/etc/php-fpm.conf
[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 = 127.0.0.1:9000
listen.mode = 666 ##當監聽的為socket文件時該部分才生效,用于指定.sock文件的權限
user = php-fpm
group = php-fpm? ##定義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? ?#進程相關
檢查語法
[root@centos7 php-5.6.30]# /usr/local/php-fpm/sbin/php-fpm -t
啟動:
[root@centos7 php-5.6.30]# chmod 755 /etc/init.d/php-fpm
[root@centos7 php-5.6.30]#? chkconfig --add php-fpm
[root@centos7 php-5.6.30]#? chkconfig php-fpm on
[root@centos7 php-5.6.30]# service php-fpm start
Starting php-fpm? done
[root@centos7 php-5.6.30]# ps aux| grep php-fpm
Nginx介紹
Nginx應用場景:web服務、反向代理、負載均衡
Nginx著名分支,淘寶基于Nginx開發的Tengine,使用上和Nginx一致,服務名,配置文件名都一樣,和Nginx的最大區別在于Tenging增加了一些定制化模塊,在安全限速方面表現突出,另外它支持對js,css合并
Nginx對比apache的優點:
1、輕量級,同樣起web 服務,比apache 占用更少的內存及資源
2、靜態處理,Nginx 靜態處理性能比 Apache 高 3倍以上
3、抗并發,nginx 處理請求是異步非阻塞的,而apache則是阻塞型的,在高并發下nginx 能保持低資源低消耗高性能。在Apache+PHP(prefork)模式下,如果PHP處理慢或者前端壓力很大的情況下,很容易出現Apache進程數飆升,從而拒絕服務的現象。
4、高度模塊化的設計,編寫模塊相對簡單
5、社區活躍,各種高性能模塊出品迅速啊
apache對比nginx的優點
1、rewrite,比nginx 的rewrite 強大
2、模塊超多,基本想到的都可以找到
3、少bug,nginx的bug相對較多
4、超穩定
5、Apache對PHP支持比較簡單,Nginx需要配合其他后端用
選擇Nginx的優勢所在
作為Web服務器: Nginx處理靜態文件、索引文件,自動索引的效率非常高。
作為代理服務器,Nginx可以實現無緩存的反向代理加速,提高網站運行速度。
作為負載均衡服務器,Nginx既可以在內部直接支持Rails和PHP,也可以支持HTTP代理服務器對外進行服務,同時還支持簡單的容錯和利用算法進行負載均衡。
在性能方面,Nginx是專門為性能優化而開發的,在實現上非常注重效率。它采用內核Poll模型(epoll and kqueue ),可以支持更多的并發連接,最大可以支持對50 000個并發連接數的響應,而且只占用很低的內存資源。
在穩定性方面,Nginx采取了分階段資源分配技術,使得CPU與內存的占用率非常低。Nginx官方表示,Nginx保持10 000個沒有活動的連接,而這些連接只占用2.5MB內存,因此,類似DOS這樣的攻擊對Nginx來說基本上是沒有任何作用的。
在高可用性方面,Nginx支持熱部署,啟動速度特別迅速,因此可以在不間斷服務的情況下,對軟件版本或者配置進行升級,即使運行數月也無需重新啟動,幾乎可以做到7×24小時不間斷地運行。
同時使用Nginx和Apache
由于Nginx和Apache各自的優勢,現在很多人選擇了讓兩者在服務器中共存。在服務器端讓Nginx在前,Apache在后。由Nginx做負載均衡和反向代理,并且處理靜態文件,講動態請求(如PHP應用)交給Apache去處理。
本文轉自方向對了,就不怕路遠了!51CTO博客,原文鏈接:http://blog.51cto.com/jacksoner/1981734?,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的LNMP架构介绍、MySQL安装、PHP安装、Nginx介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LVS的四种模式和十种调度算法简介
- 下一篇: QCwindows server 200