11.Nginx基础模块(一)
安装nginx
1.修改nginx的官方源
[ ~]# vim /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
2.安装ngixn
[ ~]# yum install -y nginx
3.启动nginx,并加入开机自启
[ ~]# nginx [ ~]# nginx [ ~]# systemctl enable nginx Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
4.检测端口和进程
[ ~]# ps -ef|grep [n]ginx [ ~]# netstat -lntup|grep 80
5.部署新网站
[ ~]# vim /etc/nginx/nginx.conf server { listen 80; server_name www.lol.com; location / { root /cole/lol; index inde.html; } } # 创建站点目录 [ ~]# mkdir -p /cole/lol # 把lol前端的代码复制过来,粘贴到index.html里面 [ ~]# vim /cole/lol/index.html
6.检查语法重新加载nginx
# 1.检测语法 [ ~]# nginx -t # 2.重新加载 [ ~]# systemctl reload nginx
7.给web01做域名解析
8.给centos和Mac上做域名解析(哪台虚拟机需要就做)
[ ~]# vim /etc/hosts 10.0.0.8 www.lol.com
9.访问网站,这里加了解决乱码的模块
nginx常用基础模块
需要了解
ctrl f 可以查找
Syntax: 语法
Default: 系统默认
Context: 环境(放哪)
CRM学习法
C:copy (复制)
R:run (运行)
M:modifu (修改)
ngx_http_index_module
############## index模块 Syntax: index file ...; # 语法 Default: index index.html; # 系统默认 Context: http, server, location # 环境(放哪) # 例: location = / { index index.html; }
ngx_http_autoindex_module
################ 目录索引模块 # 1. ngx_http_autoindex_module模块处理以斜杠字符(‘/‘)结尾的请求,并生成目录列表。 # 2. 当ngx_http_index_module模块找不到索引文件时,通常会将请求传递给ngx_http_autoindex_module模块。 # autoindex 系统默认是off,需要改成on。然后注释掉index模块,就可以目录索引了。 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; # 默认中文目录乱码,添加上解决乱码。 # (不常用) autoindex_format html | xml | json | jsonp; # 设置目录列表格式
开启autoindex模块
# 开启autoindex模块 [ lol]# vim /etc/nginx/conf.d/www.lol.com.conf server { listen 80; server_name www.lol.com; access_log /var/log/nginx/lol_access.log main; location / { root /cole/lol; autoindex on; } } # 把/cole/lol里面的index.html名字修改成其他名字
修改乱码,大小和时间
# 开启autoindex模块 [ lol]# vim /etc/nginx/conf.d/www.lol.com.conf server { listen 80; server_name www.lol.com; access_log /var/log/nginx/lol_access.log main; charset utf-8,gbk; # 修改乱码 location / { root /cole/lol; autoindex on; # 开启目录索引 autoindex_exact_size off; # 文件大小以 k或者k以上显示 autoindex_localtime on; # 与跟系统同步时间 autoindex_format html; # 默认格式 } }
可以让他默认访问域名是一个页面,域名下的download是一个目录索引
[ lol]# vim /etc/nginx/conf.d/www.lol.com.conf server { listen 80; server_name www.lol.com; access_log /var/log/nginx/lol_access.log main; charset utf-8,gbk; location / { root /cole/lol; index index.html; } location /download { alias /opt/down; # 别名,使用绝对路径好找到目录 autoindex on; autoindex_exact_size off; autoindex_localtime on; autoindex_format html; } }
访问域名
域名下的download
ngx_http_stub_status_module
################ Nginx监控状态模块 ngx_http_stub_status_module模块提供对基本状态信息的访问。 默认情况下不构建此模块,应使用--with-http_stub_status_module配置参数启 Syntax: stub_status; Default: — Context: server, location # 添加到之前location下面就可以,sercer内。 [ lol]# vim /etc/nginx/conf.d/www.lol.com.conf location /zt { # 随便取名字 stub_status; } # 检测 [ /cole/lol]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Active connections # 当前活动的连接数 1 accepts # 当前的总连接数TCP 147 handled # 成功的连接数TCP 147 requests # 总的http请求数 991 Reading # 请求 0 Writing # 响应 1 Waiting # 等待的请求数,开启了keepalive 0 # 注意, 一次TCP的连接,可以发起多次http的请求, 如下参数可配置进行验证 # 在nginx的默认配置里面 keepalive_timeout 0; # 类似于关闭长连接 keepalive_timeout 65; # 65s没有活动则断开连接
http_auth_basic_module
############# 基于用户登入认证模块 ngx_http_auth_basic_module模块允许通过使用“http基本身份验证”协议验证用户名和密码来限制对资源的访问 可以使用“htpasswd”实用程序从Apache HTTP服务器分发版或“openssl passwd”命令生成。 Syntax: auth_basic string | off; # 随便写点东西或者是off就可以开启 Default: auth_basic off; Context: http, server, location, limit_except # 例: location / { auth_basic "closed site"; auth_basic_user_file conf/htpasswd; } # 1. 引号里随便写就可以了,想锁哪个location就复制下面3行到某个站点下,用户密码文件需要配一个路径。 # 2. 然后配合htpasswd设置用户和密码(htpasswd命令在httpd服务的包下)。 # 例如,放在index.html的站点目录下 [b01 lol]# vim /etc/nginx/conf.d/www.lol.com.conf server { listen 80; server_name www.lol.com; access_log /var/log/nginx/lol_access.log main; charset utf-8,gbk; location / { root /cole/lol; index index.html; auth_basic "ok"; auth_basic_user_file /opt/pass; } # 检查语法 [ /cole/lol]# nginx -t # 设置密码文件 [ pass]# htpasswd -b -c /opt/pass qwe qwe123 Adding password for user qwe # htpasswd:创建一个http协议支持的用户名和加密密码 -b:免交互,直接在命令行输入密码 -c:创建一个新文件,后面跟文件路径(将用户名和加密密码放入) 文件路径后面跟: user password [ /cole/lol]# cat /opt/pass qwe:$apr1$Pnr3PeiB$r/w7O1877tPJh5vSogC/y/ # 如果你想多设置几个用户,那么就htpasswd这个命令多设置几个加密密码在其他目录,然后把加密密码和用户名追加到/opt/pass目录下,就可以多个用户登入了。(没啥用)
几个模块完整的命令
[ lol]# vim /etc/nginx/conf.d/www.lol.com.conf server { listen 80; server_name www.lol.com; access_log /var/log/nginx/lol_access.log main; charset utf-8,gbk; location / { root /cole/lol; index index.html; auth_basic "ok"; auth_basic_user_file /opt/pass; } location /download { alias /opt/down; autoindex on; autoindex_exact_size off; autoindex_localtime on; autoindex_format html; } location /zt { stub_status; } }
相关推荐
HanksWang 2020-11-10
nginxs 2020-11-14
Guanjs0 2020-11-13
小木兮子 2020-11-11
yserver 2020-11-11
ssihc0 2020-11-11
windle 2020-11-10
liuchen0 2020-11-10
Freshairx 2020-11-10
ccschan 2020-11-10
liwf 2020-11-10
Guanjs0 2020-11-09
AderStep 2020-11-09
zrtlin 2020-11-09
mqfcu 2020-11-10
windle 2020-10-29