什么是Nginx?
Nginx是一款轻量且高性能的web服务器,反向代理服务器以及电子邮件(IMAP/POP3/SMTP)代理服务器,是被广泛使用的一种HTTP软负载均衡器。很多大型门户及网站比如淘宝、新浪都使用了Nginx。为什么要选择Nginx?
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应。
作为负载均衡器:数据流量过大,单一设备无法担负,为了防止意外发生就需要多几台设备进行数据分流,负载均衡器就相当于一个转发器,将数据分流到多台设备上减轻负担。Nginx安装简单,配置简单,使用灵活,成本又低所以被广泛使用。
最近项目中只用到了nginx的http反向代理,以下是简单的配置说明:
#运行用户
#user nginx;
#启动进程,通常设置成和cpu的数量相等
worker_processes 1;
#全局错误日志
error_log xx/logs/error.log warn;
#记录当前启动的nginx的进程ID
#pid xx/logs/nginx.pid;
#单个后台worker process进程的最大并发链接数
events {
worker_connections 1024;
}
#设定http服务器提供反向代理功能
http {
include xx/xx/mime.types;
#设定日志
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 120;
#gzip压缩开关
gzip on;
#http服务器
server {
#监听80端口
listen 80;
#使用server_name访问
server_name localhost;
#上传文件极限设置
client_max_body_size 20m;
#编码模式
#charset utf-8;
#location后面设置映射的路径
location /browser-sync/ {
proxy_pass http://localhost:3000/browser-sync/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /api/ceshi/ {
proxy_pass http://xx.xx.xx.xx:xx/api/ceshi/;
}
location / {
proxy_pass http://localhost:3000/;
}
#错误处理页面
#error_page 404 /404.html;
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
#root html;
#}
}
}
找到几个讲的比较好的教程,有空的时候可以深入学习:
1.nginx简易教程