- 什么是nginx:
是一个高性能的HTTP和反向代理服务器 - nginx的特点:
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
- nginx的应用场景
nginx在实际工作中,可以进行正向代理,反向代理,负载均衡,动静分离等应用; - nginx安装
具体安装过程请浏览此篇文章 - nginx 配置文件介绍:
nginx中最主要的就是配置文件,我们通过不同的配置来实现不同的应用场景;
在linux系统的路径下 nginx/conf/nginx.conf
5.1 nginx.conf文件的结构:
#user nobody;
worker_processes 1; #全局生效
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024; #在event中部分生效
}
http {
include mime.types; #以下指令在http部分中生效
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream myserver{
server 192.168.xxx.xxx:8080;
server 192.168.xxx.xxx:8081;
}
server {
listen 80; #以下指令在http的server部分中生效
server_name 192.168.xxx.xxx;
location ~ /edu/ { #以下指令在http的server的location部分中生效
proxy_pass http://myserver;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
根据配置文件结构,我们可以把配置文件分为:
全局块、events块、http块(其中http块中又分为 http全局块、server块(server块中又分为server全局块和location块));
配置文件支持大量可配置的指令,绝大多数指令不是特定属于某一个块的。同一个指令放在不同层级的块中,其作用域也不同,一般情况下,高一级块中的指令可以作用于其自身所在的块和此块所包含的所有低层级块中。如果某个指令在两个不同层级的块中同时出现,则采用”就近原则“,即以底层级块中的配置为准。
5.2 全局块
全局块主要设置一些影响Nginx服务器整体运行的配置指令,作用域是服务器全局。
通常包括nginx服务器的用户、允许生成的worker process数,Nginx进程PID存放路径、日志的存放路径和类型以及配置文件引入等;