目录
本文以《Nginx 理论详解》为基础
Windows 下安装运行 Nginx
1、进入Nginx官网 进行下载,Mainline version(主线版本)、Stable version(稳定版本)、Legacy versions(历史版本)。
2、第2列是 Linux 版本,如 nginx-1.20.2 、第3列是 windows 版本,如 nginx/Windows-1.20.2。
3、就像Tomcat 服务器小巧一样,Nginx 服务器下载下来的文件也很小。
4、下载解压后,Windows 版本可以直接双击运行,类似 Tomcat,都是绿色版的;Linux 版本的需要解压之后进行编译、然后安装,再使用,类似 Redis 的安装。
5、Nginx 默认使用"80"端口 ,所以运行之前,保证 80 端口没有被占用,否则启动失败。直接杀掉进程关闭 Nginx 也行,使用命令也行。
6、默认的 80 端口可以修改,修改 conf\nginx.conf 配置文件中的配置项:server{listen 80;
# nginx 常用命令,没配置环境变量时,在 nginx.exe 所在目录下使用命令行即可。
start nginx.exe //启动
nginx.exe -s reload //重启
nginx.exe -s stop //快速停止
nginx.exe -s quit //完整有序停止
Nginx 反向代理单个 web 服务
1、代理集群之前,先掌握如何代理单个服务器。首先准备一个 Java Web 项目,然后启动,保证可以通过浏览器访问。这里演示直接访问百度:https://www.baidu.com
2、修改 nginx 的 conf 目录下的 nginx.conf 文件,在 locatioin / {} 中添加反向代理:“proxy_pass 代理服务器路径”
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
#proxy_pass:配置反向代理的服务器地址,配置到端口部分即可。不用写上下文路以及具体 url 路径.
proxy_pass https://www.baidu.com;
}
Nginx 反向代理集群 web 服务
1、修改 nginx 的 conf 目录下的 nginx.conf 文件,在 http 节点下添加如下所示:
upstream 自定义名称 {
server 服务器IP:端口;
server 服务器IP:端口;
}
2、修改 location / {} 中的反向代理 :proxy_pass http://上一步的“自定义名称”
(重要提示:upstream 后面的名称不要使用"_"符号连接,推荐使用驼峰名称,如 serverWangMaoXiong,否则 1.16版本时会报错)
3、重启Nginx服务器,然后再次访问,会发现页面随机的显示 Tomcat 1与Tomcat 2中的应用内容。
4、注意:集群是为了给服务器进行负载均衡,减轻压力,但对于用户来说,不管访问的是哪台具体的服务器,内容应该是一样的才对,不可能在服务器A下的单,一刷新访问到服务器B时,订单就没有,这是不允许的,如下所示,显然用户的Session不一致,这就是引出了“Session 共享”的问题。具体请参考后续的《Nginx 集群下的 Session共享》