一:Nginx是什么?
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。使用Nginx的网站有 Github,Ted,Instagram,Zappos,百度,新浪,网易等。Nginx之因此受欢迎的缘由是由于它具备高并发,高性能,结构健壮,低 CPU内存消耗的特色,在反代理方面,能有效控制访问,热部署,可扩展性强。
二:Nginx和Apache比较
Nginx一开始做为Apache高并发性能的补充,随着Nginx的发展,逐渐取代了Nginx+Apache,Nginx能够独立运用于网站服务。
1:Nginx和Apache都是HTTP服务器软件,都采用模块化设计结构,支持大部分语言接口(C,PHP,Python),支持正向代理和反向代理,支持虚拟主机和ssl加密传输,多平台支持。
2:相较于Apache,Nginx是一个轻量级的软件,运行时cpu内存使用率低,支持多核操做,支持热部署,能够在不间断服务的同时对软件和文件配置进行升级,负载均衡,容错机制完备。
3:Nginx动态请求不如Apache,更普遍的使用在Linux和Unix上。
三:Nginx的工做原理
Nginx是由内核和许多模块组成的。内核主要启动网络协议,建立运行环境,接收处理客户端请求,进行模块间的交互。模块主要实现各类功能和操做。核心模 块:HTTP模块,EVENT模块,MAIL模块;基础模块:HTTP Acess模块,HTTP Proxy模块和HTTP Rewrite模块;第三方模块:HTTP Upstream Request Hash模块,Notice模块以及本身开发的模块。
ssl功能须要openss库,gzip功能须要zlib库,rewrite须要pcre库。
四:Nginx经常使用架构
一、LNMP(Linux+Nginx+Mysql+Php)
二、LNAMP(Linux+Nginx+Apache+Mysql+Php)
省略Linux安装步骤,在Linux中,能够使用 $sudo apt-get install nginx或$sudo apt-get update来安装Nginx。
安装完后使用 $sudo /etc/init.d/nginx start进行测试。启动完毕后,打开浏览器,访问http://localhost 你会看到Nginx的欢迎界面,能够刷新确认一下。重启命令$sudo /etc/init.d/nginx restart。
五:配置Nginx运行环境
$sudo vim /etc/nginx/sites-available/default 在vim中配置重要的local ~ .php${},配置完后使用 $sudo service nginx reload重载配置文件。
安装Mysql:$sudo apt-get install mysql-server mysql-client 修改配置文件:$sudo vim /etc/mysql/my.cnf
安装PHP: $sudo apt-get install php5-fpm 连同上面安装的Nginx一块儿测试
$sudo vim /usr/share/nginx/html/phpinfo.php 启动php5 fpm服务 $sudo service php5-fpm start
访问http://localhost/phpinfo.php
须要各个功能协调合做,要继续修改各个模块配置文件
php