1、nginx是什么?
Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
2、反向代理是什么?
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
3、下载
下载地址:http://nginx.org/en/download.html
解压后的目录结构
4、启动测试
在根目录 shift+右键 + 在此处打开命令窗口
浏览器输入 localhost 或者 127.0.0.1 显示如下:nginx启动成功
5、nginx命令
nginx -s reload :重启
nginx -s stop :快速关闭
nginx -s quit :平稳关闭
nginx -t :不运行,而仅仅测试配置文件。
nginx -v :显示 nginx 的版本
nginx -V :显示 nginx 的版本,编译器版本和配置参数
6、配置
如下:我准备代理tomcat部署的8080端口的所有网站。
#user nobody;
#启动进程,通常设置成和cpu的数量相等
worker_processes 1;
#全局错误日志
error_log C:/nginx/nginx-1.15.7/logs/error.log;
error_log C:/nginx/nginx-1.15.7/logs/error.log notice;
error_log C:/nginx/nginx-1.15.7/logs/error.log info;
#PID文件,记录当前启动的nginx的进程ID
#pid C:/nginx/nginx-1.15.7/logs/nginx.pid;
#工作模式及连接数上限
events {
worker_connections 1024;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
#设定mime类型(邮件支持类型),类型由mime.types文件定义
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 C:/nginx/nginx-1.15.7/logs/access.log main;
#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
#必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
sendfile on;
#tcp_nopush on;
#连接超时时间
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#设定实际的服务器列表,代理目标
upstream server1{
server 127.0.0.1:8080;
}
#HTTP服务器
server {
#监听80端口,80端口是知名端口号,用于HTTP协议
listen 80;
#定义自己的访问url,hosts中有配置
server_name localhost;
#首页
index index.jsp
# 项目路径
root C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps;
# 编码格式
charset utf-8;
#代理配置参数
proxy_connect_timeout 180;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_set_header Host $host;
proxy_set_header X-Forwarder-For $remote_addr;
location / {
proxy_pass http://server1;
}
}
配置完成后,重启nginx 测试localhost代理tomcat成功,。
tomcat部署的网站也都可以访问