Nginx学习
nginx.conf
nginx.conf 配置文件中默认有三大块: 全局快, events块, http块
http块中可以配置多个server块,每个server块又可以配置多个location块
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
# 当发送的请求是 localhost:80就会被当前的server拦截
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
全局块
user指令
(1)user:用于配置运行Nginx服务器的worker进程的用户和用户组。
语法 | user user [group] |
---|---|
默认值 | nobody |
位置 | 全局块 |
该属性也可以在编译的时候指定,语法如下./configure --user=user --group=group ,如果两个地方都进行了设置,最终生效的是配置文件中
的配置。
该指令的使用步骤:
(1)设置一个用户信息"www"
user www;
(2) 创建一个用户
useradd www
(3)修改user属性
user www
(4)创建/root/html/index.html页面,添加如下内容
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans- serif;}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p>
<p>For online documentation and support please refer to<a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p> <p><em>I am WWW</em></p>
</body>
</html>
(5)修改nginx.conf
location / {
root /root/html;
index index.html index.htm;
}
(5)测试启动访问
页面会报403拒绝访问的错误
(6)分析原因
因为当前用户没有访问/root/html目录的权限
(7)将文件创建到 /home/www/html/index.html ,修改配置
location / {
root /home/www/html;
index index.html index.htm;
}
(8)再次测试启动访问
能正常访问。
综上所述,使用user指令可以指定启动运行工作进程的用户及用户组,这样对于系统的权限访问控制的更加精细,也更加安全。
work process指令
master_process:用来指定是否开启工作进程。
语法 | master_process on/off; |
---|---|
默认值 | master_process on; |
位置 | 全局块 |
worker_processes:用于配置Nginx生成工作进程的数量,这个是Nginx服务器实现并发处理服务的关键所在。理论上来说workder process的值越大,可以支持的并发处理量也越多,但事实上这个值的设定是需要受到来自服务器自身的限制,建议将该值和服务器CPU的内核数保存一致。
语法 | worker_processes num/auto; |
---|---|
默认值 | 1 |
位置 | 全局块 |
其他指令
daemon:设定Nginx是否以守护进程的方式启动。
守护式进程是linux后台执行的一种服务进程,特点是独立于控制终端,
不会随着终端关闭而停止。
语法 | daemon on/off; |
---|---|
默认值 | daemon on; |
位置 | 全局块 |
error_log:用来配置Nginx的错误日志存放路径
语法 | error_log file [日志级别]; |
---|---|
默认值 | error_log logs/error.log error; |
位置 | 全局块、http、server、location |
该属性可以通过./configure --error-log-path=PATH来指定
其中日志级别的值有:
debug|info|notice|warn|error|crit|alert|emerg,翻译过来为试|信 息|通知|警告|错误|临界|警报|紧急,这块建议大家设置的时候不要设
置成info以下的等级,因为会带来大量的磁盘I/O消耗,影响Nginx的性
能。
原文地址:https://www.cnblogs.com/circle-coder/p/15213585.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 面试题-List之ArrayList、Vector、SynchronizedList、CopyOnWriteArrayList
- 面试题-JAVA设计模式之单例模式的5种实现方式
- 面试题-JAVA中的深拷贝、浅拷贝原理及实现
- Cross-Origin Resource Sharing (CORS)-跨域
- 多线程技术-CountDownLatch在业务中实践
- Mybatis源码阅读-准备环境搭建
- 【SpringBoot WebFlux 系列】WebFlux 之 Path 参数解析与 url 映射
- Oracle的expdp和impdp的使用方法
- python中的密度图与柱状图
- 单细胞数据(scRNAseq)可以做GSEA吗?
- mybatis-plus的collection、association 标签传递多参数
- 100 的阶乘末尾有多少个0?
- C语言面试之——地址的强制转换
- Redis:我承载了上千万人的火影青春
- 使用云函数 SCF+COS 快速开发全栈应用