欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

nginx服务器配置多域名

程序员文章站 2022-05-24 09:26:05
...
nginx服务器支持配置多站点,我们可以通过配置子域名让你的一个域名下放置多个项目。

那么如何实现这个过程呢?

网络上的许多方案,有些写的过于繁杂,有些则是配置有误,或者说,有些配置项是要根据自己的主机实际环境来配置的。

一.假设你的项目路径是放在 /home/wwwroot/路径下,nginx的安装路径是 /usr/local/nginx/ 目录下

二.安装好nginx都会有默认的配置文件。文件路径为/usr/local/nginx/conf/nginx.conf

三.现在你需要将你的项目映射到多个域名下。首先查看nginx.conf文件最后一行,它表示include了当前vhost目录下的所有.conf文件。此时,假如没有vhost文件我们可以创建这个文件夹。

                access_log  /home/wwwlogs/access.log  access;
        }
include vhost/*.conf;

四.然后在vhost目录下新建一个你需要添加的域名配置文件,命名自定义。然后我们可以往里面添加内容。下面可以讲解一下几个具体的配置项目(简单的略过)。

1.index index.html  index.php 表示默认的定位的文件,假如直接访问域名,会定位到index.html或者index.php文件
2.fastcgi_pass 这个命令是指定将http代理到哪个fastcgi服务端接口
3.fastcgi_index 该指令设置的文件会被附加到URI的后面并保存在变量$fastcgi_script_name中
4.fastcgi_param SCRIPT_FILENAME 脚本文件请求的路径
5.include fastcgi_params; 包含fastcgi_params中的所有参数
server{
        listen 80;
        server_name www.news.com;
        root /home/wwwroot/news/;
        location /{
                index index.html  index.php;
        }
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
        #fastcgi_pass unix:/tmp/fastcgi.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

五.假如我们是在本机测试,设置了虚拟域名之后,我们如何在自己的linux主机*问呢?

1.我们可以通过修改/etc/hosts来让域名映射到自己的主机上。比如我之前定义的www.news.com

2.我们打开hosts文件,在后面添加 127.0.0.1 www.news.com

3.假如修改hosts文件还是无法访问。那说明还需要修改network文件。打开/etc/sysconfig/network文件,修改为 NETWORKING=yes,然后service network restart,重启network