简单记录一下个人使用心得:前端出现了端口跨域的问题,jsonp、修改cors请求头都尝试了无效,最后用nginx反向代理神奇般的解决了。。。

目录

  • 一、了解nginx
  • 二、nginx基础使用
  • 三、解决实际问题

一、了解nginx

Nginx 是一个高性能的HTTP和反向代理web服务器

用大白话来描述一下:从上图可以看到http请求到我们的应用服务器中间部署了nginx
,请求不能直接通过真实的地址来访问我们的应用服务器,而是通过nginx配置的地址来访问,这个也是我们常说的反向代理。
例如:没有配置nginx,我可以用地址A来访问。配置之后用地址B来映射地址A。前台请求可以用B来访问,通过我们的nginx真实访问的是A,并且把响应数据带回。

二、nginx基础使用

  1. 安装的教程有很多,这里就不写了。
  2. 安装好之后可以看到基本目录结构:
    client_body_temp
    conf
    fastcgi_temp html
    logs
    proxy_temp
    sbin
    scgi_temp
    uwsgi_temp
    主要用到:
    (1)conf
    用来存放配置文件相关
    (2)html
    用来存放静态文件的默认目录 html、css等
    (3)sbin
    nginx的主程序
    3.配置文件
    (1)http块:全局配置
    worker_processes
    worker_processes 1; 默认为1,表示开启一个业务进程
    worker_connections
    worker_connections 1024; 单个业务进程可接受连接数
    include mime.types;
    include mime.types; 引入http mime类型
    default_type application/octet-stream;
    default_type application/octet-stream; 如果mime类型没匹配上,默认使用二进制流的方式传输。
    sendfile on;
    sendfile on; 使用linux的 sendfile(socket, file, len) 高效网络传输,也就是数据0拷贝。
    未开启sendfile
    keepalive_timeout 65;
    keepalive_timeout 65;
    (2)server块 虚拟机配置
server {listen 80; 监听端口号
server_name localhost; 主机名
location / { 匹配路径
proxy_pass http://xxx.com/;
}
}

注意:
listen、server_name 是nginx的监听端口和地址
location中的proxy_pass 是被代理的地址
通过nginx的地址来映射proxy_pass 的地址

三、解决实际问题

1.放静态资源
静态资源可以放到任意一个目录下例如static

static:目录url
server {listen       8000;listen       somename:8080;server_name  somename  alias  another.alias;location / {root   static;index  index.html index.htm;}}

2.负载均衡
(1)轮询
默认情况下使用轮询方式,逐一转发,这种方式适用于无状态请求。
(2)weight(权重)
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream httpd {
server 127.0.0.1:8050 weight=10 down;
server 127.0.0.1:8060 weight=1;
server 127.0.0.1:8060 weight=1 backup;
}
down:表示当前的server暂时不参与负载
weight:默认为1.weight越大,负载的权重就越大。
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。
(3)ip_hash
根据客户端的ip地址转发同一台服务器,可以保持回话。
l(4)east_conn
最少连接访问
(5)url_hash
根据用户访问的url定向转发请求
(6)fair
根据后端服务器响应时间转发请求

nginx是什么、怎么用、以及用nginx解决实际问题相关推荐

  1. centos7 nginx配置php7,centos7安装并配置nginx+php,centos7nginx

    centos7安装并配置nginx+php,centos7nginx centos7安装并配置nginx+php 安装nginx yum install nginx 设置nginx开启起动 syste ...

  2. 解决编译nginx模块与rpm包安装的nginx不兼容问题

    环境:centos  nginx-10.0.1 现象: 自己开发一个nginx模块,放到rpm包安装的nginx服务器上启动服务时报错如下: 30490#0: module "/usr/li ...

  3. 《精通Nginx》——1.2 从源代码安装Nginx

    本节书摘来自异步社区<精通Nginx>一书中的第1章,第1.2节,作者: [瑞士]Dimitri Aivaliotis 更多章节内容可以访问云栖社区"异步社区"公众号查 ...

  4. Nginx服务器不支持PATH_INFO的问题及解决办法

    Nginx服务器不支持PATH_INFO的问题及解决办法 参考文章: (1)Nginx服务器不支持PATH_INFO的问题及解决办法 (2)https://www.cnblogs.com/echoso ...

  5. Nginx PHP 报504 Gateway time-out错误的解决方法

    Nginx PHP 报504 Gateway time-out错误的解决方法 参考文章: (1)Nginx PHP 报504 Gateway time-out错误的解决方法 (2)https://ww ...

  6. Nginx 提示host not found in upstream 错误解决方法

    Nginx 提示host not found in upstream 错误解决方法 参考文章: (1)Nginx 提示host not found in upstream 错误解决方法 (2)http ...

  7. Nginx安装、默认虚拟主机、Nginx用户认证、Nginx域名重定向

    12.6 Nginx安装 安装包下载到/usr/local/src目录 [root@taoyuan ~]# cd /usr/local/src [root@taoyuan src]# wget htt ...

  8. php nginx exec失败,小白问题:用nginx配置php后nginx无法启动。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 树莓派raspbian系统用nginx和php7.3-fpm搭建一个简单的web服务器,软件安装完成并启动成功,也能正常访问. 修改/etc/nginx/ ...

  9. nginx 卸载后重新安装/etc/nginx配置文件没了,cannot open /etc/nginx/nginx.conf (No such file or directory)...

    sudo apt-get --purge remove nginx-common sudo apt-get --purge remove nginx* sudo apt-get autoremove ...

  10. nginx高性能WEB服务器系列之九--nginx运维故障日常解决方案

    nginx系列友情链接: nginx高性能WEB服务器系列之一简介及安装 https://www.cnblogs.com/maxtgood/p/9597596.html nginx高性能WEB服务器系 ...

最新文章

  1. 给JFinal添加 Sqlite 数据库支持
  2. C/C++ sizeof函数解析——解决sizeof求结构体大小的问题
  3. 【Python】random库的使用
  4. java 将对象转_如何将Java对象转换为C对象?
  5. vue组件命名指南,不为取名而纠结
  6. HDU 2874 Connections between cities(LCA离线算法实现)
  7. c++创建二叉树_数据结构:查找(4)|| 平衡二叉树
  8. mysql efbbbf_MySQL中修理特殊不可见uft8字符 - trim
  9. php mysql查询出来二叉树的数据_tp框架怎么实现二叉树查询 如图,查询数据库中小明下面的所有人。到底下面多少人,不清楚。 代码如何实现...
  10. All Roads Lead to Rome (30)
  11. 大淘宝的终极商业阶段
  12. python黑帽子第二章实验截图
  13. Mybatis 中事务提交方式
  14. Java游戏---俄罗斯方块
  15. 学校计算机桌子尺寸,电脑书桌尺寸多少合适?看完解决所有困惑!
  16. 名帖317 沈尹默 行书《春蚕词》
  17. 在单端输入应用中连接差分放大器
  18. JS实现HTM搜索关键词高亮显示
  19. Mybatis中模糊查询的SQL语句应该怎么写?
  20. 爬虫摸索中~~(PS:小小爬虫,何惧哉?且到明日,再看今朝。)

热门文章

  1. VS2008+DDK+ddkwizard环境的配置
  2. 搭建商城系统怎么选择合适的运营模式?
  3. facebook 添加好友_如何对Facebook帖子添加不同的React(如心脏或表情符号)
  4. 海思3559A pwm驱动编写记录
  5. 【Mysql】----基础练习
  6. 计算机等级考试照片用ps怎么调,Photoshop教程:用PS消除照片中的杂色条纹
  7. #Revit二次开发# 创建剖面视图
  8. html中搜索符号,html中特殊符号
  9. 开启xmp1还是2_命运2资料片“凌光之刻”steam上线
  10. 盲签名——典型的数字签名技术