Nginx 的五大应用场景

本文详细介绍了Nginx的五大应用场景:1) 作为HTTP服务器,配置包括监听、域名、根路径和首页设置;2) 作为静态服务器,提供静态资源服务,包括自定义变量和静态文件路径映射;3) 实现反向代理,通过proxy_pass指令转发请求到内部服务器;4) 负载均衡,包括轮询、权重分配、ip_hash等策略;5) 动静分离,将静态资源与动态内容分离,提高网站性能。此外,还提到了return、rewrite、error_page指令及其他功能。
摘要由CSDN通过智能技术生成

**

一、HTTP服务器

**
Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,如果一个网站只是静态页面的话,那么就可以通过这种方式来实现部署。

  1. 首先在文档根目录Docroot(/usr/local/var/www)下创建html目录, 然后在html中放一个test.html;
    在这里插入图片描述
  2. 配置nginx.conf中的server
	user mengday staff;
	
	http {
   
	    server {
   
	        listen       80;
	        server_name  localhost;
	        client_max_body_size 1024M;
	
	        # 默认location
	        location / {
   
	            root   /usr/local/var/www/html;
	            index  index.html index.htm;
	        }
	    }
	}
  1. 访问测试

http://localhost/ 指向/usr/local/var/www/index.html, index.html是安装nginx自带的html
http://localhost/test.html 指向/usr/local/var/www/html/test.html

注意:如果访问图片出现403 Forbidden错误,可能是因为nginx.conf 的第一行user配置不对,默认是#user nobody;是注释的,linux下改成user root; macos下改成user 用户名 所在组; 然后重新加载配置文件或者重启,再试一下就可以了, 用户名可以通过who am i 命令来查看。

  1. 指令简介
  • server : 用于定义服务,http中可以有多个server块

  • listen : 指定服务器侦听请求的IP地址和端口,如果省略地址,服务器将侦听所有地址,如果省略端口,则使用标准端口

  • server_name : 服务名称,用于配置域名
    location : 用于配置映射路径uri对应的配置,一个server中可以有多个location, location后面跟一个uri,可以是一个正则表达式, / 表示匹配任意路径, 当客户端访问的路径满足这个uri时就会执行location块里面的代码

  • root : 根路径,当访问http://localhost/test.html,“/test.html”会匹配到”/”uri, 找到root为/usr/local/var/www/html,用户访问的资源物理地址=root + uri = /usr/local/var/www/html + /test.html=/usr/local/var/www/html/test.html

  • index : 设置首页,当只访问server_name时后面不跟任何路径是不走root直接走index指令的;如果访问路径中没有指定具体的文件,则返回index设置的资源,如果访问http://localhost/html/ 则默认返回index.html

  1. location uri正则表达式
	. :匹配除换行符以外的任意字符
	? :重复0次或1+ :重复1次或更多次
	* :重复0次或更多次
	\d :匹配数字
	^ :匹配字符串的开始
	$ :匹配字符串的结束
	{
   n} :重复n次
	{
   n,} :重复n次或更多次
	[c] :匹配单个字符c
	[a-z] :匹配a-z小写字母的任意一个
	(a|b|c) : 属线表示匹配任意一种情况,每种情况使用竖线分隔,一般使用小括号括括住,匹配符合a字符 或是b字符 或是c字符的字符串
	\ 反斜杠:用于转义特殊字符

小括号()之间匹配的内容,可以在后面通过$1来引用,$2表示的是前面第二个()里的内容。正则里面容易让人困惑的是\转义特殊字符。

二、静态服务器

在公司中经常会遇到静态服务器,通常会提供一个上传的功能,其他应用如果需要静态资源就从该静态服务器中获取。

  1. 在/usr/local/var/www 下分别创建images和img目录,分别在每个目录下放一张test.jpg
    在这里插入图片描述
http {
   
    server {
   
        listen       80;
        server_name  localhost;


        set $doc_root /usr/local/var/www
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值