Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。
Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻等门户网站频道,六间房、等视频分享网站,Discuz!官方论坛、水木社区 等知名论坛,豆瓣、YUPOO相册、海内SNS、迅雷在线等新兴Web 2.0网站。
现在就就来学习在freebsd7.0中安装及配置nginx,这里只是把apache换成nginx,其他php等都不变:
一、安装nginx 0.6.33
freebsd上有2个,一个0.6.33(这里查询显示nginx-0.6.32_1)是稳定版,0.7.21是最新的开发版,所以这里安装0.6.33。
接着出来“make config”的菜单,选择需要的组件即可:
tab到OK,开始安装。
安装完后,配置目录位于/usr/local/etc/nginx内,这个是freebsd的规则了,闭着眼睛都知道。主配置文件就是nginx.conf。
由于前面已经安装了php这些,这里就不用安装了,只要把php配置到nginx上就可以了。为了测试,我也把apache先停了,以免冲突。
nginx目前还不能直接支持php,必须先借助于fastcgi来驱动php。现在fastcgi较好的办法有2种,一个是spawn-fcgi,另外一个就是php-fpm,一般来说可能php-fpm更强大一点,但是spawn-fcgi也有相当数量的人在使用,所以就看自己习惯了。所以我2个都做了一遍。
二、使用spawn-fcgi支持php
▼首先需要安装lighttpd,以取得spawn-cgi
▼编辑nginx.con文件:
▼现在用spawn-fcgi启动php-cgi进程:
“-C 3”就是启动3个php-cgi进程吧,但是好像实际会多1,2个。
▼然后启动nginx即可:
三、使用php-fpm支持php
▼先下载php-fpm插件,然后解压到/usr/ports/lang目录。然后就可以使用ports来安装它了。
然后会出现“make config”的界面,选择需要的组件即可:
然后tab到OK开始安装。
【注意:】如果编译出错,提示"cannot install: unknown AUTOCONF version: 261."
则需要编辑/usr/ports/lang/php5-fpm/中的Makefile文件,设置你系统正确的autoconf版本。
先使用“pkg_info | grep autoconf”命令查看系统的autoconf的版本,比如我的是autoconf 2.62,则把"USE_AUTOTOOLS= autoconf:261"修改为"USE_AUTOTOOLS= autoconf:262"即可。
▼然后复制一下php-fpm的配置文件:
编辑php-pfm.conf文件,让php-cgi以www用户启动(与nginx一样):
小提示:记得/usr/local/etc/nginx/nginx.con文件的配置跟上面spawn-fcgi方式的一样,这里就不再说了。
然后就可以启动php-fpm和nginxl了:
测试一下服务器,可以访问就大功告成了。
四、让nginx自动启动
如果让nginx开始自动启动在/etc/rc.conf中加入nginx_enable="YES"。
如果使用php-fpm则需要在/etc/rc.conf中加入php_fpm_enable="YES"。
PS: FreeBSD 有了自己的 spawn-fcgi,在 /usr/ports/www/spawn-fcgi 下面,在安装 nginx 不需要显式地借用 lighttpd 的了.
可用参数的默认参数如下