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 ”即可,把当前的这个配置对应的网站设置为第一个默认虚拟主机

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Ken的杂谈

【CentOS7快速上手】2、Apache Server安装&配置

本地修改hosts文件,把hello.html.com指向该CentOS服务器IP,然后通过该域名访问即可。

1741
来自专栏菩提树下的杨过

ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程

环境:OS X 10.10.5 + JDK 1.8 步骤: 一、下载ELK的三大组件 Elasticsearch下载地址: https://www.elasti...

2869
来自专栏LIN_ZONE

mac 初次配置apache,及mac下安装mysql

先打开apache,在浏览器上输入    localhost     回车后会如果屏幕上显示:It works!  如下图:

893
来自专栏Ceph对象存储方案

通过ELK实现Nginx日志字段扩展

在日常访问RGW过程中,一般会在RGW前端架设Nginx,并通过Nginx日志来统计或者分析用户请求,但是默认Nginx日志字段是不含bucket_name的,...

2162
来自专栏Java学习123

Apache http server2.4 64位绿色解压版的安装、部署、启动和使用说明

3517
来自专栏WebDeveloper

ElasticSearch入门

1763
来自专栏分布式系统进阶

Logstash使用中遇到的一些坑和解决方案

6212
来自专栏云计算教程系列

如何在CentOS 7上用mod_proxy将Apache设置为反向代理

反向代理是一种代理服务器,它接受HTTP(S)的请求后,把它们发送到一个或多个后端服务器。反向代理非常有用,因为许多现代网络应用使用后端应用程序服务器处理传入的...

2693
来自专栏Android相关

Octave使用plot错误

1724
来自专栏我和PYTHON有个约会

apache2.4.X服务器配置

常见的web服务器如:apache、tomcat、nginx、weblogic等等

1151

扫码关注云+社区

领取腾讯云代金券