当前位置 主页 > 服务器问题 > nginx问题汇总 >

    Nginx一个IP如何配置多个站点的方法教程

    栏目:nginx问题汇总 时间:2018-09-17 16:48

    这篇文章主要给大家介绍了关于Nginx一个IP如何配置多个站点的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    前言

    对于Nginx,一个IP上配置多个站点还是很常见的。尤其是在开发环境上,更是如此。

    下面在我的阿里云上简单的实现这样一个需求:

    在一个IP上通过对端口区分来配置多个站点。

    环境初始化目录一览配置站点准备添加配置文件疑难杂项fastcgi_passNginxphp-fpm的进程间通信有两种方式总结

    环境

    手头上正好有一台阿里云学生机,趁着没过期,就拿来用吧。

    操作系统:centOS7 php-fpm Nginx

    初始化

    在centos上搭建php-fpm+nginx环境不是很难,网上有很多的帖子,按照上面讲解的,把需要安装的软件安装一下就行了。

    目录一览

    安装完毕后,配置文件通常会在/etc/nginx目录下,我这边的内容如下:

    默认安装配置文件内容

    里面的nginx.conf就是默认的配置文件了。下面简单的来看下里面的大致内容。

    默认Nginx的配置文件

    一般来说,除非有特别需求,我们不会修改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中通过