Linux网点挂载及管理

Nginx配置文件
Nginx主配置文件/etc/nginx/nginx.conf是一个纯文本类型的文件,整个配置文件是以区块的形式组织的。一般,每个区块以一对大括号{}来表示开始与结束。

1.CoreModule 核心模块 全局配置
2.EventModule 事件驱动模块
3.HttpCoreModule http内核模块 局部

需了解扩展项
CoreModule层下可以有Event、HTTP
HTTP模块层允许有多个Server层, Server主要用于配置多个网站
Server层又允许有多个Location, Location主要用于定义网站访问路径

CoreModule核心模块
user nginx; #Nginx进程所使用的用户
worker_processes 1; #Nginx运行的work进程数量(建议与CPU数量一致或auto)
error_log /log/nginx/error.log; #Nginx访问错误日志存放路径
pid /var/run/nginx.pid ; #Nginx服务运行后产生的pid进程号

events事件模块
events {
worker_connections 1024; #每个worker进程支持的最大连接数
use epoll; #事件驱动模型, epoll默认
}

http内核模块

//公共的配置定义在http{}
http { //http层开始

//使用Server配置网站, 每个Server{}代表一个网站(简称虚拟主机)
server {
listen 80; //监听端口, 默认80
server_name localhost; //提供服务的域名或主机名
access_log host.access.log //访问日志
//控制网站访问路径
location / {
root /usr/share/nginx/html; //存放网站代码路径
index index.php index.html index.htm; //服务器返回的默认页面文件
}
//指定错误代码, 统一定义错误页面, 错误代码重定向到新的Locaiton
error_page 500 502 503 504 /50x.html;
}

服务管理
nginx.service
systemctl 指令 nginx.service

命令工具
nginx
-v 版本
-V 编译选项
-t 语法测试
-s reload
stop
restart
###########################

1.Nginx目录索引
1.Nginx默认是不允许列出整个目录浏览下载。
Syntax: autoindex on | off;
Default: autoindex off;
Context: http, server, location

autoindex常用参数

autoindex_exact_size off;
默认为on, 显示出文件的确切大小,单位是bytes。
修改为off,显示出文件的大概大小,单位是kB或者MB或者GB。

autoindex_localtime on;
默认为off,显示的文件时间为GMT时间。
修改为on, 显示的文件时间为文件的服务器时间。

charset utf-8,gbk;
默认中文目录乱码,添加上解决乱码。(CentOS7.6有bug)

整理:
如果需要做目录索引,或者download页面
location /download {
root /code/www;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
charset utf-8,gbk;
}

实例:在www的站点下,建立一个download页面
1.安装nginx软件包

2.创建站点资源

mkdir -p /code/www/download

通过xshell上的xftp,将download页面所需资源(视频、文档、音乐)传到/code/www/download目录下

echo “welcome to hs.com” > /code/www/index.html

3.创建站点配置文件

cd /etc/nginx/conf.d

mv default.conf default.conf.bak

vim www.conf

server{
listen 80;
server_name www.hs.com;

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

    location /download {
            root /code/www;
            autoindex on;
            autoindex_exact_size off;
            autoindex_localtime on;
            #charset utf-8,gbk;
    }

}

4.重启服务

systemctl restart nginx

5.修改hosts文件,添加域名解析
10.0.0.101 www.hs.com

6.通过浏览器访问看效果

2.Nginx状态监控
1).ngx_http_stub_status_module用于展示Nginx连接状态信息, 需要–with-http_stub_status_module模块支持

Syntax: stub_status;
Default: —
Context: server, location

2).配置Nginx status
location /nginx_status {
stub_status;
access_log off;
}

Active connections: 2
server accepts handled requests
4 4 61
Reading: 0 Writing: 1 Waiting: 1

Active connections # 当前活动的连接数
accepts 4 # 当前的TCP总连接数
handled 4 # 成功的TCP连接数
requests 61 # 总的http请求数

在这里插入图片描述

在这里插入图片描述
实例:在www页面下添加一个状态检测
1)编辑www的站点配置文件,添加stub_status

vim /etc/nginx/conf.d/www.conf

server{
……
location /www_status {
stub_status;
access_log off;
}
}

在这里插入图片描述

2).重启服务

systemctl restart nginx

3).客户端访问
http://www.hs.com/www_status

3.Nginx访问控制

1).Nginx基于IP的访问控制
基于IP的访问控制 http_access_modul

//允许配置语法
Syntax: allow address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except
//拒绝配置语法
Syntax: deny address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except

访问控制规则查看流程:
从上往下,依次匹配,满足就停止

企业中访问控制的思路:
先写允许,默认拒绝所有
location {
……
allow 10.0.0.1;
deny all;
}
先写拒绝,默认允许所有
location {
……
deny 10.0.0.1;
allow all;
}

2).基于用户登陆认证 http_auth_basic_module

//配置语法
Syntax: auth_basic string| off;
Default: auth_basic off;
Context: http, server, location, limit_except
//用户密码记录配置文件
Syntax: auth_basic_user_file file;
Default: -
Context: http, server, location, limit_except

//需要安装依赖组件
[root@web01 ~]# yum install httpd-tools
[root@web01 ~]# htpasswd -b -c /etc/nginx/.auth_conf tanfei 123456

//可在http,server,location下添加如下信息
auth_basic “Auth access Blog Input your Passwd!”;
auth_basic_user_file /etc/nginx/.auth_conf;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
实例:针对上面的例子,增加download页面的用户验证
1).创建用户密码认证文件

yum install -y httpd-tools

htpasswd -b -c /etc/nginx/.auth_conf tanfei 123

2).编辑站点配置文件,在对应的location下加入用户验证的代码

vim /etc/nginx/conf.d/www.conf

server{
……
location /download {
……
auth_basic “Auth access Download Page,Input your Passwd!”;
auth_basic_user_file /etc/nginx/.auth_conf;
}
……
}

4.虚拟主机
通过一台设备搭建多个站点
早期,中小型企业没有服务器,只有ISP有大型机房

www.hs.com 首页
game.hs.com 游戏页面
bbs.hs.com 论坛
blog.hs.com 博客

通过不同的域名实现虚拟主机
1.创建站点所需目录及资源

mkdir -p /code/{www,game,bbs,blog}

echo welcome to hs.com > /code/www/index.html

echo bbs > /code/bbs/index.html

echo blog > /code/blog/index.html

游戏页面参考day06的实验

创建自定义日志路径

mkdir /etc/nginx/logs

2.创建站点配置文件

cd /etc/nginx/conf.d

mv default.conf default.conf.bak

vim www.conf

server{
listen 80;
server_name www.hs.com;
access_log “/etc/nginx/logs/www_access.log”;
error_log “/etc/nginx/logs/www_error.log”;

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

}

cp www.conf bbs.conf

cp www.conf blog.conf

sed -i ‘s#www#bbs#g’ bbs.conf

sed -i ‘s#www#blog#g’ blog.conf

3.重启nginx服务

systemctl restart nginx

4.修改hosts文件,添加域名解析
10.0.0.101 game.hs.com www.hs.com bbs.hs.com blog.hs.com

5.客户端通过浏览器访问(谷歌或火狐)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值