centos系统apache换nginx方法

Home / Article MrLee 2016-11-19 4386

一直听说nginx很强大,昨天折腾半天,虽然最后是成功了,但是还未完美!存在一些问题,如GD图片库没开启。现在总结一下之前的错误和正确的做法!
回顾:
昨天开始安装nginx,这个web服务器安装直接是采用下载源码编译的方式,然后下载了php5.5源码编译。当时看文章操作,因为对这个php-fpm不是很理解。后来才知道是php的5.3之前的一人补丁程序。经过以上步骤就出现了以下问题。nginx,php配置好了之后,启动2个服务
sudo /usr/local/nginx/sbin/nginx
sudo /usr/local/php/sbin/php-fpm

然而我的wordpress并没有成功访问,提示数据库连接失败!看来原因很简单,就是php没有和mysql连上,这里我说的简单,其实也找了半天。根据经验就是因为php.ini里面的mysql的socket参数没有配置,因为在编译php的时候并没有指定mysql的位置,所以安装这个参数是没有的。然而把这个socket=/usr.../mysql.socket文件保存,重启php-fpm,重启nginx的时候提示.htaccess里面的规则错误,因为本站用了wp-supercache插件的第一个模式,自动增加了很多规则。然,我网上找了适用nginx的规则,
rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;
if (!-e $request_filename) {
rewrite ^.+?(/wp-.*) $1 last;
rewrite ^.+?(/.*\.php)$ $1 last;
rewrite ^ /index.php last;
}

这个nginx优点和apache需要rewrite模块,直接用。这里再提一点,这个.htaccess需要配置到nginx.conf下面,我没试不配置有没有用,但是看文章说要我还是配置了,没深究!

20161119161853


通过以上操作,网站终于可以正常访问了。不过结果我还是失望的,因为我换nginx是为了提高网站的访问速度,但是结果却比我之前的apache更慢了,我之前首页平均在0.3秒以内。现在平均0.5秒。原因:新编译的php版本未开启缓存,如opcache,如果开启速度还是要稍微比apache快点。

以上就是错误的做法!!!

下面开始说说正确的做法,首先,我标题说的是从apache换到nginx,那么其实我们只需要把web服务器换掉就行了,其它的不变,你会发现非常简单。
一,下载nginx源码(不知道我用yum -y install nginx安装之后启动我的网站流量就巨大,卡的不行。所以还是采用指定版本的源码编译)
步骤如下:
1、访问Nginx官方网站www.nginx.org,选择stable稳定版,这里我们选择1.6.2的版本

lnp0.png


2、用FTP或者ssh工具上传到网站的任意目录,解压,编译&安装
解压:
tar -vxf nginx-1.6.3.tar.gz
//解压完了进入
cd nginx-1.6.3
//检测配置
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
//配置如果失败的话,就是缺少对应的库,我的服务器因为安装了zlib,http一些库,所以我只安装了一个pcre,这里我还是把可能需要的库都贴出来,用yum命令安装非常方便
//安装支持库
yum -y install zlib zlib-devel pcre pcre-devel

到这里就可以再次执行
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx

如果没错误就可以编译安装了
make && make install

安装完了,用命令启动
sudo /usr/local/nginx/sbin/nginx 

启动的过程中,可能会失败。
nginx: [emerg] getpwnam("nginx") failed

如果提示这个就需要添加用户和组
groupadd nginx
useradd -g nginx nginx

 
然后再用上面的命令启动,成功之后,再看看端口是否开放netstat -tnlp

20161119163103

我这里已经是成功了。接下来就是配置php-fpm,我空间的阿里云的,安装的php5,但是没有开启php-fpm,所以这里需要手动开启,首先直接启动php-fpm
sudo /usr/local/php5/sbin/php-fpm

不出意外肯定是失败的,默认的用户和组是www,会提示ERROR: [pool www] cannot get uid for user 'httpd',这里只需要把配置改一下,如果没有php-fpm.conf文件的话,需要自己复制一份,一般在/etc下面有一个php-fpm.conf.default,复制命令
cp php-fpm.conf.default php-fpm.conf

然后把group和user改成nginx,然后重启php-fpm。到这里基本上就结束工作了。OK,最后把nginx.conf网站路径改一下,开启gzip,添加上面的include /web/wordpress/.htaccess就行了。网站就可以访问了!
根据这种方法修改的web服务器,首页访问速度果然控制在0.2秒左右。确实是快了!不过网上还有一个方法,出自老牛博客,把php代码分离出来,据说速度在0.0x秒级别!后面有空再试!

本文链接:https://www.it72.com/11219.htm

推荐阅读
最新回复 (2)
返回