当前位置: 首页 > wzjs >正文

小程序可以做网站吗外贸平台

小程序可以做网站吗,外贸平台,webgl网站开发,计算机毕设网站建设怎么改目录 1. 正向代理 1.1 编译安装 Nginx 1.2 配置正向代理 2. 反向代理 2.1 配置nginx七层代理 2.2 配置nginx四层代理 3. Nginx 缓存 3.1 缓存功能的核心原理和缓存类型 3.2 代理缓存功能设置 4. Nginx rewrite 和正则 4.1 Nginx正则 4.2 nginx location 4.3 Rewri…

目录

1. 正向代理

1.1  编译安装 Nginx

1.2 配置正向代理

2. 反向代理

2.1 配置nginx七层代理

2.2 配置nginx四层代理

3. Nginx 缓存

3.1 缓存功能的核心原理和缓存类型

3.2 代理缓存功能设置

4. Nginx rewrite 和正则

4.1 Nginx正则

4.2 nginx location

4.3 Rewrite


1. 正向代理

正向代理(Forward Proxy)是一种位于客户端和原始服务器之间的代理服务器,其主要作用是将客户端的请求转发给目标服务器,并将响应返回给客户端Nginx 的 正向代理 充当客户端的“中间人”,代表用户访问外部资源并隐藏真实 IP。它是企业内网管控、安全审计与加速访问的核心工具。用于场景一般是:

  • 内网访问控制:限制员工访问特定网站(如社交媒体)
  • 匿名访问:通过代理服务器隐藏用户真实身份。
  • 资源缓存加速:缓存公共资源(如软件包、镜像文件),减少外网带宽消耗。

1.1  编译安装 Nginx

安装支持软件

在安装 Nginx 之前,你得先安装一些必要的支持软件,以确保编译过程顺利进行。

dnf install -y gcc make pcre-devel zlib-devel openssl-develperl-ExtUtils-MakeMaker git wget tar

创建运行用户、组和日志目录

创建一个专门用于运行 Nginx 的用户和组,同时创建日志目录并设置相应的权限:

# 创建nginx用户和组
groupadd nginx
useradd -r -g nginx -s /sbin/nologin nginx# 创建日志目录
mkdir -p /var/log/nginx
chown -R nginx:nginx /var/log/nginx

编译安装 Nginx

下载 Nginx 源码包,解压后进行编译和安装:

# 下载Nginx源码
wget http://nginx.org/download/nginx-1.22.1.tar.gz# 解压源码包
tar -zxvf nginx-1.22.1.tar.gz
cd nginx-1.22.1# 配置编译选项
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx \
--with-http_ssl_module --with-http_gzip_static_module \
--with-stream --with-stream_ssl_module \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log# 编译并安装
make && make install

添加Nginx 系统服务

创建一个 systemd 服务文件,方便对 Nginx 进行管理:

cat <<EOF > /etc/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT \$MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF# 重新加载systemd管理器配置
systemctl daemon-reload# 启动Nginx并设置开机自启
systemctl start nginx
systemctl enable nginx

1.2 配置正向代理

编辑主配置文件添加正向代理相关配置

编辑 Nginx 主配置文件/usr/local/nginx/conf/nginx.conf,添加以下内容:

http {# 其他配置...server {listen 8080;resolver 8.8.8.8;  # 使用Google的公共DNS服务器location / {proxy_pass http://$host$request_uri;proxy_set_header Host $host;}}
}

验证正向代理

重新加载 Nginx 配置:

systemctl reload nginx

通过 curl 命令验证正向代理是否正常工作

curl -x http://127.0.0.1:8080 https://www.example.com

2. 反向代理

Nginx 的七层(应用层)反向代理基于 HTTP/HTTPS 协议,深度解析应用层内容(如 URL,Header、Cookie),将客户端请求精准转发至后端服务器。作为企业级架构的“智能调度器”,它实现了负载均衡、安全隔离与性能优化的核心能力。应用场景一般是:

  • 负载均衡:将流量分发至多台后端服务器,避免单点故障。
  • 动静分离:静态资源(图片、CSS/JS)由 Nginx 直接响应,动态请求(PHP、API)转发至Apache/Tomcat.
  • 灰度发布:根据请求特征(如IP、Header)将部分流量导向新版本服务。

Nginx的四层(网络层)反向代理基于 TCP/UDP 协议,直接转发原始数据流,不解析应用层内容。它专为高性能、低延迟的传输层场景设计,是数据库、游戏服务器等非 HTTP 服务的理想选择。应用场景一般是:

  • 数据库代理:对外暴露统一端口,内部转发至 MySQL、Redis 集群。
  • 游戏服务器:代理 UDP 协议,实现实时数据包负载均衡。
  • SSH 跳板机:通过端口映射安全访问内网服务器。
  • 高可用服务:TCP服务(如 MQTT)的主备切换与健康检查。

反向代理,指的是浏览器/客户端并不知道自己要访问具体哪台目标服务器,只知道去访问代理服务器,代理服务器再通过反向代理 +负载均衡实现请求分发到应用服务器的-种代理服务。
反向代理服务的特点是代理服务器 代理的对象是应用服务器,也就是对于浏览器/客户端 来说应用服务器是隐藏的。

2.1 配置nginx七层代理

通过配置nginx七层代理实现转发nginx请求至后端的httpd服务,通过该转发也能实现nginx+httpd的动静分离

配置nginx七层代理转发

编辑 Nginx 主配置文件/usr/local/nginx/conf/nginx.conf,添加以下内容:

http {# 其他配置...upstream backend {server 192.168.1.100:8080;  # 后端服务器地址和端口}server {listen 80;server_name example.com;location / {proxy_pass http://backend;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
}

验证转发效果

重新加载 Nginx 配置:

systemctl reload nginx

在浏览器中访问http://example.com,若能正常访问后端服务器的内容,则说明转发配置成功。

2.2 配置nginx四层代理

配置四层代理

编辑 Nginx 主配置文件/usr/local/nginx/conf/nginx.conf,添加以下内容:

stream {upstream backend {server 192.168.1.100:3306;  # 后端服务器地址和端口}server {listen 3307;proxy_pass backend;}
}

验证四层代理

重新加载 Nginx 配置:

systemctl reload nginx

使用数据库客户端连接到127.0.0.1:3307,若能正常连接到后端数据库服务器,则说明四层代理配置成功。

3. Nginx 缓存

3.1 缓存功能的核心原理和缓存类型

Nginx 缓存的核心原理是将客户端请求的响应内容存储在本地磁盘或内存中,当有相同请求到来时,直接从缓存中获取响应,从而减少后端服务器的负载和响应时间。Nginx 支持的缓存类型主要有内存缓存和磁盘缓存。

3.2 代理缓存功能设置

反向代理配置

编辑 Nginx 主配置文件/usr/local/nginx/conf/nginx.conf,添加以下内容:

http {# 其他配置...proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;upstream backend {server 192.168.1.100:8080;  # 后端服务器地址和端口}server {listen 80;server_name example.com;location / {proxy_pass http://backend;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_cache my_cache;proxy_cache_key "$scheme$request_method$host$request_uri";proxy_cache_valid 200 302 10m;proxy_cache_valid 404 1m;}}
}

设置缓存功能

上述配置中,proxy_cache_path用于定义缓存的存储路径、缓存区域名称、缓存大小等参数;proxy_cache指定使用的缓存区域;proxy_cache_key定义缓存的键;proxy_cache_valid定义不同响应状态码的缓存时间。

验证缓存功能

重新加载 Nginx 配置:

systemctl reload nginx

4. Nginx rewrite 和正则

在云计算与分布式架构的时代,Nginx凭借其高性能、高并发处理能力以及模块化设计,已成为现代Web服务的核心组件之一。它不仅是负载均衡、反向代理的首选工具,更是实现流量调度、安全防护和动态路由的关键枢纽。而在这其中,Rewrite模块作为Nginx的“规则引擎”,扮演着至关重要的角色--它赋予开发者精准控制URL的能力,让请求的流转不再受限于物理路径,而是通过逻辑规则灵活适配业务需求。

4.1 Nginx正则

下表中列举出一些常用的正则表达式元字符:

字符描述
^匹配输入字符串的起始位置
$匹配输入字符串的结束位置
*匹配前面的字符零次或多次。如“o!“能匹配“。“及“o”、"oIF”
+匹配前面的字符一次或多次。如“ol+”能匹配"o!及"ol"、"o",但不能匹配”o”
?匹配前面的字符零次或一次,例如"do(es)?"能匹配“do"或者-does","?等效于”(0,1}
`匹配除"n"之外的任何单个字符,若要匹配包括"n"在内的任意字符,请使用诸如“[\n]之类的模式
\将后面接着的字符标记为一个特殊字符或一个原义字符或一个向后引用。如"\㎡匹配一个换行符,而“S"则匹配$"
\d匹配纯数字
{n}重复n次
{n,}重复n次或更多次
[c]匹配单个字符c
[a-z]匹配 a-z 小写字母的任意一个
[a-zA-Z]匹配 a-z小写字母或 A-Z 大写字母的任意一个

4.2 nginx location

location 的语法

location [ = | ~ | ~* | ^~ ] /uri/ {# 配置指令
}
  • =:精确匹配 URI。
  • ~:区分大小写的正则匹配。
  • ~*:不区分大小写的正则匹配。
  • ^~:前缀匹配,若匹配成功则不再进行正则匹配。

location 验证

编辑 Nginx 主配置文件/usr/local/nginx/conf/nginx.conf,添加以下内容:

http {# 其他配置...server {listen 80;server_name example.com;location = /exact {return 200 "Exact match!";}location ~ /regex [a-z]+ {return 200 "Regex match!";}location ^~ /prefix {return 200 "Prefix match!";}}
}

重新加载 Nginx 配置:

systemctl reload nginx

使用 curl 命令分别访问http://example.com/exacthttp://example.com/regexabchttp://example.com/prefixabc,验证不同类型的 location 匹配效果。

4.3 Rewrite

Rewrite语法

rewrite regex replacement [flag];
  • regex:正则表达式,用于匹配 URL。
  • replacement:替换后的 URL。
  • flag:可选参数,常见的 flag 有last(停止当前配置块中的后续 rewrite 指令,重新发起一个新的请求)、break(停止当前配置块中的后续 rewrite 指令,不再重新发起请求)、redirect(返回 302 临时重定向)、permanent(返回 301 永久重定向)

rewrite flag验证

编辑 Nginx 主配置文件/usr/local/nginx/conf/nginx.conf,添加以下内容:

http {# 其他配置...server {listen 80;server_name example.com;location /old {rewrite ^/old(.*)$ /new$1 last;}location /new {return 200 "New URL!";}}
}

重新加载 Nginx 配置:

systemctl reload nginx

使用 curl 命令访问http://example.com/old/abc,观察响应结果,验证last flag 的效果。

rewrite中的捕获组

在 rewrite 指令中,可以使用括号()来捕获匹配的内容,并在替换后的 URL 中使用$1$2等变量来引用捕获的内容。例如:

rewrite ^/article/(\d+)$ /article.php?id=$1 last;

nginx中的set指令

在 Nginx 中,set 指令用于定义变量并赋值,这些变量可以用于后续的条件判断、日志记录、重写规则等场景。它提供了灵活的动态配置能力,尤其在处理复杂的请求逻辑时非常有用。

语法:

set $variable value;

http://www.dtcms.com/wzjs/115642.html

相关文章:

  • 学院网站建设自评广州网页seo排名
  • 网站审批号产品营销软文
  • 模板网字体滕州seo
  • 江西工厂网站建设google关键词
  • html5 微网站app推广方法及技巧
  • 彩票网站开发 违法sem营销推广
  • 深圳福田网站建设seo教程seo官网优化详细方法
  • 做视频网站需要什么服务器搜索引擎优化seo什么意思
  • 好站站网站建设推广谷歌排名优化
  • 南昌做网站公司哪家好武汉百捷集团百度推广服务有限公司
  • 莘县网站开发百度普通下载
  • 房子已交房 建设局网站查不到网络推广软件哪个好
  • 龙岗网站建设-信科网络semir
  • 上海营销网站制作外贸网站推广平台有哪些
  • wordpress安全插件汉化青岛网站seo分析
  • 青岛网站有限公司seo项目分析
  • 马鞍山网站制作公司seo双标题软件
  • 淘宝上做网站SEO靠谱吗西安百度提升优化
  • 扬州网站建设yzbosi校园推广
  • 平凉市建设局门户网站学网络运营在哪里学比较好
  • 专业服务建设网站企业网站营销的典型案例
  • 乐清企业网站建设百度搜索工具
  • 简述网站开发设计流程搜索引擎google
  • 浙江怎样做网站企业营销推广
  • 东莞网站建设排名 南城互联网销售包括哪些
  • 做网站关键字网络公司
  • 网站 授权书中国十大流量网站
  • 想让网站的文章都被收录怎么做免费友情链接网站
  • 淘客做网站怎么备案百度网盘app下载安装
  • 网站设计审美角度举例一个成功的网络营销案例