阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Nginx虚拟主机配置

174次阅读
没有评论

共计 2869 个字符,预计需要花费 8 分钟才能阅读完成。

在 Nginx 中虚拟主机配置有多种方法:可以直接在主配置文件(Nginx.conf)中增加,也可以将所有的虚拟主机单独写一个文件然后在主配置段中包含进去 (include 文件名),最后一种方法是每个虚拟主机都为一个单独的配置文件。本篇以第三种方法来做演示

首先确保 Nginx 已经安装完成接下来创建虚拟主机的配置文件及虚拟主机文件所在的目录 (我的安装路径在 /usr/local/Nginx)

cd /usr/local/nginx/conf              #切换到配置文件目录
mkdir  vhosts                            #创建虚拟主机配置文件所在的目录
touch vhosts/vhost1.conf          #创建第一个虚拟主机的配置文件

在此文件中加入如下行:

server {

        listen  80;                                                       # 设置监听端口;

        server_name     www.test.com;                     # 设置主机名;

        location / {# 定义网站跟目录;

                root    /web/vhost/test1;                         # 此目录如果不存在则需创建

                index   index.html;                                 # 此文件也需要事先创建

        }

        error_page      500 502 503 504 /usr/local/nginx/html/50x.html;     # 定义页面状态码为 5XX 系列的错误页面

        access_log      /web/vhost/test1/logs/test1.access.log;                  # 设置访问日志路径

        error_log       /web/vhost/test1/logs/logs/test1.error.log      crit;      # 设置错误日志路径

}

如果有关上方的目录及文件不存在则按照一下方法创建

mkdir /web/vhost/test/logs -p

touch /web/vhost/test/index.html

编辑 index.html 文件随便添加内容然后保存退出即可

这时虚拟主机的配置文件已经搞定,但是重启 nginx 服务是不会生效的因为并没有包含进去,打开 nginx.conf 文件将其添加至 http{} 段的最后一行,一定要在 http 段中。

Nginx 虚拟主机配置

由于是测试使用所以打开浏览器可能也不会访问到,这时可以修改本机的 hosts 文件添加如下内容:

IP(web server 的服务器 ip 地址)    hostname(就是我们定义的 server_name)

Nginx 虚拟主机配置 

全部设置完成后就可以重启 nginx 服务器了,如果没有添加服务启动脚本的话可以使用 nginx -s quit && nginx 启动(如果没有将 nginx 的 sbin 目录加入到环境变量中就需要使用绝对路径来启动它 /usr/local/nginx/sbin/nginx -s quit && /usr/local/nginx/sbin/nginx) 

查看下访问结果  

    Nginx 虚拟主机配置

接下来为此虚拟主机开启状态监控功能, 在虚拟主机的配置文件中加入一下内容  

        location /status{

        stub_status     on;                    #启动状态功能

        access_log      off;                   #关闭访问日志

        }

使用 nginx -t 来检查配置文件是否正常, 如果出现一下内容表示配置文件正常,可以重启 nginx 服务

Nginx 虚拟主机配置

然后在浏览器中输入 www.test.com/status 查看状态页面是否显示

Nginx 虚拟主机配置

活跃连接数 2 个,接受 5 个请求    处理 5 个请求    响应 64 个(我一直在刷新。。)读 0 个    写 1 个    等待 1 个

 一般这些状态页面是不允许未经授权的用户访问的,所以我们需要设置一下用户认证,在虚拟主机的状态页面中添加如下内容: 

        auth_basic “admin”;

        auth_basic_user_file /web/vhost/test1/.passwd;

Nginx 虚拟主机配置 

接下来在 /web/vhost/test1/ 目录下生成.passwd 文件生成方法有以下两种

A. 使用 htpasswd 工具直接生成  

htpasswd -c -m  /web/vhost/test1/.passwd                                  #    htpasswd 为 httpd 的工具如果无法使用请安装 yun imstall httpd-tools

B. 使用 openssl 加密后手动创建文件并添加

openssl passwd -apr1 -salt `echo $RANDOM`

touch /web/vhost/test1/.passwd

此文件的格式为: 

用户名:密码

Nginx 虚拟主机配置

使用 nginx - t 检查下,如果配置文件没问题那就重读下配置文件 nginx -s reload 然后打开浏览器尝试访问  

Nginx 虚拟主机配置

————————————– 分割线 ————————————–

CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

————————————– 分割线 ————————————–

Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里 

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2014-12/110991.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计2869字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中