1、配置文件结构
# 全局块:可配置工作进程数、错误文件位置、pid文件位置等
#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;
# event块:网络连接相关的配置,如下标识一个工作进程可以处理的连接数为1024
events {
worker_connections 1024;
}
# http块:代理、缓存、日志记录、虚拟主机配置
http {
# http全局块:
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
# server块
server {
# server 全局块
listen 80; #监听的端口
server_name localhost; #部署nginx主机的域名或者ip
# location块
# / 表示处理对当前主机80端口下的所有请求
location / {
# root:根目录,资源所在的目录
root html;
# index:默认的界面,如下表示先在根目录下找index.html文件,找不到就继续找index.htm文件
index index.html index.htm;
}
}
}
2、静态资源部署
实现通过81端口访问我们新建的目录custom下的index.html文件
首先,在nginx的配置文件中添加如下server块
server {
listen 81; #监听的端口
server_name localhost; #当前主机
# location块
# / 表示处理对当前主机80端口下的所有请求
location / {
# root:根目录,资源所在的目录(nginx安装目录下的某一目录)
root custom;
# index:默认的界面,如下表示先在根目录下找index.html文件,找不到就继续找index.htm文件
index index.html index.htm;
}
}
然后在nginx的安装目录下新建一个custom文件夹
在文件夹下添加一个html文件(从html文件夹下复制的)
然后执行 nginx -s reload,重启nginx,最后访问虚拟机的81端口,可以看到欢迎界面:
3、反向代理,负载均衡
正向代理:(用户有感知的)
反向代理:(用户无感知的)
实践:
在idea创建两个简单的springboot项目,port分别是8080和8081,打jar包部署到虚拟机上,分别监听8080端口和8081端口
在nginx配置文件上加上如下配置
upstream targetserver {
server 192.168.56.202:8080;
server 192.168.56.202:8081;
}
server {
listen 82;
server_name localhost;
location /{
proxy_pass http://targetserver;
}
}
执行命令重启nginx
nginx -s reload
可以看到请求被分发到两个端口