Ubuntu 11.04 安装nginx + fpm + php-cgi +mysql

这几年的项目全用Apache开发的,主要是对Windows+Linux+WAMP+NavicatMySql产生了严重依赖。所有项目均是Windows开发,Linux运行,开发环境效率高。

这段时间公司里的几个项目感觉速度忒慢,果断开始迷信LNMP了。于是开始了Nginx环境编译的各种纠结。我和公司的其它同事不一样,不喜欢把时间花在环境的折腾上,哈哈。

不过好在Ubuntu下安装PHP环境也越来越简单了,一条命令就可以完成整个过程的安装,比较适合像我这类喜欢CentOS YUM命令的同学。

本文折腾期间经过几个修改,哈哈,最终折腾出一个PHP5.3.5+Nginx1.0+FPM+eAcc+Mysql+ZendGuard Loader的环境。

  • 安装nginx

运行:
[shell]sudo apt-get install nginx[/shell]
Ubuntu安装之后的文件结构大致为:

* 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下
* 程序文件在/usr/sbin/nginx
* 日志放在了/var/log/nginx中
* 并已经在/etc/init.d/下创建了启动脚本nginx
* 默认的虚拟主机的目录设置在了/var/www/nginx-default

下面可以启动nginx来看看效果(请确保80端口没有其他服务在使用):
Ubuntu请运行:
[shell]sudo /etc/init.d/nginx start[/shell]
然后打开浏览器,查看http://localhost/ 看看是否看到了“Welcome to nginx!” 如果看到了,说明安装成功。

  • 安装php

这里使用的是php5,安装以后的PHP版本是PHP5.3,对PHP版本有需求的同学可以搜索一下其它的安装方法。运行:
[shell]sudo apt-get install php5 php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-sqlite php5-xsl[/shell]

  • 安装fpm

运行
[shell]sudo apt-get install php5-fpm[/shell]

  • 接下来可以修改fpm的配置信息,进行一些优化,我对这类配置还不精通,就不写些误人子弟的步骤了,我做的就是直接重启,看一下安装是否ok。

[shell]sudo /etc/init.d/php5-fpm restart[/shell]
接口在nginx中启用cgi代理
[shell]# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}[/shell]

这时,一个标准的虚拟主机配置文件就完成了。
[shell]
server{
listen *:80;

server_name www.abc.com;
index index.html index.php index.htm;
root /wwwroot/www.abc.com;

location ~.*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
[/shell]

  • 接下来重启nginx,即可完成Nginx+PHP+fcgi的配置

[shell]nginx -s reload[/shell]

  • 接着安装Mysql,也是很简单的命令

[shell]sudo apt-get install mysql-server mysql-client[/shell]

  • 有时候我也会顺带着安装一个phpmyadmin,这个过程可以帮助安装一些PHP程序必须的依赖包,十分方便

[shell]sudo apt-get install phpmyadmin[/shell]