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请求数
vim /etc/nginx/conf.d/www.conf
server{
 ……
 location /www_status {
 stub_status;
 access_log off;
 }
 }
yum install -y httpd-tools
htpasswd -b -c /etc/nginx/.auth_conf tanfei 123
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进行处理,非常感谢!