前言
对于Nginx,一个IP上配置多个站点还是很常见的。尤其是在开发环境上,更是如此。
下面在我的阿里云上简单的实现这样一个需求:
在一个IP上通过对端口区分来配置多个站点。
环境初始化目录一览配置站点准备添加配置文件疑难杂项fastcgi_passNginxphp-fpm的进程间通信有两种方式总结
环境
手头上正好有一台阿里云学生机,趁着没过期,就拿来用吧。
操作系统:centOS7 php-fpm Nginx初始化
在centos上搭建php-fpm+nginx环境不是很难,网上有很多的帖子,按照上面讲解的,把需要安装的软件安装一下就行了。
目录一览
安装完毕后,配置文件通常会在/etc/nginx目录下,我这边的内容如下:
里面的nginx.conf就是默认的配置文件了。下面简单的来看下里面的大致内容。
一般来说,除非有特别需求,我们不会修改nginx.conf文件里面的内容。现在的话,可以把这个文件当做我们的参考项。
我个人认为里面比较重要的配置项有这么几个:
http:这个节点就代表了一个Nginx,是我们的大总管。它内部可以有多个Server配置项,代表多个站点。 include /etc/nginx/conf.d/*.conf; 这一行虽然看起来不起眼,但是对于配置多个站点而言,及极其的重要。这点待会再讲。 log_format: 日志的格式,这点将体现在Nginx日志记录的动作上。 access.log: 在这个选项的第一个单词是main,就是刚才log_format定义的日志格式了。后面对于error.log 同样适用。 Server节点:一个Server节点,包含了对一个站点的配置,这里面的同名内容将会覆盖http节点的配置,所以优先级对于一个站点而言,相对更高一点。 include /etc/nginx/default.d/*.conf 不难看到这个配置出现在Server节点内部,所以还是对本站点配置起作用的。这个default.d目录存放的是对于所有Server节点通用性的功能,其存在的意义就是能让我们少写一些重复性的配置内容。而是抽取出来,放到一个通用的目录下。 location的内容,待会再讲。配置
下面进入正题,看看如何在一个IP上配置多个站点。那么首先,我们需要先创建几个文件夹,然后作为我们的多个站点。
站点准备
在home/www目录下创建两个文件夹,一个是blog一个是forum,然后里面分别放一个index.php,注意内容可以良好的区分就可以了。
添加配置文件
刚才我们也了解到,有多个站点的话其实就是多个Server节点,在nginx.conf中通过