nginx虚拟主机和模块

Nginx虚拟主机
方式一、基于主机多IP方式
监听方式 默认监听所有的IP地址(运行在所有的本机的IP地址上)
监听方式 可以监听在某个IP地址

[root@web01 conf.d]# cat 172.conf

http
................. server层是被http所包含的区块
server {
listen 172.16.1.7;
server_name _;

location / {
root  /code/172/;
index index.html;
}

}

....................
mkdir /code/172 -p
echo 172.16.1.7 > /code/172/index.html

测试curl 172.16.1.7


server {
listen 10.0.0.7;
server_name _;

location / {
root  /code/10/;
index index.html;
}

}

....................
mkdir /code/10 -p
echo 10.0.0.7 > /code/10/index.html

测试curl 10.0.0.7


方式二、基于端口的配置方式
server {
listen 80;
server_name _;

    location / {
    root /code/80;
    index index.html;
    }

}

[root@web01 conf.d]# mkdir /code/80
[root@web01 conf.d]# echo 80808080808008 > /code/80/index.html
[root@web01 conf.d]# systemctl restart nginx

测试浏览器打开
curl 10.0.0.7

[root@web01 conf.d]# cat 81.conf
server {
listen 81;

location / {
root /code/81;
index index.html;
}

}

[root@web01 conf.d]# mkdir /code/81
[root@web01 conf.d]# echo 8181818181818118 > /code/81/index.html

企业场景 管理后台
[root@web01 conf.d]# cat 80.conf
server {
listen 8888;
server_name _;

location / {
root /code/80;
index index.html;
}
location /admin {           / ========= /code/app
root /code/app;             # 用户访问amdin 实际访问的是 /code/app/admin  
index index.html;
}

}

方式三、基于多个hosts名称方式(多域名方式) 企业最常用
www.oldboyedu.com ----> 10.0.0.200
blog.oldboyedu.com ----> 10.0.0.201
sz.oldboyedu.com ----> 10.0.0.202

配置第一个域名 www.oldboyedu.com
[root@web01 conf.d]# cat www.oldboyedu.conf
server {
listen 80;
server_name www.oldboyedu.com;

location / {
root /code/www;
index index.html;
}

}

根据配置文件创建目录
[root@web01 conf.d]# mkdir /code/www -p
[root@web01 conf.d]# echo www > /code/www/index.html
[root@web01 conf.d]# systemctl restart nginx

配置第二个域名blog.oldboye.com

[root@web01 conf.d]# cat blog.oldboy.conf
server {
listen 80;
server_name blog.oldboyedu.com;

location / {
root /code/blog;
index index.html;
}

}

根据配置文件创建目录
[root@web01 conf.d]# mkdir /code/blog -p
[root@web01 conf.d]# echo blog > /code/blog/index.html
[root@web01 conf.d]# systemctl reload nginx

-------------------------------完成
目标:
自己搭建带域名的网站(hosts解析、购买域名)
多端口方式
多IP方式
多域名方式
无法开网页 如何解决
状态码分析
配置文件报错如何解决
nginx -t 日志文件


第一个模块: autoindex on;自动索引

[root@web01 mirrors]# cat /etc/nginx/conf.d/mirrors.oldboy.conf
server {
listen 80;
server_name mirrors.oldboy.com;

location / {
root    /code/mirrors;
autoindex on;
index index.html;
}

}

同步源到本地
[root@web01 mirrors]# rsync -avz rsync://mirrors.tuna.tsinghua.edu.cn/centos/ /code/mirrors/

第二个模块:显示内容大小为k m g

autoindex_exact_size on;

第三步模块: 显示时间为本地时间

autoindex_localtime on;

第四个模块: 中文字符乱码

charset utf-8,gbk;

第五个模块: 认证模块 打开网页需要输入用户名和密码

auth_basic           "closed site";
auth_basic_user_file /etc/nginx/conf.d/htpasswd;

401: 当没有认证通过的时候
使用htpasswd 生成用户名和加密密码
[root@web01 mirrors]# htpasswd -b -c /etc/nginx/conf.d/htpasswd oldboy 123456
Adding password for user oldboy
[root@web01 mirrors]# cat /etc/nginx/conf.d/htpasswd
oldboy:apr133UI8X6r$Lokp5KTNJMgX2rVeMG6I7.

[root@web01 conf.d]# cat mirrors.oldboy.conf
server {
listen 80;
server_name mirrors.oldboy.com;
charset utf-8,gbk;
location / {
root /code/mirrors;
autoindex on;
index index.html;
autoindex_exact_size off;
autoindex_localtime on;

auth_basic           "Hello_Linux75";
    auth_basic_user_file  /etc/nginx/conf.d/htpasswd;
}

location /status {
    stub_status;
}

}

使用用户名密码访问网页
curl -uoldboy:123456 mirrors.oldboy.com

第六个模块: 提高安全性 允许和拒绝某个网段

allow 10.0.0.222/32;
deny all;

第七个模块: 显示TCP连接的个数

ngx_http_limit_conn_module
[root@web01 conf.d]# dd if=/dev/zero of=/code/mirrors/1g bs=1M count=1000

第八个模块:

limit_req_zone $remote_addr zone=one:10m rate=1r/s; # 每秒用户只能请求1个
limit_req zone=one burst=5 nodelay;                 # 延迟处理5个

第九个模块: 限速

limit_rate_after 800M;
limit_rate 200k;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,302评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,232评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,337评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,977评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,920评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,194评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,638评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,319评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,455评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,379评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,426评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,106评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,696评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,786评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,996评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,467评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,043评论 2 341

推荐阅读更多精彩内容

  • 1.nginx开启目录浏览 提供下载功能 默认情况下,网站返回index指定的主页,但如果该网站不存在主页,则将...
    矮寨坡的M3阅读 366评论 0 0
  • 预备0.nginxRewrite 1.什么是rewriteRewrite主要实现url地址重写, 以及地址重定向,...
    徐弱西阅读 374评论 0 0
  • 一、目录结构 配置文件目录、 站点目录、 日志目录 1、配置文件目录 nginx/nginx.conf ...
    Jzyue阅读 351评论 0 3
  • HTTP协议 HTTP是客户端与服务端之间请求和应答的标准; 全名叫做: 超文本传输协议; HTTP协议在客户端与...
    linux_python阅读 346评论 0 0
  • nginx 网络IO模型 同步 (关注的是消息通知机制) 异步 阻塞 (关注的是nginx在等待内核通知之前所处的...
    德维什阅读 252评论 0 0