实战在Ubuntu上配置Nginx+PHP+MySQL环境

原创
2016-06-20 12:36:32 627浏览

Nginx是一款近些年来日益流行的 高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器 ,他的发音是"Engine X"

(怪不得我感觉之前读的那么别扭,原来读的不对。。)

,今天刚好又拿到一个ec2配额,在ubuntu上尝试了一下部署这套环境

对ec2配置的提示 如果你需要在ec2上做web服务,记得到安全组的入站设置内允许80端口通讯

1.安装FastCGI

FastCGI是负责Nginx解析php的一个模块,有关FastCGI的介绍请看下文,下文引自 博客园 - Ubuntu中Nginx的安装与配置

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  

2.安装与启动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

3.安装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  

然后定位到你的虚机主机默认目录,写一个简单的php脚本保存下,比如

然后到浏览器里访问这个脚本,如果一切正常就算成功了

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。