码农日记原创,转载请注明出处并给出原文链接!http://www.androiddev.net/webserver-apache-to-nginx/
我的网站在阿里云服务器上, 1G内存的配置,但用了一段时间,感觉Apache有些撑不出,想了想,还是换到目前最热门的Nginx吧。 这里把整个过程记录下来,与大家共享。
Nginx简介:
Nginx是一个高性能的HTTP服务器和反向代理服务器, 最大的优点是节省资源,适用于处理高并发的请求。
1. Nginx最初是按照反向代理设计的,和Apache不同,Nginx关心如何处理url,而不是文件!
2. Apache 是个基于进程处理的web服务器,如果同时有多个请求,必须要启动多个进程来处理。 这样在高负载的情况下,资源的消耗和响应的速度都会有很大的问题。 而Nginx是个基于事件(event)的异步处理模式, 下面是Nginx的一个简单的示意图,有一个Master进程,Maste进程负责系统配置,管理socket,以及管理一个或是多个Worker进程。 而Worker进程接收和处理来自用户(浏览器)的请求。一般来讲,一个worker进程可以同时处理上千个用户的连接请求。每个worker进程采用异步的,基于event的方式来处理用户的请求。对于HTML的静态页面,Nginx会自行来处理,但对于PHP,JSP,Python等动态页面,Nginx是通过FastCGI(或者SCGI,UWSGI)来把动态页面的请求交给相应的处理程序来处理。
安装Nginx
需要注意的是,在CentOS的YUM的基础的容器中,并没有Nginx和PHP-fpm的RPM包。这两个RMP包在epel的容器中, 虽然你可以从官网下载RPM包来安装,但我个人建议,如果你的CentOS/Redhat中没有加入YUM的epel容器,还是先把这个yum容器加上去比较好,以后可以省无数的折腾。epel具体的安装方法,我在Redhat/CentOS 软件安装之RPM和YUM这篇文章中有介绍。
yum的容器库中加入了epel容器后,在CentOS上安装Nginx就非常简单,运行下面的命令就可以了。
1 |
yum install Nginx |
安装玩以后,会发现Nginx的配置文件放在 /etc/Nginx目录下, 一般在缺省的情况下,web的root目录会在/usr/share/ngxin/html中。
安装完Nginx以后,我们要测试一下是否安装成功了.
如果之前已经安装过Apache的话,先要把Apache的服务停掉。
chkconfig httpd off #开机重启后,apache服务不再启动 |