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访问数据库。