nginx配置多个虚拟主机vhost的方法示例

在nginx下配置虚拟主机vhost非常方便。主要在nginx的配置文件nginx.conf中添加一个server即可

比如我想配置两个虚拟主机,通过域名linux.com和linux2.com访问,分别对应的目录是/usr/htdocs/linux 和/usr/htdocs/linux2 (这个目录下是放你开发项目文件哦)

因为我安装的本地虚拟机,所以我先在hosts文件中添加两个重定向:

192.168.20.250 linux.com //192.168.20.250是我虚拟机的ip,用的桥接方式

192.168.20.250 linux2.com

开始配置啦:以配置linux.com为例,配置多个虚拟主机是一模一样的过程。

1、找到nginx的配置文件nginx.conf

一般在nginx的安装路径下的conf文件中

> 进入conf目录,看到很多的配置文件

编辑nginx.conf

添加一个server{},每个server里面的配置对应一个虚拟主机vhost

server {
  listen 80;  //80端口
  server_name linux.com;   //设置域名

   #直接输入域名进入的目录和默认解析的文件
  location / {
    index index.html;
    root /usr/htdocs/linux; //直接输入linux.com是进到了这里 ,一般配置和解析php所在目录一直
  }

   #解析.php的文件
  location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /usr/htdocs/linux/$fastcgi_script_name;  //当前虚拟主机对应的目录
    include fastcgi_params;
  }
}

在nginx.conf中添加

在对应的/usr/htdocs/linux下添加文件index.php用于测试

重启nginx:service nginx restart

修改nginx的配置文件后,要重启nginx才能生效

打开浏览器,输入域名测试下:

妥了,正常解析!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • nginx配置虚拟主机vhost的方法详解

    前言 所谓虚拟主机,是说通过几个不同的url地址,都能到达nginx环境,只不过针对不同的url,处理的逻辑不同. nginx支持虚拟主机,但是浏览器等客户端不知道,所以虚拟主机的几个地址,应该是都指向nginx所在的ip地址,虚拟主机功能才能正常. 环境 系统环境:CentOS6.7 nginx version: nginx/1.8.1 方案 例如配置文件位于: /opt/nginx/conf/nginx.conf 在http {}的最后,添加如下行: include vhosts/*.con

  • nginx配置多个虚拟主机vhost的方法示例

    在nginx下配置虚拟主机vhost非常方便.主要在nginx的配置文件nginx.conf中添加一个server即可 比如我想配置两个虚拟主机,通过域名linux.com和linux2.com访问,分别对应的目录是/usr/htdocs/linux 和/usr/htdocs/linux2 (这个目录下是放你开发项目文件哦) 因为我安装的本地虚拟机,所以我先在hosts文件中添加两个重定向: 192.168.20.250 linux.com //192.168.20.250是我虚拟机的ip,用的

  • 某集团任意文件下载到虚拟主机getshell的方法

    0x01 前言  从某群的故事改编而来,都是些老套路各位看官看得高兴就好:第一次在i春秋发帖有点紧张,如果有什么不周到的地方请去打死阿甫哥哥.你没听错,阿甫哥哥推荐. 0x02 什么是任意文件下载 说到文件下载各位童鞋都不陌生(老司机请跳过),我们要下载网站上某个文件(.zip..doc..pdf)直接请求这个文件即可格式一般为:域名+相对路径+文件名,如http://www.test.com/downlad/test.zip.而在网站上下载文件一般分为两种,一种就是刚才所说的直接请求某个文件,

  • nginx配置限制同一个ip的访问频率方法

    1.在nginx.conf里的http{}里加上如下代码: limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; 2.在需要限制并发数和下载带宽的网站配置server{}里加上如下代码: limit_conn perip 2; limit_conn perserver 20; limit_rate 100k; 补充说明下参数: $binary_rem

  • 如何通过Apache在本地配置多个虚拟主机

    如何使用 Apache 在本地配置出多个虚拟主机呢?而且使用不同的"域名"来访问本地不同的站点呢? 一般情况下,咱们都使用 localhost 来访问本机上的服务器,在我们的 C:/WINDOWS/system32/drivers/etc/hosts 文件中默认有一个: 127.0.0.1 localhost 当我们在浏览器地址栏键入: http://localhost 的时候,会显示出服务器根目录中的许多文件夹(若你的根目录不是只有一个站点的话),就像: Index of / * B

  • 在Apache服务器上添加虚拟主机功能的方法

    Apache 默认存放网页根目录,是在/var/www/html/下面,也就是说,默认情况下,一个服务器,只能跑一个网站.但是一台性能还算不错的服务器,如果只跑一个网站,岂不是有点浪费?其实 Apache 是支持虚拟主机功能的,以虚拟主机模式可以跑 N 个网站. Apache 开启虚拟主机功能的方式也很简单,以 CentOS 6.3 和 Apache 2.2 为例, 在 /etc/httpd/conf.d/ 目录下创建一个vhost.conf配置文件,内容格式如下: NameVirtualHos

  • nginx配置SSL证书实现https服务的方法

    在前面一篇文章中,使用openssl生成了免费证书后,我们现在使用该证书来实现我们本地node服务的https服务需求.假如我现在node基本架构如下: |----项目 | |--- static # 存放html文件 | | |--- index.html # index.html | |--- node_modules # 依赖包 | |--- app.js # node 入口文件 | |--- package.json | |--- .babelrc # 转换es6文件 index.htm

  • Nginx配置SSL证书部署HTTPS网站的方法(颁发证书)

    自行颁发不受浏览器信任的SSL证书 手动颁发 xshell登录服务器,使用openssl生成RSA密钥及证书 # 生成一个RSA密钥 $ openssl genrsa -des3 -out tfjybj.key 1024 # 拷贝一个不需要输入密码的密钥文件 $ openssl rsa -in dmsdbj.key -out tfjybj_nopass.key # 生成一个证书请求 $ openssl req -new -key tfjybj.key -out tfjybj.csr 这里会提示输

  • Nginx配置Basic Auth登录认证的实现方法

    有时候我们通过nginx搭建了一台文件服务器, 一般来讲是公开的, 但我们又希望该服务器不让他人看到, 有人可能会搭建一个登录系统, 但是太麻烦, 也没太大必要, 比较简单的做法是配置Basic Auth登录认证 1. 确定你安装了httpd-tools yum install httpd-tools -y 2. 创建授权用户和密码 htpasswd -c -d /usr/local/openresty/nginx/conf/pass_file magina 这个配置文件存放路径可以随意指定,

  • spring Mvc配置xml使ResponseBody返回Json的方法示例

    前言 学习了spring mvc后,发现spring mvc返回json数据比struts2要方便,使用@ResponseBody就可以了 @ResponseBody 在返回的数据不是html标签的页面,而是其他某种格式的数据时(如json.xml等)使用: 不在springMvc中配置json的处理的话,我们通常会在Controller层中获取到数据之后进行类型转化,将数据转成json字符串,比如调用fastjson进行转化,如下 @RequestMapping("/getCategoryTr

随机推荐