之前写的一个 yii2 应用一直跑在 apache2 上,最近做压测发现 apache2 的并发处理能力的确差了点,于是想到将应用转移到 nginx 上,以下记录整个迁移过程。
安装 nginx
由于本人用的是 ubuntu16.04 ,只要使用以下命令就能快速安装 nginx 了。
sudo apt-get install nginx -y
由于之前本机安装了 apache2,如果在安装的时候报了一大堆错误,那么很有可能是在运行的 apache2 影响到了安装过程,此时需要先停止 apache2 ,可通过以下命令。
sudo service apache2 stop
nginx 成功安装后,相关的配置目录在 /etc/nginx 。可以通过以下命令来启动 nginx
sudo /etc/init.d/nginx start
此时访问本地 80 端口即可看到 nginx 欢迎页面。
php7.0-fpm 与 nginx
nginx 与 php-fpm 通信有两种方式,一种是通过 TCP,另外一种是 unix socket 。据说两者在一般情况下没有太大差异,但是在高并发情况下,unix socket 方式性能要优异一些。而且,php7.0-fpm 默认使用 unix socket 方式监听请求,这一点可以查看 /etc/php/7.0/pool.d/www.conf 来求证。截取的部分内容如下