12.7 默認虛擬主機

默認虛擬主機目錄概要

  • vim /usr/local/nginx/conf/nginx.conf //增長include vhost/*.conf
  • mkdir /usr/local/nginx/conf/vhost
  • cd !$; vim default.conf //加入以下內容
server
{
    listen 80 default_server;  // 有這個標記的就是默認虛擬主機
    server_name aaa.com;
    index index.html index.htm index.php;
    root /data/wwwroot/default;
}
  • mkdir -p /data/wwwroot/default/
  • echo 「This is a default site.」>/data/wwwroot/default/index.html
  • /usr/local/nginx/sbin/nginx -t
  • /usr/local/nginx/sbin/nginx -s reload
  • curl localhost
  • curl -x127.0.0.1:80 123.com

默認虛擬主機

  1. 首先刪除/usr/local/nginx/conf/nginx.conf 中的一部份內容——>目的是修改nginx.cnf配置,刪除默認的虛擬主機配置,從新定義虛擬主機配置所在路徑
[root@hanfeng conf]# vim /usr/local/nginx/conf/nginx.conf 

刪除的內容
  server
    {
        listen 80;
        server_name localhost;
        index index.html index.htm index.php;
        root /usr/local/nginx/html;
        location ~ \.php$
        {
            include fastcgi_params;
            fastcgi_pass unix:/tmp/php-fcgi.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
        }
    }
  1. 而後在配置文件中增長一行,include vhost/*.conf
[root@hanfeng conf]# vim /usr/local/nginx/conf/nginx.conf 

增長其中的一行
    application/xml;
    include vhost/*.conf
}      
   
而後保存退出
  1. 新建/usr/local/nginx/conf/vhost目錄
[root@hanfeng conf]# mkdir /usr/local/nginx/conf/vhost
[root@hanfeng conf]#
  1. 進入到/usr/local/nginx/conf/vhost目錄下
[root@hanfeng conf]# cd /usr/local/nginx/conf/vhost
[root@hanfeng vhost]#
  1. 定義新增虛擬主機的配置
[root@hanfeng vhost]# vim aaa.com.conf

添加的文件內容
server
{
    listen 80 default_server;  
    server_name aaa.com;
    index index.html index.htm index.php;
    root /data/wwwroot/default;
}

而後保存退出
  1. 建立目錄
[root@hanfeng vhost]# mkdir -p /data/wwwroot/default/
[root@hanfeng vhost]#
  1. 切換到/data/wwwroot/default/目錄下,在目錄下寫入一些東西
[root@hanfeng vhost]# cd /data/wwwroot/default/
[root@hanfeng default]#
  1. 新建index.html,寫入一些東西
[root@hanfeng default]# vim index.html
寫入
This is the default site.
而後保存退出
  1. 建測配置文件是否存在語法錯誤
[root@hanfeng default]# /usr/local/nginx/sbin/nginx -t
  • 錯誤
nginx: [emerg] unexpected "}" in /usr/local/nginx/conf/nginx.conf:47
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
  • 解決方法:
    • 是由於在/usr/local/nginx/conf/nginx.conf文件中include vhost/*.co後面缺乏了;
在後面添加 ; 便可
include vhost/*.conf;
  1. 再來檢查配置文件是否存在語法錯誤
[root@hanfeng default]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  1. 再修改配置文件後,通常都 -t 去檢查下,防止誤操做
  2. 修改完,重啓nginx或者從新加載nginx
  • 使用/etc/init.d/nginx restart 或者 /usr/local/nginx/sbin/nginx -s reload從新加載
[root@hanfeng default]# /usr/local/nginx/sbin/nginx -s reload
[root@hanfeng default]#
  1. 測試訪問默認頁
  • 出來的就是以前/data/wwwroot/default/index.html裏面定義的內容
[root@hanfeng default]# curl localhost
This is the default site.
[root@hanfeng default]# curl -x127.0.0.1:80 bbb.com
This is the default site.
[root@hanfeng default]#
  1. nginx支持include這種語法

定義默認虛擬主機

由於修改了nginx.conf的配置,如今看到的默認索引頁,是咱們剛剛新增的vhost的虛擬主機的索引頁了 定義默認虛擬主機的兩種辦法: 1.默認虛擬主機,是根據目錄的第一個.conf了進行選擇,因此只須要在vhost目錄下依次建立就能夠了,固然這種方法不智能 2.只須要在vhost目錄的.conf配置文件內,加上一個「default_server 」便可,把當前的這個配置對應的網站設置爲第一個默認虛擬主機php

相關文章
相關標籤/搜索