1 nginx虚拟主机的概念

虚拟主机是在网络服务器上划分出一定的磁盘空间供用户放置站点、应用组件等,提供必要的站点功能、数据存放和传输功能,所谓虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务器(支持WWW、FTP、E-mail等)功能,

简单来说就是:在web服务里面就是一个独立的网站站点。

2,常见的虚拟主机类型

1基于域名的虚拟主机,就是通过域名来区分不同的虚拟主机,企业最常用。

2基于端口的虚拟主机配置,通过不同的端口来区分虚拟主机

3基于IP的虚拟主机配置

3基于域名的虚拟主机配置

 1 一个基于域名的虚拟主机配置
 2 worker_processes  1;
 3 error_log  logs/error.log;
 4 pid        logs/nginx.pid;
 5
 6 events {
 7     worker_connections  1024;
 8 }
 9
10 http {
11     include       mime.types;
12     default_type  application/octet-stream;
13     sendfile        on
14     keepalive_timeout  65;
15     server {
16         listen       80;
17         server_name  www.123.com;
18         location / {
19             root   /data/bbb/;   #网站根目录
20             index  index.html index.htm;
21         }
22         location = /50x.html {
23             root   html;
24         }
25     }
26 检测:
27 /usr/local/nginx/sbin/nginx -t
28 /usr/local/nginx/sbin/nginx -s reload(或者重新启动)
29 然后创建
30 mkdri -p /data/bbb/
31 在网站跟目录追加文件    echo "http://www.123/com" >> /data/bbb/index.html 32 在linux客户端测试
33 需要在linux客户端下的hosts文件下加入
34 echo "ip  www.123.com"
35 echo "192.168.0.3 www.23.com"
36 测试
37 [root@66 bbb]# curl www.123.com
38 http://www.123.com

3.1配置多个域名

只需要在多加几个server模块即可,同时加上对应的域名即可

完整配置如下:

 1 一个基于域名的虚拟主机配置
 2 worker_processes  1;
 3 error_log  logs/error.log;
 4 pid        logs/nginx.pid;
 5
 6 events {
 7     worker_connections  1024;
 8 }
 9
10 http {
11     include       mime.types;
12     default_type  application/octet-stream;
13     sendfile        on
14     keepalive_timeout  65;
15     server {
16         listen       80;
17         server_name  www.123.com;
18         location / {
19             root   /data/bbb/;   #网站根目录
20             index  index.html index.htm;
21         }
22         location = /50x.html {
23             root   html;
24         }
25     }
26     server {
27         listen       80;
28         server_name  bbs.123.com;  #域名
29         location / {
30             root   /data/bbs/;   #网站根目录
31             index  index.html index.htm;
32         }
33         location = /50x.html {
34             root   html;
35         }
36     }
37     server {
38         listen       80;
39         server_name  blog.123.com;
40         location / {
41             root   /data/blog/;   #网站根目录
42             index  index.html index.htm;
43         }
44         location = /50x.html {
45             root   html;
46         }
47     }
48
49 检测:
50 /usr/local/nginx/sbin/nginx -t
51 /usr/local/nginx/sbin/nginx -s reload(或者重新启动)
52 然后创建
53 mkdri -p /data/bbb/
54 mkdri -p /data/bbs/
55 mkdri -p /data/blog/
56 在网站跟目录追加文件
57 echo "http://www.123.com" >> /data/bbb/index.html
58 echo "http://bbs.123.com" >> /data/bbs/index.html
59 echo "http://blog123.com" >> /data/blog/index.html
60 在linux客户端测试
61 需要在linux客户端下的hosts文件下加入
62 echo "ip  www.123.com"
63 echo "192.168.0.3 www.123.com"
64 echo "192.168.0.3 bbs.123.com"
65 echo "192.168.0.3 blog.123.com"
66 测试
67 [root@66 data]# curl bbs.123.com
68 http://bbs.123.com
69 [root@66 data]# curl blog.123.com
70 http://blog123.com
71 [root@66 data]# curl www.123.com
72 http://www.123.com
73 [root@66 data]# 

View Code

上面的配置多个域名写法比较繁琐,我们可以拆开来写,方便以后扩展
加入include vhosts/*.conf;

简化nginx.conf的配置文件

如下:

 1 worker_processes  1;
 2 error_log  logs/error.log;
 3 pid        logs/nginx.pid;
 4
 5 events {
 6     worker_connections  1024;
 7 }
 8
 9 http {
10     include       mime.types;
11     default_type  application/octet-stream;
12     sendfile        on
13     keepalive_timeout  65;
14     include vhosts/www.conf
15     include vhosts/bbs.conf
16     include vhosts/blog.conf

然后在vhosts目录下加上上面的三个文件

 1 server {
 2         listen       80;
 3         server_name  www.123.com;
 4         location / {
 5             root   /data/bbb/;   #网站根目录
 6             index  index.html index.htm;
 7         }
 8         location = /50x.html {
 9             root   html;
10         }
11     }

www.conf

 1 server {
 2         listen       80;
 3         server_name  bbs.123.com;  #域名
 4         location / {
 5             root   /data/bbs/;   #网站根目录
 6             index  index.html index.htm;
 7         }
 8         location = /50x.html {
 9             root   html;
10         }
11     }

bbs.conf

 1 server {
 2         listen       80;
 3         server_name  blog.123.com;
 4         location / {
 5             root   /data/blog/;   #网站根目录
 6             index  index.html index.htm;
 7         }
 8         location = /50x.html {
 9             root   html;
10         }
11     }

blog.conf

测试:

1 [root@66 data]# curl bbs.123.com
2 http://bbs.123.com
3 [root@66 data]# curl blog.123.com
4 http://blog123.com
5 [root@66 data]# curl www.123.com
6 http://www.123.com

测试

4基于端口号的配置

只需要在在上边的基础上修改listen的监听端口

具体配置如下:

 1 一个基于域名的虚拟主机配置
 2 worker_processes  1;
 3 error_log  logs/error.log;
 4 pid        logs/nginx.pid;
 5
 6 events {
 7     worker_connections  1024;
 8 }
 9
10 http {
11     include       mime.types;
12     default_type  application/octet-stream;
13     sendfile        on
14     keepalive_timeout  65;
15     server {
16         listen       80;
17         server_name  www.123.com;
18         location / {
19             root   /data/bbb/;   #网站根目录
20             index  index.html index.htm;
21         }
22         location = /50x.html {
23             root   html;
24         }
25     }
26     server {
27         listen       82;
28         server_name  bbs.123.com;  #域名
29         location / {
30             root   /data/bbs/;   #网站根目录
31             index  index.html index.htm;
32         }
33         location = /50x.html {
34             root   html;
35         }
36     }
37     server {
38         listen       82;
39         server_name  blog.123.com;
40         location / {
41             root   /data/blog/;   #网站根目录
42             index  index.html index.htm;
43         }
44         location = /50x.html {
45             root   html;
46         }
47     }
48
49 检测:
50 /usr/local/nginx/sbin/nginx -t
51 /usr/local/nginx/sbin/nginx -s reload(或者重新启动)
52 然后创建
53 mkdri -p /data/bbb/
54 mkdri -p /data/bbs/
55 mkdri -p /data/blog/
56 在网站跟目录追加文件
57 echo "http://www.123.com" >> /data/bbb/index.html
58 echo "http://bbs.123.com" >> /data/bbs/index.html
59 echo "http://blog123.com" >> /data/blog/index.html
60 在linux客户端测试
61 需要在linux客户端下的hosts文件下加入
62 echo "ip  www.123.com"
63 echo "192.168.0.3 www.123.com"
64 echo "192.168.0.3 bbs.123.com"
65 echo "192.168.0.3 blog.123.com"
66 测试
67 [root@66 data]# curl bbs.123.com:80
68 http://bbs.123.com
69 [root@66 data]# curl blog.123.com:81
70 http://blog123.com
71 [root@66 data]# curl www.123.com:82
72 http://www.123.com
73 [root@66 data]#

View Code

5基于ip的配置
这个很少用,不在介绍

转载于:https://www.cnblogs.com/Dicky-Zhang/p/5952917.html

nginx配置实战1----配置虚拟主机相关推荐

  1. nginx笔记 安装nginx 配置 反向代理 多虚拟主机

    1,检测linux上是否 通过yum安装了nginx rpm   -qi  nginx 2.安装nginx之前的依赖包 yum install gcc patch libffi-devel pytho ...

  2. Nginx(6)-配置基于域名的虚拟主机

    配置基于域名解析的虚拟主机 1.准备站点 我们站点统一放到/www/vhosts/下,每个站点根目录名称都和域名相同,具体如下. 新建www.stu31.com的站点根目录 [root@www ext ...

  3. nginx之配置文件解读及虚拟主机配置

    文章目录 一.认识配置文件 1.整体结构 2.各"块"功能 3.最详细的配置文件解释 二.配置虚拟主机 1.什么是虚拟主机? 2.虚拟主机类型 3.配置虚拟主机   如果你还没有搭 ...

  4. ubuntu apache2配置详解(含虚拟主机配置方法)

    在Windows下,Apache的配置文件通常只有一个,就是httpd.conf.但我在Ubuntu Linux上用apt-get install apache2命令安装了Apache2后,竟然发现它 ...

  5. 配置Apache服务器的虚拟主机

    配置Apache服务器的虚拟主机 (1)启用apache的虚拟主机功能 LoadModule vhost_alias_module modules/mod_vhost_alias.so (2

  6. Thinkphp5的项目配置到西部数码虚拟主机

    Thinkphp5的项目配置到西部数码虚拟主机 公司用的服务器是西部数码的虚拟主机 但是自己的项目又是thinkphp5.0的项目,大家都知道tp5.0项目的默认入口文件是在public目录下的ind ...

  7. 【JSP】01Tomcat安装配置+小heike之“虚拟主机”操作

    关于Tomcat安装配置+小heike之"虚拟主机"操作 注:此文仅为个人学习笔记 (持续更新ing-) 一.下载/配置Tomcat(共分三步:下载/配置/验证) 1. 下载: ( ...

  8. Nginx 反向代理 负载均衡 虚拟主机

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

  9. Nginx反向代理负载均衡虚拟主机动静分离UrlRewrite防盗链

    文章目录 1. Nginx简介 1.1 Nginx背景 1.2 Nginx的优点 1.3 Nginx的功能特性及常用功能 2.Nginx安装 2.1 下载上传解压 1.2 安装 3.nginx核心概念 ...

最新文章

  1. Java必会的基础知识(3)
  2. python网络爬虫软件哪个好用_好好学Python,入门网络爬虫之精华版!
  3. failed to accept an incoming connection: connection from 127.0.0.1 rejected, allowed hosts:
  4. 月薪仅18K的NLP工程师,回炉重造吧!
  5. Markdown笔记神器Typora配置Gitee图床
  6. xlsxwriter设置列宽_Python3之excel操作——xlsxwriter模块
  7. 智能猫眼背后场景数据,助力把好居家安防第一关
  8. 大厂面试 | 阿里巴巴软件测试三面真题
  9. 前端 psd切片生成html.css,1个将PSD网页模板切片输出为DIV+CSS架构网页教程
  10. 微信怎么制作朋友圈H5链接
  11. (泰勒展开式/欧拉公式)证明:e^x推导及e^(iπ) = -1展开过程
  12. NER项目--github--A Unified MRC Framework for Named Entity Recognition
  13. 新PC如何在不激活系统的情况下查看各项参数(Win10)
  14. HtmlCss光标(插入符caret)透明隐藏光标 221106笔记
  15. 如何解决 fs.renameSync() 跨区移动文件的问题
  16. 孙陶然:企业的愿景、使命和价值观
  17. 数据中台已成下一风口,它会颠覆数据工程师的工作吗?
  18. python量化交易:筹码分布(4)_计算方法_依据成交明细及及换手率估算
  19. python 编码转换 专题
  20. 期货投资交易为什么要分批建仓?

热门文章

  1. Docker容器实现原理及容器隔离性踩坑介绍
  2. [BZOJ2331]地板(插头DP)
  3. 登录plsql 报错 the account is locked --用户被锁
  4. 8月30日学习内容整理:命名空间,作用域,函数名本质,闭包
  5. SVN 使用hooks 自动更新到远程的web目录下
  6. 用SYS本地登录或远程登录引起ORA-01031错误
  7. 【IBM Tivoli Identity Manager 学习文档】2 部署准备知识
  8. 终端服务器超出了最大允许连接数
  9. 2011对于运维的思考
  10. 程序员面试金典——11.5找出字符串