首页 > 系统相关 >Nginx的安装以及相关代理配置

Nginx的安装以及相关代理配置

时间:2023-08-18 21:05:29浏览次数:47  
标签:index 127.0 http 0.1 代理 Nginx set proxy 安装

前言

什么是Nginx

Nginx是一个高性能的HTTP和反向代理Web服务器,同时也提供IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3/SMTP)代理服务器。

Nginx的特点是:占有内存少,并发能力强。

Nginx专门为性能优化而开发,性能是最重要的考量,非常注重效率,事实上Nginx的并发能力在同类型的网页服务器种表现较好,能够支持高达50000个并发连接响应数。

安装Nginx

1.在官网下载Nginx

官方网站:https://nginx.org/en/download.html

2.启动Nginx

解压下载好的Nginx,在根目录双击 nginx.exe 文件

在根目录打开CMD,使用以下命令打开Nginx

启动服务:start nginx 退出服务:nginx -s quit 强制关闭服务:nginx -s stop 重载服务:nginx -s reload  (重载服务配置文件,类似于重启,服务不会中止) 验证配置文件:nginx -t 使用配置文件:nginx -c "配置文件路径" 使用帮助:nginx -h

正文开始

worker_processes 1;
events {
  worker_connections 1024;
}
http {
  include mime.types;
  default_type application/octet-stream;
  sendfile on;
  keepalive_timeout 65;
  server {}
}

演示如何强制http跳转https

server {
    listen 80;
    server_name test.com;
    # http强制跳转到https
    rewrite ^(.*)$ https://$server_name$1 permanent;
}

演示如何配置微信支付的校验文件

server {
    listen 80;
    server_name localhost;
    # 默认根路径
    location / {
      root index.html;
      index  index.html index.htm;
      try_files $uri $uri/ /index.html;
    }
    # 微信支付校验文件,可以直接配置访问名称
    location ^~/MP_verify_2g3uEjrB5B2LIbNl.txt {
      alias /home/MP_verify_2g3uEjrB5B2LIbNl.txt;
    }
    # 微信支付校验文件,也可以通过正则配置
    location ~^/MP_verify_[a-zA-Z0-9]*.(txt)$ {
      root /home/;
      rewrite ^/home/(.txt)$ /home/$1 last;
    }
}

演示root和alias两种配置静态资源的区别

server {
    listen 80;
    server_name localhost;
    # 用root方式,location中的路径会拼加到root的地址后面
    # 请求路径为:http://localhost:8080/files/index.jpg    实际访问为:/home/files/index.jpg
    location ~^/files/ {
        root /home/;
        index index.html index.htm;
    }
    # 用alias方式,location中的路径不会拼加到alias的地址后面
    # 这请求路径为:http://localhost:8080/files/index.jpg    实际访问为:/home/index.jpg
    location ~^/files/ {
        alias /home/;
        index index.html index.htm;
    }
}

演示请求后台接口代理配置

server {
    listen 8080;
    server_name localhost;
    #################### 第一种场景(代理地址不加斜杠) ####################
    # 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/api/getUser
    location ^~/api/ {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号
        proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址
    }
    # 请求路径为:http://127.0.0.1:8080/api/getUser   实际指向为:http://127.0.0.1:8000/api/getUser
    location ^~/api {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号
        proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址
    }
​
    #################### 第二种场景(代理地址+斜杠) ####################
    # 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/getUser
    location ^~/api/ {
        proxy_pass http://127.0.0.1:8000/;
        proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号
        proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址
    }
    # 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000//getUser
    location ^~/api {
        proxy_pass http://127.0.0.1:8000/;
        proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号
        proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址
    }
​
    #################### 第三种场景(代理地址+后缀) ####################
    # 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/user/getUser
        location ^~/api {
        proxy_pass http://127.0.0.1:8000/user;
        proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号
        proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址
    }
    # 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/usergetUser
    location ^~/api/ {
        proxy_pass http://127.0.0.1:8000/user;
        proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号
        proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址
    }

    #################### 第四种场景(代理地址+后缀+斜杠) ####################
    # 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/user/getUser
    location ^~/api/ {
        proxy_pass http://127.0.0.1:8000/user/;
        proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号
        proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址
    }
    # 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/user//getUser
    location ^~/api {
        proxy_pass http://127.0.0.1:8000/user/;
        proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号
        proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址
    }
}

演示前端项目如何部署nginx

server {
   listen 8090;
   server_name localhost;
    # 默认访问
    # 部署路径:/home/web/my_demo
    # 访问路径为:http://localhost:8090/
    location / {
        try_files $uri $uri/ /index.html;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        root /home/web/my_demo/;
        index index.html index.htm;
    }
    
    # 带前缀的访问
    # 部署路径:/home/web/my_demo
    # 访问路径为:http://localhost:8090/my_demo/
    # 如果location路径最后没有配置斜杠,则浏览器输入访问地址后,路径最后会自动拼一个斜杠
    location ^~/my_demo/ {
        try_files $uri $uri/ /my_demo/index.html;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        root /home/web/;
        index index.html index.htm;
    }
}

标签:index,127.0,http,0.1,代理,Nginx,set,proxy,安装
From: https://blog.51cto.com/u_16203259/7140453

相关文章

  • Squid代理服务之透明模式部署
    为内网用户做加速访问,客户端无需手动设置代理即可访问公网中的web服务器。1)实验拓扑2)修改squid配置文件指定squid为透明模式vim/etc/squid/squid.confhttp_port10.10.10.12:3128transparent(透明模式)visible_hostnamelvs_backup(不添加也可以)3)配置iptables策略vim......
  • nginx根据ip的地理位置进行转发代理(GeoIP2)
    nginx要获取到ip地理位置,需要在nginx引用第三方ngx_http_geoip2_module模块,而ngx_http_geoip2_module模块依赖libmaxminddb;另外ip对应的地理位置离线的需要从GeoIP2站点上下载下来;最后在nginx.conf文件中引用ngx_http_geoip2_module模块,配置离线数据库才可以获取地理位置nginx......
  • jenkins 安装插件依赖的坑
    开篇:使用Jenkins升级或者安装插件的的时候一定要慎重!一定要慎重!一定要慎重!不然你将踩入一个大坑,并且网上的各种复制黏贴的解决办法会将你带入无尽的深渊大坑:首先你要安装一个插件,比如ExtendedChoiceParameter插件,且你已经配置了国内的插件镜像源,像这样 https://mirror......
  • 深入探究 Nginx 负载均衡与反向代理
    在现代Web应用中,处理高并发和确保可用性是至关重要的。Nginx是一个强大的开源服务器,可以作为负载均衡器和反向代理来提供性能优化和高可用性。本文将深入探讨Nginx的负载均衡和反向代理原理,以及如何在后端架构中应用它。负载均衡的原理负载均衡是将传入的请求分发到多个服务器......
  • Redis安装配置使用笔记
    Redis是一个基于内存的key-value结构数据库基于内存存储,读写性能高适用于存储热点数据(热点商品,资讯,新闻,秒杀系统) 1.使用Redis1.在Linux上安装Redis 2.在win系统安装直接解压即可  3.启动RedisLinux中在Redis目录下的src目录下直接运行 ./redis-server 4.连接Redis服务Linu......
  • zabbix6.4部署安装
    Zabbix6.4部署文档一、安装zabbix6.4配置要求:数据库:MySQL/Percona   8.0.X之一MariaDB 10.5.00-10.8.X前端:PHP 7.2.5或更高版本且不支持PHP8.0gd 2.0.28或更高版本PHPGD扩展必须支持PNG(--with-png-dir)、JPEG(--with-jpeg-dir)和FreeType2(--with......
  • RockyLinux 9安装部署zabbix-6.5
    ##zabbix6.0 server端已经不支持centos7了,故本文章以RockyLinux9演示OS:RockyLinuxrelease9.2(BlueOnyx)Database:MysqlWebServer :Nginx RockyLinux下载地址:https://rockylinux.org/download一、初始化系统脚本(可以跳过)#/bin/bash#------------->#适用于Ce......
  • 2023年爬虫有哪些好用的付费代理IP?芝麻代理品易代理快代理熊猫代理……
    在我加班到凌晨2点的时候,第N次收到HTTP代理返回:项目是没办法接着做了,回家也是不可能回家的,烦得很一时半会还没想走,这种情况谁懂?开始知乎摸鱼,翻到这个:哈?这不就是1*88源头厂家的意思?????说这个我可就立马福尔摩斯附体了啊,今天我可非得找到你这个家伙!中间曲折的过程我就不重复说了,直接给我......
  • linux安装ActiveMQ,并配置开机自启--九五小庞
    1.解压activemq压缩包,重命名文件夹#cd/usr/local#tar-zxvfapache-activemq-5.11.1-bin.tar.gz#mvapache-activemq-5.11.1activemq2.防火墙开启activemq端口8161(管理平台端口)和61616(通讯端口)#vi/etc/sysconfig/iptables-AINPUT-mstate--stateNEW-mtcp-ptcp--......
  • Linux 下php7.2安装mysql扩展
    环境CPU:x86_64OS:CentOSLinuxrelease7.5php:7.2.34pdo_mysql:7.2.34安装进入安装包mysql扩展目录进入到php安装包(php-7.2.34.tar.gz)的解压目录php-7.2.34中的扩展目录,准备进行编译cd/opt/php-7.2.34/ext/pdo_mysql编译安装mysql扩展这个过程3步执行:--with......