IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> nginx常用配置-/root/alias/try_files/index/代理/跨域/https -> 正文阅读

[网络协议]nginx常用配置-/root/alias/try_files/index/代理/跨域/https

nginx简介

? ???Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。和apache一样,都是web服务器软件,因为其性能优异,所以被广大运维喜欢。又因为nginx是一个轻量级的web服务器,相比apache来说资源消耗更低。想在手机看的点击?nginx配置有了这篇就稳了

图片

作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应

作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。

Nginx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。

nginx和apache对比:静态文件处理能力:nginx高于apache,资源消耗:nginx优于apache,因为nginx是异步处理模型,只需要几个进程就能够处理大量在线请求,而apache 2.4仍然是进程模型或者线程模型,即仍然采用大量线程来处理大量在线请求。

nginx的root/alias/try_files/index

1、root

? ??root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径,比如:

location?/i/?{??  root /data/web/;}

? ???请求?http://localhost/i/index.html?这个地址时,那么在服务器里面对应的真正的资源是?/data/web/i/index.html文件

2、alias

? ?alias 正如其名,alias指定的路径是location的别名,不管location的值怎么写,资源的?真实路径都是 alias 指定的路径?,比如:

location?/i/?{??  alias /data/web/;}

同样请求?http://localhost/i/top.gif?时,在服务器查找的资源路径是:/data/web/top.gif

3、try_files

location?/i/?{??  alias /data/web/;??try_files?$uri?$uri/?/i/index.html;}

? ??当用户请求 http://localhost/i时,这里的 $uri 就是 /i。try_files 会到硬盘里尝试找这个文件。如果存在名为 /$root/i(其中 $root 是项目代码安装目录)的文件,就直接把这个文件的内容发送给用户。显然,目录中没有叫 i的文件。然后就看 $uri/,增加了一个 /,也就是看有没有名为 /$root/i/ 的目录。又找不到,就会 fall back 到 try_files 的最后一个选项 /i/index.html,发起一个内部 “子请求”,也就是相当于?nginx 发起一个 HTTP 请求到http://localhost/i/index.html。

例如:

图片

图片

http://192.168.244.129/test/project1/? 将访问pj1目录下index.html页面

http://192.168.244.129/test/project1/a?将访问a目录下的index.html

http://192.168.244.129/test/project1/b,http://192.168.244.129/test/project1/b 访问目录下/test/project1/index2.html;

我们可以看到没有指定页面时默认访问是index.html,当匹配不到时根据try_files规则将转到index2.html

示例二:

server {    root /www/nginx;    index index.html index.jsp;    charset utf-8;    access_log /var/log/nginx/host.access.log main;    error_log /var/log/nginx/host.error.log error;    location ^~ /test/ {        index index.html;        try_files /2.html /1.html /test/test2.html @bd;    }    location @bd {        rewrite ^/(.*)$ http://www.google.com;    }}

? ? ? / 表示 root 所在的目录,1.html 文件前需添加 /,否则请求的格式为 /www/nginx1.html。以 /test/ 开头的 URL 将会匹配 location ^~ /test/ { ... },然后 try_files 指令会分别查找/www/nginx/2.html、/www/nginx/1.html、/test/test2.html 以及 @bd。若前三个 HTML 文件均不存在,则会匹配(内部重定向) location @bd { ... }。

4、index

? ? ?默认文件,也就是当找不到文件的时候的一个默认的文件,可以配置多个。具体的用法稍后说,请先记住这个东西当你找不到其他合适的东西,默认给你分配的。

# 项目1location /test/project1{  alias /home/soft/web/pj1/;  try_files $uri $uri/ /test/project1/index2.html;??index?index.html;}

如上默认页面我们指定为index.html,也可指定为其它页面。

nginx代理配置

? ??nginx做代理转发这个是nginx常用的功能之一,用来代理后端接口服务。

? ??在http节点下,使用upstream配置服务地址,使用server的location配置代理映射。

upstream my_server {  server 10.0.0.2:8080;  keepalive 2000;}server { listen 80;  server_name 10.0.0.1;  client_max_body_size 1024M; location /my/ { proxy_pass http://my_server/; proxy_set_header Host $host:$server_port; }}

? ? 通过该配置,访问nginx地址http://10.0.0.1:80/my的请求会被转发到my_server服务地址http://10.0.0.2:8080/。proxy_pass 访问路径带斜杠时,绝对路径,将用pass转发,需要注意的是,如果按照如下配置:

upstream my_server {                                                             server 10.0.0.2:8080;                                                    keepalive 2000;}server {    listen       80;                                                             server_name  10.0.0.1;                                                   client_max_body_size 1024M;    location /my/ {        proxy_pass http://my_server;        proxy_set_header Host $host:$server_port;    }}

? ? ?那么,访问nginx地址http://10.0.0.1:80/my的请求会被转发到my_server服务地址http://10.0.0.2:8080/my。proxy_pass 访问路径不带斜杠时,相对路径,将用原路径转发。

nginx跨越访问配置

? ??在做页面开发时,有时会在前端页面发送一些ajax请求,如果ajax请求允许其他站点的请求,则服务器端需要设置允许跨域请求,在nginx服务器下,怎么配置允许跨域?看下面介绍。

http {  add_header Access-Control-Allow-Origin "*";  add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";  add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";  server {     listen 80;?????server_name?localhost;     ...     error_page 500 502 503 504 /50x.html;     location = /50x.html {       root html;     }  }}

nginx的https配置

? ? ??HTTP协议传输的数据都是未加密的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。因此将原来的http换成了https链接。自签名由openssl生产,正式的可由阿里云生成。

server?{????listen???????8091?ssl;????server_name??test.weixin.com;????#ssl_certificate??????cert.pem;????#ssl_certificate_key??cert.key;????ssl_certificate??????cert.crt;????ssl_certificate_key??cert.key;????ssl_session_cache????shared:SSL:1m;????ssl_session_timeout??5m;????ssl_ciphers??HIGH:!aNULL:!MD5;????ssl_prefer_server_ciphers??on;????location?/?{          root   html;          index  index.html index.htm;?????}}

nginx证书pem和crt证书都支持,加入证书后访问https://localhost:8091

如果觉得文章能帮到您,欢迎关注微信公众号:“蓝天Java大数据” ,共同进步!

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-06 11:28:49  更:2021-09-06 11:29:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:17:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码