LinuxCast LNMP架构 nginx 视频教程笔记

LNMP架构:
用Nginx 代替 apache, 用php-fpm代替apache的mod_php模块

优点是静态网页处理性能超高,能做到10万并发,资源占用较低。 nginx使用epoll机制,apache使用select机制,后者比较落后。

安装nginx:
先卸载apache,下载nginx,解压,cd,./configure,make && make install
默认安装在 /usr/local/nginx
运行命令在sbin/下,配置文件在conf/下,主配置文件是nginx.conf
nginx默认的运行用户是nobody(apache的叫apache)

server{} 就是配置一个web服务器

查看进程
ps aux|grep nginx

查看端口
root@iZ23totlue9Z:~# netstat -tupln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      828/httpd       
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      735/vsftpd      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      31714/sshd      
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      23486/master    
tcp6       0      0 :::22                   :::*                    LISTEN      31714/sshd      
tcp6       0      0 :::25                   :::*                    LISTEN      23486/master    
udp        0      0 115.29.249.189:123      0.0.0.0:*                           26753/ntpd      
udp        0      0 10.162.67.250:123       0.0.0.0:*                           26753/ntpd      
udp        0      0 127.0.0.1:123           0.0.0.0:*                           26753/ntpd      
udp        0      0 0.0.0.0:123             0.0.0.0:*                           26753/ntpd      
udp6       0      0 :::123                  :::*                                26753/ntpd      

安装php-fpm
到php官网下载php源码, ./configure的时候就加上--enable-fpm(?)。 在php安装目录的sbin/下有一个php-fpm文件,在etc/下有一个php-fpm.conf.default文件。

把源码包里的php.ini-devlelopment 或 php.ini.production复制到这个etc/目录下,并且把php-fpm.conf.default重命名为php-fpm.conf

php-fpm默认以服务形式监听127.0.0.1:9000端口,所以只要把nginx的请求打到9000端口即可, 执行 php-fpm 即可。

查看php-fpm进程
ps aux|grep php

查看php-fpm端口
netstat -tupln

配置nginx以支持php
编辑 nginx.conf, 里面有被注释掉的 location ~ \.php$ {} 代码, 修改一下即可,比如默认目录、端口号(fastcgi_pass 就是指向php-fpm的端口号)、 fastcgi_param 改成网站根目录路径

killall nginx
执行 nginx, 启动

然后就弄个phpinfo()看下

同样可以使用ab来做压力测试,然后继续安装eAccelerator等等。

优化php-fpm
请求突然增加时,php-fpm进程数会自动增加以处理请求(就像apache的httpd进程一样,只不过这里是php-fpm来管理php进程,而不是apache自己的mod_php模块)。
编辑php-fpm.conf, 修改 pm.max_children , pm_max_spare_servers , pm_start_servers 等等


你可能感兴趣的:(LinuxCast LNMP架构 nginx 视频教程笔记)