nginx多站点配置

ubuntu下

  1. apt-get install nginx

  2. 创建新的文件路径
    mkdir -p /var/www/domain-one.com/html
    mkdir -p /var/www/domain-two.com/html
    以上的命令就会创建两个对应的目录:主要将 domain-one.com 和 domain-two.com 换成你自己的域名。
    然后再将这两个文件夹给定权限和所有权:
    sudo chown -R www-data:www-data /var/www/domain-one.com/html
    sudo chown -R www-data:www-data /var/www/domain-two.com/html
    上面的 www-data:www-data 就是 Nginx 默认的用户组合用户名。

  3. 创建不同的入口文件
    在这里为了演示方便,我们可以直接在第二步的两个目录中分别创建 index.html 文件:
    sudo vim /var/www/domain-one.com/html/index.html
    然后添加下面的内容:

     
     
         Welcome to Domain-one.com!
     
     
         

    Success! The Domain-one.com server block is working!

    对应的 domain-two.com 我们可以这样:
    sudo vim /var/www/domain-two.com/html/index.html
    在 domain-two.com 这里添加下面的内容:

     
         
             Welcome to Domain-two.com!
         
         
             

    Success! The Domain-two.com server block is working!

    主要上面的内容主要是用 domain-one 和 domain-two 来区分,在你照着文章实践的时候,记得替换成你自己的域名

  4. 创建不同的配置文件
    在安装完 Nginx 之后,其实 Nginx 的默认配置文件实在 /etc/nginx/sites-available/default的,但是我们要配置多站点的话,可以这样:
    sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/domain-one.com
    然后编辑 /etc/nginx/sites-available/domain-one.com 配置文件:
    sudo vi /etc/nginx/sites-available/domain-one.com
    删除原来所有的配置内容,添加下面的配置:

     server {        
       listen 80;        
       listen [::]:80;        
       root /var/www/domain-one.com/html;        
       index index.html index.htm index.nginx-debian.html;        
       server_name domain-one.com www.domain-one.com;        
       location / {                
         try_files $uri $uri/ =404;
        }
     }
    

    这样就配置完 domain-one.com 了,如果你需要配置 SSL 的话,一样是
    在 /etc/nginx/sites-available/domain-one.com 这个文件配置就好。
    接下来就照葫芦画瓢,我们创建 domain-two.com 的配置文件:
    sudo cp /etc/nginx/sites-available/domain-one.com /etc/nginx/sites-available/domain-two.com
    以上命令就会复制出 domain-two.com 的配置文件,然后编辑该文件:
    sudo vi /etc/nginx/sites-available/domain-two.com
    主要在这个文件里面主要是将 domain-one.com 改为 domain-two.com; 然后,root 也注意一下:

     server {        
       listen 80;        
       listen [::]:80;        
       root /var/www/domain-two.com/html;        
       index index.html index.htm index.nginx-debian.html;        
       server_name domain-two.com www.domain-two.com;        
       location / {                
         try_files $uri $uri/ =404;
       }
       location ~ \.php$ {
             include snippets/fastcgi-php.conf;
         
             # With php7.0-cgi alone:
             # fastcgi_pass 127.0.0.1:9000;
             # With php7.0-fpm:
             fastcgi_pass unix:/run/php/php7.0-fpm.sock;
       }
     }
    

    这样我们的两个域名配置文件就设置好了,最后我们需要将原来 Nginx 的 default 配置删除:
    sudo rm etc/nginx/sites-available/default
    注意这里是要删除的!

  5. 建立软链接
    有了 domain-one.com 和 domain-two.com 的配置之后,我们需要把这两个配置告知 Nginx :

     sudo ln -s /etc/nginx/sites-available/domain-one.com /etc/nginx/sites-enabled/
     sudo ln -s /etc/nginx/sites-available/domain-two.com /etc/nginx/sites-enabled/
    

    执行上面的命令之后,我们再使用 nginx -t 检测 Nginx 的配置文件是否有错:
    sudo nginx -t
    如果你没有看到报错,就可以直接重启 Nginx 服务了:
    sudo service nginx restart

windows下

1.新建1个虚拟目录 vhost
2.keepalive_timeout 65; //超时时间设置
3.access_log off;完全关闭访问

  1. nginx下禁止访问robots.txt

  2. include ../vhost/*.conf;

  3. eg:
    server {
    listen 80;
    server_name www.xthhly.com;
    root D:/www/zksc/public;

    location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ .php$ {
    root D:/www/zksc/public;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }

你可能感兴趣的:(nginx多站点配置)