Nginx超详细讲解

本文介绍了Nginx的基础概念,强调其在反向代理、负载均衡和动静分离方面的应用。Nginx的安装配置涉及全局块、events块和http块,其中http块用于配置虚拟主机和反向代理等。反向代理通过location指令实现,负载均衡策略包括轮询、权重和ip_hash。此外,文章还探讨了Nginx如何实现动静分离,以优化服务器资源分配。
摘要由CSDN通过智能技术生成

Nginx 概念简述

  Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发。
  Nginx的核心特点是占有内存少,并发能力强。

  • Nginx 应用场景:
    • HTTP/ Web服务器
    • 反向代理服务器
    • 负载均衡服务器
    • 动静分离

Nginx 安装配置

(1)上传Nginx安装包到服务器并解压。(下载地址:http://nginx.org)
(2)安装Nginx依赖(pcre、openssl、gcc、zlib等)。
(3)进入nginx-1.17.8,执行./configure。
(4)执行make。
(5)执行make install,之后会在/usr/local/下会产生nginx目录。
(6)进入目录cd nginx/sbin,执行./nginx。
(7)访问服务器的80端口(nginx默认监听80端口)

Nginx 主要命令

./nginx 启动nginx
./nginx -s stop 终止nginx(也可杀掉nginx进程)
./nginx -s reload (重新加载nginx.conf配置文件)

Nginx 核心配置文件解析

  Nginx的核心配置文件是conf/nginx.conf,包含3部分内容:全局块、events块、http块。

  • (1) 全局块。
    配置文件开始到events块开始中间的内容,此处的配置影响nginx服务器整体的运行,包括worker进程的数量、错误日志的位置等。
#user administrator administrators;  #配置用户或者组,默认为nobody nobody。
worker_processes 2;  #允许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid;   #指定nginx进程运行文件存放地址
error_log log/error.log debug;  #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
  • (2)events块
    events块主要是nginx服务器与用户的网络连接,例如worker_connections 1024,标识每个workderprocess支持的最大连接数为1024。
events {
   
    #use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
    worker_connections  1024;    #最大连接数,默认为512
}
  • (3)http块
    http块是日常配置最频繁部分,配置虚拟主机,监听端口,请求转发、反向代理、负载均衡等。
http {
   
    include       mime.types;   #文件扩展名与文件类型映射表
    default_type  application/octet-stream; #默认文件类型,默认为text/plain
    #access_log off; #取消服务日志    
    log_format myFormat '$remote_addr$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
    access_log log/access.log myFormat;  #combined为日志格式的默认值
    sendfile on;   #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
    sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
    keepalive_timeout 65;  #连接超时时间,默认为75s,可以在http,server,location块。
	
	server {
   
        listen       4545;        #监听端口
        server_name  127.0.0.1;   #监听地址       
        location  / {
           #请求的url过滤,正则匹配。
           root html;        #默认网络根目录位置
		   index index.html index.htm  #索引页 欢迎页           
        } 
		
		#错误提示页面
		error_page 500 502 503 504 /50x.html;
		location = 50x.html {
   
			root html;
		}
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值