1 什么是Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。(源于百度)
其中肯定有个问题?什么是正向代理,什么是反向代理?
正向代理:是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。用到的场景:比如翻墙,要访问国外的谷爹,自己不能直接访问,那么就找台能访问国外网站的服务器,通过向这个中间服务器 (这个中间服务器就是正向代理服务器),发起请求,获得谷爹的信息,这个就是利用正向代理进行翻墙访问。
反向代理,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。自己的理解就是:代理服务器在客户端看来,好像就是我要访问的服务器,而实际上,代理服务器并不是自己给客户端提供服务,代理服务器用调用第三方服务器内容返回给客户端,所有,这个过程在客户端看来 就是反向
2 Nginx被用来干什么
1.nginx是一个轻量级的服务器,由于其支持高并发的特性。常被用来当做分发处理用法请求的第一道关口。nginx作为反向代理服务器,建立一个服务器集群,增加这个应用的处理能力。
3 Nginx安装
(请问度娘解决)
4 Nginx配置文件
#user nobody;
#最大进程数 建议值为机器最大支持线程数
worker_processes 8;
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;
}
http {
include 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 off;
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#负载均衡配置 1.默认是轮询(自上而下)
upstream fzjh {
#2.开启ip_hash
#ip_hash
server 180.97.33.107;
server 123.207.49.51;
#3.权重法
# server 180.97.33.107 weight=5; 则访问概率为50%
# server 123.207.49.51 weight=4 则访问概率为40%
# server 123.207.49.51 (默认为1)则访问概率为10%
# 访问概率为 权重/总权重
}
#负载均衡配置
server {
listen 8100;
server_name localhost;
charset utf-8;
location / {
proxy_pass http://fzjh;
}
}
#静态代理配置
server {
listen 8200;
server_name localhost;
charset utf-8;
location / {
root html;
index index.html;
autoindex on;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
}
#缓存配置 静态资源缓存期限 30天
location ~ *\.(jpg|png|jpeg|swf|gif)$ {
expires 30d;
}
#缓存配置 css js 资源缓存期限 1h
location ~ *\.(css|js)$ {
expires 1h;
}
}
}
几个基本命令
1.启动nginx (进入nginx目录下 点击nignx.exe图标)
cmd 进入nginx目录 输入 nginx 敲回车
2 重启 nginx -s reload
3 退出 nginx -s quit 或者 nginx -s stop