[nginx]-项目部署与实战3

  • Post author:
  • Post category:其他




使用nginx代理服务器

我们可以修改nginx的配置文件nginx.conf 达到访问nginx代理的服务器目的,也即跳转到指定服务器的目的,



实现代理

通过proxy_pass 直接配置请求转发地址,即当我们依然输入http://localhost:80 时,请求会跳转到我们配置的服务器

当访问/another/server开头的请求的时候会跳转到域名为 https:xxx.xx.xx 的服务器上,如此可以避免跨域的问题

当访问/another2/server开头的请求的时候会跳转到域名为 https:server2.xx.xx 的服务器上,如此可以实现多服务器的访问

location ~ /another/server {
          proxy_pass https://xxx.xx.xx
}

location ~ /another2/server {
          proxy_pass https://server2.xx.xx
}



实现负载均衡

以上将服务域名直接配置在了proxy_pass,也可以通过以下方式

在这里插入图片描述

同理,我们是否可以配置多个目标服务器?当一台服务器出现故障时,nginx能将请求自动转向另一台服务器,保证请求的连通性?或者根据性能选择不同的服务器?根据之前对配置文件的讲解,配置如下:

在这里插入图片描述

当服务器 localhost:8080 挂掉时,nginx能将请求自动转向服务器 192.168.101.9:8080 。上面还加了一个weight属性,此属性表示各服务器被访问到的权重,weight越高被访问到的几率越高。



nginx配置静态资源

将静态资源(如jpg|png|css|js等)放在如下配置的f:/nginx-1.12.2/static目录下,然后在nginx配置文件中做如下配置(注意:静态资源配置只能放在 location / 中),浏览器中访问 http://localhost:80/1.png 即可访问到 f:/nginx-1.12.2/static目录下的 1.png图片

在这里插入图片描述



nginx部署web项目



准备要部署的web项目

对于vue等开发的项目,打包后的文件夹为dist,整个文件夹主要是html+css+js组成的静态资源,我们直接使用整个文件夹,如果之前部署过相同名称的文件夹,可以将文件夹的名称修改了,只要和之后配置文件中的根路径配置正确即可



部署web项目

将dist文件夹放到nginx安装目录的html文件夹中,与配置文件中以下配置有关

location / {
        root   html/dist;
        index  index.html index.htm;
        autoindex on;
    }

在这里插入图片描述

一定要注意,server 中的location /的根目录一定要与部署项目的文件夹名称对应上, root html/folderName,如果你是直接将要部署的项目内容直接拷到了 html 文件夹下,那么配置依然是 root html,不需要修改



启动nginx

nginx start



查看项目

浏览器访问服务器地址,因为配置的是80端口,所以默认不用加端口号

http://localhost/



动态修改nginx配置

如果nginx在linux服务器上安装的 ,如何修改配置

  cd / //进入根目录
  cd etc //进入配置文件所在目录
  cd nginx
  cd conf.d
  vi default.conf
  i
  esc
  //修改文件
  wq
  nginx -s reload



版权声明:本文为tjj3027原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。