安装在客户端的代理工具

在服务器端的代理

Nginx提供的负载均衡策略有两种:内置策略和扩展策略。内置策略为轮询,加权轮询,ip hash。扩展策略则比较多样


ip hash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给固定的服务器。可以解决session不共享的问题,但更推荐使用redis来解决该问题。

动静分离,在我们的软件开发中,有些请求是需要后台处理的,有些请求时不需要经过后台处理的(css、js、jpg等),这些不需要经过后台处理的文件称为静态文件。让动态网站里的动态动态网页根据一定规则把不变的资源和经常变得资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源相应的速度。


将其解压到没有中文的路径下
cmd 下运行nginx.exe或者双击运行
访问localhost


tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure
make
make install




cd /usr/local/nginx/sbin/
./nginx 启动
./nginx -s stop 停止
./nginx -s quit 安全退出
./nginx -s reload 重新加载配置文件
ps aux|grep nginx 查看nginx进程
注意:如何连接不上,检查阿里云安全组是否开放端口,或者服务器防火墙是否开放端口!
相关命令:
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;
... #全局块
events { #events块
...
}
http #http块
{
... #http全局块
server #server块
{
... #server全局块
location [PATTERN] #location块
{
...
}
location [PATTERN]
{
...
}
}
server
{
...
}
... #http全局块
}
# 工作进程数
# 1.默认:worker_processes: 1
# 2.调大:worker_processes: CPU核心数,(双核4线程,可以设置为4)
worker_processes 1;
# events : 配置影响nginx服务器或与用户的网络连接
events {
# worker_connections,单个工作进程可以允许同时建立外部连接的数量
worker_connections 1024;
}
# http : 可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置
http {
#文件扩展名与文件类型映射表
include mime.types;
#默认文件类型,默认为text/plain
default_type application/octet-stream;
# 开启高效文件传输模式
sendfile on;
# 连接超时时间,默认为75s,可以在http,server,location块。
keepalive_timeout 65;
# 文件大小限制,默认1m
client_max_body_size 20m;
# server块:配置虚拟主机的相关参数,
server {
listen 80;
server_name localhost;
# location块:配置请求的路由,以及各种页面的处理情况。
location / { ##请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
root /usr/project/dist; #根目录
try_files $uri $uri/ /index.html; #当用户请求 http://localhost/example 时,这里的 $uri 就是 /example
index index.html index.htm; #设置默认页
}
location /profile/
{
alias /home/ruoyi/uploadPath/;
}
location /prod-api/{
# 重定义发往后端服务器的请求头
# 语法格式: proxy_set_header Field Value;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_pass转发请求,且url不会变化
proxy_pass http://localhost:8080/;
}
location /dev-api/{
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/;
}
error_page 500 502 503 504 /50x.html;
# 配置/50x.html具体跳转的地址
location = /50x.html {
#放错误页面的目录路径
root html;
}
}
}