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;

}

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请求数

Linux网点挂载及管理
实例:在www页面下添加一个状态检测
1)编辑www的站点配置文件,添加stub_status

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

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

Linux网点挂载及管理
Linux网点挂载及管理
实例:针对上面的例子,增加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”;

}

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.客户端通过浏览器访问(谷歌或火狐)

来源:涂兆诚

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月22日
下一篇 2019年5月22日

相关推荐