添加配置文件
刚才我们也了解到,有多个站点的话其实就是多个Server节点,在nginx.conf中通过include /etc/nginx/conf.d/*.conf来引入到了http节点,所以我们只需要在/etc/nginx/conf.d/目录下创建我们特定于某个站点所需要的配置文件就可以了。
注意: 注意后缀名为.conf,不然按照include的规则,无法正确引入相关的配置文件。
你也可以像我这么做,如下:

左侧的fastcgi_param SCRIPT_FILENAME 写错了,应该是$document_root,图片上没改过来,这点明确一下就可以了。
添加完配置文件之后就可以,重启Nginx了。在CentOS上重启的命令如下:
systemctl restart nginx
如果你的是Debian系的Linux的话,也可以使用:
service nginx restart
这时,可以通过浏览器访问,看看我们的配置项到底成功了没有。

这样就成功的在一个IP上通过端口不同,配置了多个站点了。
疑难杂项
一开始刚刚接触Nginx的时候,对这个配置文件实在是摸不着头脑。那个时候,在我的印象中,php+apache才是黄金组合,没想到随着接触Nginx的时间变长,php-fpm+nginx的组合让我大开眼界。
在配置的道路上,总会有那么几个问题,一直困扰着我,下面我就总结一下,我个人认为的比较重要的问题吧。
fastcgi_pass
在Server节点的location内部,有这么一个配置项。很是让人摸不着头脑
location ~ .php$ {
root /home/wwwroot;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
#fastcgi_pass unix:/tmp/php-cgi.sock;
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
从上面的配置文件中,我们也看到了好多个对它的不同的配置,那么到底该怎么选择呢?
在网上我找到了这么一条回答,感觉人家讲的挺好的。有兴趣的可以看看下面这篇文章。https://segmentfault.com/q/1010000004854045
总结来讲,有这么几点内容:
Nginx+php-fpm的进程间通信有两种方式
一个是TCP,另一个是Unix Domain Socket。
TCP: 格式为IP:端口, 可以跨服务器。 Unix Domain Socket不经过网络,只能用于Nginx跟PHP-FPM都在同一个服务器上的场景。那么,对我们来说,要怎么选择呢? 答案是取决于php-fpm的配置。有下面两种方式:
方式一:
php-fpm.conf: listen = 127.0.0.1:9000 nginx.conf:fastcgi_pass 127.0.0.1:9000








