nginx.exe 所在目录,双击nginx.exenginx.exe 路径到 cmd 中并进入./nginx -v 显示版本号即安装成功localhost:80 即可访问 nginx 的首页sudo yum install -y nginxsudo systemctl start nginx.servicesudo systemctl enable nginx.servicelocalhost:80 即可访问 nginx 的首页
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is okvi /etc/nginx/nginx.confhttp {
server {
listen 80; # 端口号,可修改为自己需要的
server_name http://10.60.xxx; # 域名
location / { # 监听的路径
root /xxx; # 首页所在目录,有默认值,也可以自定义
index index.html index.htm; # 默认入口
}
}
}
./nginx -s reloadnginx -s reloadnginx -t 测试配置是否正确,配置文件修改后先操作验证,在进行后续操作。nginx -s reload 加载最新配置,等待全部子进程结束,然后开辟新的子进程使用新的配置。nginx -s reopen 重新打开日志,重命名 access.log 日志文件,并重新创建新 access.log 文件,再次访问查看变化。nginx -s quit 优雅停止,等待全部子进程处理完毕,不再开启新的子进程。nginx -s stop 立即停止,不等待子进程处理,立即停止所有子进程及主进程。nginx -h 进行查看./nginx -XXXXMain #全局配置区,Nginx 核心功能配置
events{ # events 事件区,子进程核心配置
}
http { # http 服务器配置区
server { # 不同服务配置区
location { # location 不同请求路径配置区
}
}
}
mail{ # 邮件代理配置区
server{ # 邮件服务配置区
}
}
配置项中出现的 include /xx/xx 是引入外部配置项;# 则是注释内容;
Windows 与 Linux 中默认配置不同,但配置项含义都是一样的
user www-data; #使用那个用户角色运行 Nginx
worker_processes auto; #允许开启的 worker 数量,通常设置成和cpu的数量相等
pid /run/nginx.pid; # pid 路径
include /etc/nginx/modules-enabled/*.conf; #引入其他配置项
events { # 事件区
# 每个 work 进程支持的最大链接数,理论值 65535 每个进程的最大句柄数
worker_connections 1024;
# 2字节==16位,
}
http { # http 区
#sendfile 指定 nginx 调用 sendfile 函数(zero copy 方式)来输出文件,
#配合 tcp_nopush 与 tcp_nodelay 完成数据的快速响应
sendfile on;
tcp_nopush on; # 数据包会累积后一起传输,可以提高传输效率。
tcp_nodelay on; #小的数据包不等待直接传输
# tcp_nopush 与 tcp_nodelay 互斥,Nginx 会借助sendfile 进行平衡处理
# 持久链接打开的超时时长
keepalive_timeout 65;
# 散列表的冲突率,越大,消耗内存越多,冲突率越低,检索速度就更快
types_hash_max_size 2048;
# mime 类型列表
include /etc/nginx/mime.types;
# 默认 mime 类型 流
default_type application/octet-stream;
# 协商ssl加密算法时,优先使用服务端的加密套件
ssl_prefer_server_ciphers on;
# [错误]日志存储路径
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
# 开启 gzip 协议压缩,减少数据传输量
gzip on;
# 引入其他配置文件
include /etc/nginx/conf.d/*.conf;
server { #server区
# 设置系统监听端口
listen 80 default_server;
listen [::]:80 default_server;
# 定义服务器访问默认根路径
root /var/www/html;
# 定义首页索引文件的名称
index index.html index.htm index.nginx-debian.html;
# 定义访问域名
server_name _;
# location 区域,相当于路由判断
location / {
try_files $uri $uri/ =404;
}
}
}
内网服务器因为要处理大量的业务逻辑,因此,内网单台服务器的响应能力非常有限,为了提供更加快速的响应,一般会在内网架设多台业务逻辑处理器,当某一台正在工作时,可以由其他正在闲置的服务器来处理请求响应;
后端多台相同的业务逻辑服务器,被称为服务器集群;而当请求到来时,到底由那台服务器进行处理,取决于代理转向那台服务器,这项能力,就叫负载均衡