Nginx是一款近些年来日益流行的高性能的HTTP和反向代理服务器, 如果你需要在ec2上做web服务,需要到安全组的入站设置内允许80端口通讯。

首先需要安装FastCGI

Nginx完全是轻量级的,必须借助第三方的FastCGI处理器才可以对PHP进行解析,因此其实这样看来Nginx是非常灵活的,它可以和任何第三方提供解析的处理器实现连接从而实现对PHP的解析(在nginx.conf中很容易设置)。

Nginx可以使用spwan-fcgi。在早期版本中需要安装lighttpd,但是在9.10版本以后直接安装spawn-fcgi就可以。

安装spwan-fcgi可以用ubuntu自带的apt-get来安装

sudo apt-get install spawn-fcgi

安装与启动nginx

同样道理安装nginx也可以用apt-get来进行安装

sudo apt-get install nginx

按照此方式安装后,nginx的各个文件位置大概如下

配置文件目录: /etc/nginx

每个虚拟主机的配置文件的目录: /etc/nginx/sites-available

启动程序文件: /usr/sbin/nginx

日志文件(access.log 和 error.log): /var/log/nginx

启动脚本: /etc/init.d/nginx

虚拟主机默认目录: /usr/share/nginx/www

安装完成后即可通过启动脚本控制nginx开关

启动: sudo /etc/init.d/nginx start

停止: sudo /etc/init.d/nginx stop

重启: sudo /etc/init.d/nginx restart

安装PHP、MySQL并配置PHP使之正常运行

继续使用apt-get安装php、mysql和中间件等组件

sudo apt-get install php5-cli php5-cgi mysql-server php5-mysql

然后定位到nginx的虚拟主机配置目录,编辑default这个文件(记得开sudo),然后找如下代码

location ~ \.php$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

 

#       # With php5-cgi alone:

#       fastcgi_pass 127.0.0.1:9000;

#       # With php5-fpm:

#       fastcgi_pass unix:/var/run/php5-fpm.sock;

#       fastcgi_index index.php;

#       include fastcgi_params;

}

请注意,如果这步配置错误或者没有配置就会出现访问php脚本时浏览器弹出下载的问题,去掉# With php5-fpm下面三行代码的注释并保存,然后重启nginx

终端输入:

sudo /etc/init.d/nginx restart

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 /usr/bin/php-cgi

全部工作完成可以通过http://localhost访问网站 http://localhost/phpmyadmin访问数据库。