专栏首页十月梦想nginx服务器配置虚拟主机

nginx服务器配置虚拟主机

NGINX服务器下配置虚拟主机

在哪里配置?

对于虚拟主机的配置可以在nginx.conf里面配置或者vhosts.conf下,由于vhost.conf便于管理我们在这个文件夹下进行配置虚拟主机

如何配置?

在vhosts.conf下新增一个server表示一个虚拟主机,配置虚拟主机三种方式(端口号,域名,ip地址)

    配置代码如下:

①以端口号为基础创建虚拟主机

#80端口号下虚拟主机
server {
        listen       80;//监听端口
        server_name  localhost ;//绑定域名
        root   "D:\www";//根目录
        location / {
            index  index.html index.htm index.php;
            //autoindex 是否开启目录列表
            autoindex  on;
        }
        //以下是伪静态规则
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}
#8080端口号虚拟主机
server {
        listen       8080;
        server_name  www.a.com a.com;
        root   "D:\phpStudy\WWW";
        location / {
            index  index.html index.htm index.php;
            #autoindex  on;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

②以域名配置不同虚拟主机

#使用 www.test.com访问web1虚拟主机
server {
        listen       80;
        server_name  www.test.com ;
        root   "D:\www\web1";
        location / {
            index  index.html index.htm index.php;
            #autoindex  on;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}
#使用pic.test.com访问web2虚拟主机
server {
        listen       80;
        server_name  pic.test.com ;
        root   "D:\www\web2";
        location / {
            index  index.html index.htm index.php;
            #autoindex  on;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

③以ip为基准配置虚拟主机

//需要自行支持ip内分配地址(一般为内网ip段)
server {
        listen      192.168.20.20:80;
        server_name  localhost ;
        root   "D:\www";
        location / {
            index  index.html index.htm index.php;
            #autoindex  on;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}
server {
        listen     192.168.20.20:80;
        server_name  localhost ;
        root   "D:\www";
        location / {
            index  index.html index.htm index.php;
            #autoindex  on;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • NGINX服务器下配置SSL证书

      配置nginx服务器的ssl证书要去nginx目录下中conf文件夹下的nginx.conf中寻找server,找到监听443端口的server,把#打开(...

    十月梦想
  • 浮动

        将红色背景的div想左边漂浮,则原来的绿色div不显示是红色被遮挡在面。 

    十月梦想
  • CSS边框倒角

    十月梦想
  • windows+nginx配置站点目录发生500的一个问题

    用phpstudy配置一个站点的时候,发现一直报错500,后来查看了下error.log.报错如下:

    仙士可
  • Nginx兼容框架的pathinfo模式与URL重写

    几乎所有的框架(ThinkPHP,Zend Framework,CI,Yii,laravel等)都会使用URL重写或者pathinfo模式,使URL看起来更美观...

    公众号php_pachong
  • [nginx]nginx的一个奇葩问题 500 Internal Server Error phpstudy2018

    [nginx]nginx的一个奇葩问题 500 Internal Server Error

    landv
  • phpStudy默认配置致Nginx解析漏洞复现

    phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安...

    Timeline Sec
  • Linux 下配置nginx到php的连接

    安装Nginx:Linux 6 下安装编译安装Nginx 安装PHP : Linux 6 下编译安装 PHP 5.6

    Leshami
  • 浅谈scrum

    rectinajh
  • Google File System 阅读笔记

    今天终于拜读了著名GFS的论文,大体上的设计思路是明白了,复杂的系统,其实用了很多简单的逻辑在里面,下面是记录的一些笔记:

    大江小浪

扫码关注云+社区

领取腾讯云代金券