nginx基本概念
nginx是一个高性能http和反向代理服务器,占有内存少,并发能力强
nginx专为性能优化而开发,能经受高负载
反向代理
正向代理:在客户端(浏览器)里面配置代理服务器,通过代理服务器进行互联网访问
反向代理客户端(浏览器)将请求发送给反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器就是一个服务器,暴露的是反向代理服务器地址,隐藏了真实服务器的ip地址
负载均衡
动静分离
把动态页面和静态页面由不同的服务器来解析,降低单个服务器压力
高可用
nginx安装,常用命令和配置文件
在linux系统中安装nginx
yum -y install make gcc-c++ cmake zlib zlib-devel libtool openssl openssl-devl pcre-devel
yum -y install make gcc-c++ cmake zlib zlib-devel libtool openssl openssl-devl pcre-devel
gcc是用来编译configura文件的,编译完成之后会生成Makefile文件
make 是用来编译Makefile文件的,编译之后使用make install命令安装
开放访问的端口号, 80 端口firewall-cmd --add-service=http –permanentfirewall-cmd --add-port=80/tcp --permanentnginx常用命令
使用nginx命令必须进入nginx下的sbin目录
./nginx -v查看版本号
./nginx -s stop 关闭nginx
./nginx 启动nginx
./nginx -s reload 重新加载
./nginx -c /opt/nginx-1.12.2/conf/nginx.conf使用/opt/nginx-1.12.2/conf/nginx.conf配置文件启动nginx
nainx配置文件
位置在conf目录下的nginx.conf
配置文件中的内容
包含三部分内容( 1 )全局块:配置服务器整体运行的配置指令比如 worker_processes 1; 处理并发数的配置( 2 ) events 块:影响 Nginx 服务器与用户的网络连接比如 worker_connections 1024; 支持的最大连接数为 1024( 3 ) http 块还包含两部分:http 全局块server 块为了防止nginx配置文件过于庞大可以将其他配置文件包含进来,一般都是把server块外置http{ include /etc/nginx/conf.d/*.conf }
此段代码就是告诉nginx,http块内的server块放置在/etc/nginx/conf.d/*.conf下
server{ }
nginx代理给服务器的时候会丢失请求的host信息,如下设置会保留host信息
server{ location / { proxy_set_header Host $host } }
反向代理
访问过程分析
具体配置
在hosts文件中添加ip地址和对应的域名
在nginx进行请求转发配置
server { listen 8888; server_name 192.168.1.131; location / { proxy_pass http://192.168.1.30:8080/test/index.html; index index.html index.htm; } }
示例2
准备两个tomcat一个808