Nginx配置虚拟主机

虚拟主机概述

所谓虚拟主机,在web服务里就是一个独立的网站站点,这个站点对应独立的域名(也可以是IP或者端口),具有独立的程序及资源目录,可以独立的对外提供服务,继而给用户访问。

虚拟主机类型

  • 基于域名(通过不同的域名区分不同的主机,使用企业应用较广)
  • 基于端口(通过不同的端口区分不同的主机,企业应用与内部网站)
  • 基于IP(通过不同的IP区分不同的主机,使用较少)

虚拟主机配置

Nginx配置虚拟主机步骤如下:

  1. 增加一个完整的server标签段到结尾处。注意,要放在http的结束大括号前,也就是将server标签段放入http标签。
  2. 更改server_name及对应网页的root根目录,如果需要其他参数,可以增加或者修改。
  3. 创建sever_name域名对应网页的根目录,并且建立测试文件,如果没有index首页,访问会出现403错误。
  4. 检查Nginx配置文件语法,平滑重启Nginx服务,快速检查启动结果。
  5. 在客户端对server_name处配置的域名做host解析或DNS配置,并检查(ping域名查看返回的IP是否正确)
  6. 6、在win32浏览器中输入地址访问,或者在Linux客户端做hosts解析,用wget或curl接地址访问。

具体操作步骤

###部署一个web网站###

cd /application/nginx/
cd conf/
egrep -v "^$|#" nginx.conf.default >nginx.conf #把注释先过滤掉,注意:nginx.conf.default是nginx.conf的默认备份文件
vim nginx.conf
#修改10-21行(等于一个网站)
sever {
    listen 80;  #(监听的端口)
    server_name www.etiantian.org; #(公司的网站是什么就填什么)
      location / {
          root html;  #(公司程序,html前面的路径就是nginx的安装目录,例如:/application/nginx/sbin/nginx/html)
          index index.html index.htm;  #(表示首页,当你在浏览器输入域名或IP,不输入具体内容的时候,最先读的文件,这个文件可以定义多个,且按顺序输出,如

果没有相对应的index.html文件,可以在server_name 下面加一行,autoindex on;让其列表显示,但是这样显示不安全)
}
      error_page 500 502 503 504 /50x.html;
      location = /50x.html {
          root html;
      }
}

###修改地址完成后,然后保存,继而reload后,内容才生效###
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx -s reload

###删除首页文件:index.html###
cd /application/nginx/html
ls
50x.html index.html
rm -f index.html

###重新配置index.html###
vim index.html
<html>
<head>
<title>运维</title>
</head>
<body>
最牛
<table border=1>
<tr>
<td>学号</td>
<td>姓名</td>
</tr>
<tr>
<td>01</td>
<td>牛逼</td>
</tr>
</table>
<a href="http://i.cnblogs.com" target=_blank><img src="syz.jpg">图片</a>
</body>
</html>

注意:/application/nginx/conf/nginx.conf配置文件里定义的index.html跟/application/nginx/html/下的index.html的名字要统一,

否则不显示

###上传所需图片到html目录下

cd /application/nginx/html
rz syz.jpg

需要在C:\Windows\System32\drivers\etc\hosts解析网站
10.0.0.8 www.etiantian.org

然后在浏览器输入10.0.0.8,返回"配置的index.html内容",则为成功

Nginx基于不同域名的配置

###首先备份nginx.conf,防止出错###
cd /application/nginx/conf
cp nginx.conf nginx.conf.beifen

###创建sever所需html文件,并添加内容###
mkdir /application/nginx/html/{www,bbs,blog} -p
echo "www" > /application/nginx/html/www/index.html
echo "bbs" > /application/nginx/html/bbs/index.html
echo "blog" > /application/nginx/html/blog/index.html

###编辑nginx.conf文件,分别增加{www,bbs,blog}server标签###
cd /application/nginx/conf

vim nginx.conf

worker_processes 1;
events {
    worker_connections 1024;
}

http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;

server {
    listen 80;
    server_name www.etiantian.org; #第一个网站地址
    location / {
      root html/www;
      index index.html index.htm;
    }
      error_page 500 502 503 504 /50x.html;
    location = /50x.html {
      root html;
    }
}

server {
    listen 80;
    server_name bbs.etiantian.org; #第二个网站地址
    location / {
      root html/bbs;
      index index.html index.htm;
    }
      error_page 500 502 503 504 /50x.html;
    location = /50x.html {
      root html;
    }
}

server {
    listen 80;
    server_name blog.etiantian.org; #第三个网站地址
    location / {
      root html/blog;
      index index.html index.htm;
    }
      error_page 500 502 503 504 /50x.html;
    location = /50x.html {
      root html;
    }
  }
}

###检查语法及重启###
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx -s reload(这个重启方法容易出问题,可以先stop然后再开启)
即:
/application/nginx/sbin/nginx -s stop
/application/nginx/sbin/nginx

###windows端做解析###
在C:\windows\System32\drivers\etc下找到hosts文件进行添加域名解析,然后在该文件做解析:10.0.0.8 www.etiantian.org

bbs.etiantian.org blog.etiantian.org

###linux系统下###

vim /etc/hosts
172.16.1.8 web01 www.etiantian.org bbs.etiantian.org blog.etiantian.org

###至此可以使用curl+域名,查看相关的返回值是否正常###
例如:

如果返回的index.html内容正常(即首页文件),则说明配置成功。

Nginx配置web服务的更多相关文章

  1. nginx作为web服务以及nginx.conf详解

    Nginx系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.nginx简介 nginx是一个优秀的web服务程序.反向代理程序.它采用非 ...

  2. 【docker专栏4】使用docker安装nginx提供web服务

    一般学习一项技术,会先用一个最简单的例子或最典型的例子来向大家讲解入门内容,所以此文为大家介绍使用docker安装nginx容器服务.从基础使用的角度来讲,此文几乎涵盖了docker最核心的内容:镜像 ...

  3. Nginx 配置https 服务

    一.HTTPS 服务 为什么需要HTTPS? 原因:HTTP不安全 1.传输数据被中间人盗用.信息泄露 2.数据内容劫持.篡改 HTTPS协议的实现 对传输内容进行加密以及身份验证 HTTPS加密校验 ...

  4. 【HTTPS】自签CA证书 && nginx配置https服务

    首先,搭建https服务肯定需要一个https证书.这个证书可以看做是一个应用层面的证书.之所以这么说是因为https证书是基于CA证书生成的.对于正式的网站,CA证书需要到有资质的第三方证书颁发机构 ...

  5. nginx 配置web 虚拟文件夹 而且codeIgniter,thinkphp 重定向url 地址

    nginx 配置虚拟文件夹而且url 重定向 server { #侦听80port listen 8090; #定义使用www.xx.com訪问 server_name 127.0.0.1; #设定本 ...

  6. Nginx配置Web项目(多页面应用,单页面应用)

    目前前端项目 可分两种: 多页面应用,单页面应用. 单页面应用 入口是一个html文件,页面路由由js控制,动态往html页面插入DOM. 多页面应用 是由多个html文件组成,浏览器访问的是对应服务 ...

  7. Nginx 为 Golang 配置 web 服务

    server { charset utf-; client_max_body_size 128M; #listen ; ## 监听 ipv4 上的 端口 #listen [::]: default_s ...

  8. 【CentOS 7】nginx配置web服务器

    1,安装过程 [root@VM_1_14_centos ~]# cd /data/ [root@VM_1_14_centos data]# wget http://nginx.org/download ...

  9. Centos下Nginx配置WEB访问日志并结合shell脚本定时切割

    在一个成熟的WEB系统里,没有日志管理是不可以的,有了日志,可以帮助你得到用户地域来源.跳转来源.使用终端.某个URL访问量等相关信息:通过错误日志,你可以得到系统某个服务或server的性能瓶颈等. ...

随机推荐

  1. 前端(二十)—— vue介绍:引用vue、vue实例、实例生命周期钩子

    vue 一.认识Vue 定义:一个构建数据驱动的 web 界面的渐进式框架 优点: 1.可以完全通过客户端浏览器渲染页面,服务器端只提供数据 2.方便构建单页面应用程序(SPA) 3.数据驱动 =&g ...

  2. nfs下的exportfs命令和nfs客户端重新挂载

    工作中,如果使用了nfs服务器,会遇到修改nfs服务器配置的情况,如果想重新让客户端加载上修改后的配置,但是又不能重启rpcbind服务,我们需要使用export命令了 exportfs命令 常用选项 ...

  3. php连接mysql遇到的问题: (HY000/1130) 和 [caching_sha2_password]

    说明一下我的mysql是安装在虚拟机上的 所以遇到的第一个问题就是访问问题 解决: update user set host = '%' where user = 'root'; 重启mysql服务 ...

  4. C# WinfForm 控件之dev图表 ChartControl

    dev 图表控件 学习连接 新建一个winformApp form1上放一个button 再放一个chartControl Name 为cct 直接上代码 private void button1_C ...

  5. 多个串的最长公共子串 SPOJ - LCS2 后缀自动机

    题意: 求多个串的最长公共子串 这里用的是O(n)的后缀自动机写法 我后缀数组的专题有nlog(n)写法的 题解: 对于其中的一个串建立后缀自动机 然后对于后缀自动机上面的每一个节点求出每一个节点最长 ...

  6. 基于角色访问控制的OA系统的设计与实现

    摘要:随着电子政务的快速发展和全面普及,办公自动化(OA)系统的安全性显得越来越重要.对基于Web 的B/S 结构的OA 系统结构和安全需求进行了分析,为了增强用户身份鉴别和授权控制的安全性,分析了基 ...

  7. 18_ShadowWalker

    白皮书中 page-fault error code: shadowWalker 原理: 接管 指定程序 的 执行页面异常.读写页面异常:然后 调用一下正常的 使其出现在快表:然后恢复到假的pte - ...

  8. CSRF攻击防御方法

    CSRF攻击防御方法 目前防御 CSRF 攻击主要有三种策略: 1. 验证 HTTP Referer 字段: 根据 HTTP 协议,在 HTTP 头中有一个字段叫 Referer,它记录了该 HTTP ...

  9. [模板]PAM

    模板\([luogu5496]\) 题目 #include<bits/stdc++.h> using namespace std; const int N = 5e5 + 10; char ...

  10. Q:elementUI中tree组件动态展开

    1,在组件中设置展开收缩开关  default-expand-all="isExpand" 2,展开收起触发按钮 <div class="tree-foot cle ...