Nginx


俗话说得好,没有问题是加一层解决不了的,如果有,那就再加一层。Nginx就是这种技术。
链接: 欢迎大佬来我的博客!.

一、Nginx简介

Nginx 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好

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

二、 Nginx的作用

Nginx的主要功能有HTTP代理、负载均衡和动静分离。

1、正向代理

正向代理
正向代理是代理客户端

2、反向代理

反向代理
反向代理是代理服务器端,是web服务器最常用的功能之一

让你无感知的访问一个域名就能够连接

3、负载均衡

Nginx的负载均衡主要有内置策略和扩展策略,内置策略为轮询,加权轮询,Ip hash。扩展策略就非常多了。

轮询
轮询方法
加权轮询

加权轮询
Iphash

对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
Iphash

4、动静分离

简单的来说就是把一些不需要经过后台处理的文件交由
静态资源服务器处理,直接从这个服务器加载静态资源,提高速度
动静分离

三、安装及注意事项

1、windows

通过官网下载windows版后解压
http://nginx.org/en/download.html

在这里插入图片描述

启动 直接双击exe 或者cmd

从配置文件中可以看出nginx默认配置的是80端口
默认80端口

配置文件的位置
配置文件

因为是默认80端口,所以这里可以不写,输入IP地址,然后就可以看到欢迎界面

在这里插入图片描述

2、Linux

这里不详解,主要推荐一篇文章
https://blog.csdn.net/qq_44170721/article/details/109022427
或者直接宝塔安装

特别注意
在我使用宝塔面板进行nginx的安装的时候,安装完成后,发现死活进不了欢迎界面,本应正常访问的欢迎页却是找不到页面,并且配置文件也不一样,后来我才发现宝塔上面的是改过的,更适合在拥有图形化界面的宝塔面板中使用,一键傻瓜式操作(都给你弄好了),之所以会出现提示找不到页面,原因是宝塔把index页欢迎页改成了提示找不到页面,是用于部署了项目后,项目没有加载出来等的提示页面。而官方的nginx则没有这个改动,可以正常显示欢迎页。
改动后的宝塔i上的nginx的index

安装官方的可以正常显示

四、Nginx的使用

常用的一些命令

cd /usr/local/nginx/sbin/
./nginx  启动
./nginx -s stop  停止
./nginx -s quit  安全退出
./nginx -s reload  重新加载配置文件
ps aux|grep nginx  查看nginx进程

五、配置文件

在使用nginx的过程中最为重要的就是配置文件的书写

/usr/local/nginx/conf    #默认的 nginx.conf 文件的地址
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
      
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
       
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }       

    }

}

反向代理配置实例

server {
    
        location / {
            root   /www/wwwroot/LostandFound/frontgroundSystem;  
            # 这里配置的是前端的dist文件目录
            
            index index.html;
            
            try_files $uri $uri/ /index.html; 
            #用于重定向
        }
 
        location   /back/ {
            proxy_pass http://127.0.0.1:8080/;
        }
        # 前缀有字符串/back/ (这里有大坑)
        
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
     }

特别注意

location 中 / 的使用

  • proxy_pass代理地址端口后无任何字符,转发后地址:代理地址+访问URL目录部分

  • proxy_pass代理地址端口后有目录(包括 / ),转发后地址:代理地址+访问URL目录部分去除location匹配目录

例如

访问http://127.0.0.1/v1/pt/apply/page这个地址

location /v1/ {
    proxy_pass http://127.0.0.1:8899;
}

实际地址:http://127.0.0.1:8765/v1/pt/apply/page

location /v1/ {
    proxy_pass http://127.0.0.1:8899/;
}

实际地址:http://127.0.0.1:8765/pt/apply/page

六、部署前端的过程中遇到的各种情况

1、前端项目打包

打包

通过npm run build命令

打包完成

打包完成后会有一个dist文件夹,这个就是需要部署的项目。

2、前端打包的时候出现下面的情况

less-loader

缺少less_loader导致的,通过npm install less-loader 即可。

3、安装依赖

未安装依赖
一般情况下,前端的项目上传到github等网站上面的时候是忽略了依赖的,所以打包之前需要执行下面的指令进行安装依赖

npm install
npm run serve

4、页面404

404
前端在写axios的时候在访问的路径上面多加了一个back前缀,导致404,这个时候就需要通过nginx配置,把这个/back/给填上。

5、页面502

多半是你在测试的时候导致程序报错,停止了服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值