web服务器( nginx )及请求代理

集成开发环境:前端开发还是使用下面单独的web服务器比较好,前后端分离会用到代理的功能

1、安装xampp时,软件会自动安装 微软的  Microsoft Visual C++ 2008 Redistributable - x86 9.0.21022 这个工具(这个工具有一个bug,安装后会有很多文件安装在E盘根目录下,没有E盘就安装在D盘)。

xampp安装好后,把   Microsoft Visual C++ 2008 Redistributable - x86 9.0.21022工具   卸载了貌似也不影响xampp的使用。(新版的xampp没有这个问题)

2、修改Apache网站根目录htdocs : https://jingyan.baidu.com/article/3aed632e2c5add70108091e4.html

3、wamp实现代理服务器的功能:

    参考: windows通过wamp apache实现代理及反向代理 https://blog.csdn.net/logan_LG/article/details/80862529

4、Apache 服务器 和 PHP 没有关系:https://cloud.tencent.com/info/6f0caac03299907cd564e035d69639de.html

   当Apache收到jason.com/1.php的请求时,通过CGI调用PHP解析程序,解析1.php的动态网页内容,并将字符串返回给用户。所以PHP和Apache 是分开的。

   只是Apache 服务器配置了,用户访问PHP文件,就调用PHP解析程序,执行php代码而已。如果有其他的 XX 语言,Apache 同样可以调用这种 语言的解析程序,执行这种语言的代码。

   php运行依赖apache服务器


web服务器:

一、IIS服务器:(局域网中占有80端口,可以被其它主机访问)

1、启动IIS服务器:默认是关闭这个服务的,https://jingyan.baidu.com/article/0bc808fc5924b01bd485b9e8.html(配置) 或  https://blog.csdn.net/staunchkai/article/details/78975865 (使用)

2、配置IIS服务器的代理功能:https://www.cnblogs.com/gaibianziji/p/10308725.html  或  https://blog.csdn.net/qq_36750554/article/details/79376527

二、nginx服务器:(局域网中所有端口度可以被其它主机访问,配置代理服务会比较简单)

1、nginx服务器 安装配置

  window系统下 https://www.cnblogs.com/loong-hon/p/9060515.html

   启动服务器 两种:

    a、直接双击 nginx.exe 文件运行

    b、nginx服务器目录 下,nginx 命令

   停止服务器:

    a、强制停止   nginx -s stop

    b、等待处理完成后 停止   nginx -s quit

   重启服务器:

    使用命令reopen和reload来重新启动nginx或者重新加载配合着文件

  linux下离线安装: https://blog.csdn.net/ywd1992/article/details/83095855(亲测有效,只要一个 rpm 包就可以了)

     a、安装好后,对应的文件目录 是约定好的。所以没有文档,自己根本就不知道在哪里去配置。

     Nginx默认放置网站文件的目录:   cd /usr/share/nginx/html/

       配置文件:     /etc/nginx/nginx.conf

2、nginx服务器 代理配置:https://blog.csdn.net/cai454692590/article/details/82763748(单独一个文件管理的) 

            或  https://blog.csdn.net/weixin_39537399/article/details/78852648

server {
    listen       8000;
    server_name  localhost;

    location / {
        root   E:/代码仓库/B09_汽车金融综合业务平台/1.开发库/4.源码类/sm-hfi/sm-cdb-web/src/main/webapp;
        index  index.html;
    }

    #下面配置node服务器的地址,服务程序会自动进行代理转发  
    location /api {
        rewrite ^.+api/?(.*)$ /$1 break;
        include uwsgi_params;
        proxy_pass   http://192.168.90.112:3000;
    }  
}

  注意:1、C盘的 root 字段配置的路径,必须是 斜杠;其它盘符的路径可以是反斜杠( Windows使用编辑器复制的路径都是反斜杠的 )。

     2、代理的匹配越精准 越好,不然 如果页面的url 也匹配到 到,就会把 页面url 也给转发了。

       案例【同事出现的问题】:vue-cli 中的 代理就碰到过两次这种 匹配不精准导致的 问题。一次是 下面的代理匹配规则,把上面的匹配规则包含了。导致上面的的代理 一直 是用下面的代理转发,导致错误。

                   另 外一次是 代理的匹配 规则中 把页面 url 页 页 给匹配进去了,导致 页面 url 发送请求时,也被转发处理了,获取不到正确的页面。   

重点配置是 nginx location下的配置详:基本功能配置

  参考:https://blog.csdn.net/lizhiyuan_eagle/article/details/90639448 或 https://blog.csdn.net/tl4832194/article/details/106642981(alias与root的区别)  或 https://blog.csdn.net/qq_33862644/article/details/79337348

  a、root真实路径:是  root指定的值   加上   location指定的值

  b、alias真实路径:是  alias指定的值,不包含location指定的值了。

  c、rewrite:

  d、try_files  :

nginx 特殊配置:【nginx大部分配置可以 在 http、server、localtion 不同的作用域下有效。 功能配置上 我们都希望尽可能 的范围小,不要影响其他的应用。】

  a、上传大文件超时解决办法【nginx可以实现针对,某个接口 配置 上传文件和超时时间的设置】:https://blog.csdn.net/liutong123987/article/details/79301871

nginx 的 其它概念、功能: 

1、nginx 批处理 :https://www.cnblogs.com/hope250/p/7892546.html

2、nginx 优雅的重启: https://www.zhangshengrong.com/p/zAaOKJbEad/

   说明:如果nginx要配置新的 web 服务器,配置文件改好后。通过优雅的重启,不会影响已经在nginx中运行的项目。 

3、nginx 中 变量:

4、nginx伪静态之try_files和rewrite讲解:

5、

原文地址:https://www.cnblogs.com/wfblog/p/8967136.html