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;
}