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;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

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

友情链接更多精彩内容