将Apache换成Nginx

其实Web驱动用哪个,哥觉得对哥这种小小的个人博客来说是无所谓的.

因为即便Nginx的极限性能强过同环境下的Apache,但你一个博客的访问量每秒最高还能超过1k/qps?日访问能上10W的PV? 基本达到了,对于再垃圾的Web驱动,这么点压力也是洒洒水.

但是本着誓死折腾的信念,对于新技术的爱好/追求/包容,哥决定玩玩.

由于Nginx已经早早的进入yum的源里了.因此只需要使用命令yum install -y nginx即可轻松安装Nginx了,没必要自己编译了.

接着关闭Apache服务service stop httpd.然后编辑Nginx的配置文件,这里需要注意的是,Nginx的配置文件存在三个地方:
/etc/nginx/nginx.conf 这个配置通常不需要改动,里面配置一些全局通用的参数.
/etc/nginx/conf.d/*.conf 一些全站相关的配置也可以放这里.
/etc/nginx/sites-enabled/* 这儿放每个站点的配置,也就是虚拟主机了.

哥只有一个站点,那么只需改/etcnginx/conf.d目录下文件即可.

server {
    listen      80; #绑定监听端口
    server_name goddick.com www.goddick.com; #站点名称

    root        /var/www/; #站点根路径
    index       index.html index.htm index.php; #默认页面

    error_log   /var/log/nginx/error.log warn; #错误日志的存放路径 以及日志等级
    access_log  /var/log/nginx/access.log main; #访问日志的存放路径 以及日志等级

    location = /robots.txt { # 这个是给搜索引擎访问用的.
        allow all;
        log_not_found off;
        access_log off;
    }

    location / {
        try_files uriuri/ /index.php?args;
    }

    location ~ \.php {
        #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/fastcgi_script_name;
        include        fastcgi_params;
        fastcgi_intercept_errors on;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico) {
            expires max;
            log_not_found off;
    }

    #location ~ /\.exe {
    #    deny all;
    #}
}

由于PHP 5已经早早安装过了,因此它无需做什么特殊的改动,只需按照注释中的意思,将/etc/php5/fpm/下的配置文件中填上cgi.fix_pathinfo = 0即可.

然后启动Nginxservice start nginx,访问网站即可.如果页面出错,看看日志里是什么.

最后用chkconfig命令将Nginx设置为开机启动,然后卸载Apacheyum remove httpd.

搞完这个,哥感觉Nginx的配置确实比Apache服务要简单明了的多.