Web开发方面、专注于Web
7月9
nginx location语法

语法详解

语法规则: location [=|~|~*|^~] /uri/ { … }

= 开头表示精确匹配

^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。以xx开头

~ 开头表示区分大小写的正则匹配                     以xx结尾

~* 开头表示不区分大小写的正则匹配                以xx结尾

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则

/ 通用匹配,任何请求都会匹配到。

7月3
nginx设置反向代理后,页面上的js css文件无法加载
问题现象:
  nginx配置反向代理后,网页可以正常访问,但是页面上的js css文件无法加载,页面样式乱了,图片也不显示。


    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://localhost:8080/;
    }
    
    #配置静态资源 解决js css 文件无法加载无法访问的问题,注意末尾不能有 /
    location ~ .*\.(jpg|js|html|mp3|gif|jpeg|png|bmp|swf|ico|css)$ {
      proxy_pass http://localhost:8080;
    }
    

#号注释的部分是后面加上去的,之前是没有,这个就是nginx的反向代理的配置文件;

    location ~ .*\.(jpg|js|html|mp3|gif|jpeg|png|bmp|swf|ico|css)$

加上这个就可以了
5月19
cnpm : 无法加载文件 C:\Users\hecks\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。
点击在新窗口中浏览此图片
win10搜索找到 powershell
点击在新窗口中浏览此图片
右键以管理员身份运行,

然后输入
set-ExecutionPolicy RemoteSigned

选择 A

再输入 get-ExecutionPolicy就可以了。
点击在新窗口中浏览此图片
4月3
nginx的upstream目前支持的5种方式的分配

1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 
upstream backserver { 
server 192.168.0.14; 
server 192.168.0.15; 


2、指定权重
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 
upstream backserver { 
server 192.168.0.14 weight=8; 
server 192.168.0.15 weight=10; 


3、IP绑定 ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 
upstream backserver { 
ip_hash; 
server 192.168.0.14:88; 
server 192.168.0.15:80; 


4、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。 
upstream backserver { 
server server1; 
server server2; 
fair; 


5、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。 
upstream backserver { 
server squid1:3128; 
server squid2:3128; 
hash $request_uri; 
hash_method crc32; 


12月30
在弹出窗口里刚开始不管点击什么都无法显示,后来点击表情的时候发现表情的选项框出现在了当前dialog的后面
然后猜测所有的选项框点击后,都出现在dialog的后面。
接着开始F12,发现当前dialog的z-index的值是1005。
返回看ueditor的z-index。

在ueditor.config.js里zIndex的默认值是900;将值改为1100
强行刷新页面,或者打开ueditor.config.js强刷,然就成功!
10月26
Nginx作为一个轻量级的HTTP服务器,相比Apache优势也是比较明显的,在性能上它占用资源少,能支持更高更多的并发连接,从而达到提高访问效率;在功能上它是一款非常优秀的代理服务器与负载均衡服务器;在安装配置上它安装,配置都比较简单
Nginx优化配置详解
但在实际的生产配置环境中,肯定会经常遇到需要修改、或者重新增加Nginx配置的问题,有的时候需求更是多种多样,修修改改经常会出现这样、那样的一些错误,特别的烦索。
基于以上的原因,肯定很多读者伙伴经常会收集一些配置文档、或者电脑里也保存着一些自己日常的常用配置案例,但是终究还是不是很便利。今天,民工哥给大家介绍一款「超级牛掰的神器」,可以在线一键生成Nginx的配置。
点击在新窗口中浏览此图片

网址:https://nginxconfig.io/
NGINX Config 支持 HTTP、HTTPS、PHP、Python、Node.js、WordPress、Drupal、缓存、逆向代理、日志等各种配置选项。在线生成 Web 服务器 Nginx 配置文件。
10月26
其实我们大家做产品意见反馈模块的时候可以找一个有没有同类型直接用的产品接入进来就可以了, 没有必要自己重复造轮子,做的体验不好,又浪费时间,不如使用成型的产品,不过有个问题,可以这种成型的产品可能某一天就下线了,这个可能需要自己去权衡了。

比如我们可以使用腾讯的吐个槽:https://tucao.qq.com/
点击在新窗口中浏览此图片





10月26
需求:在微信h5页面中下载第三方app,安卓, 直接下载apk文件包;iphone,跳转AppStore

分析:微信不支持,在微信中屏蔽了apk文件的下载以及AppStore的跳转(且除非和TX有合作的应用,否则也不支持通过scheme跳转第三方app)

在微信中生成遮罩层,然后指引用户点击微信中右上角的更多按钮,选择【在浏览器打开】(iphone为【在safari中打开】,下同)

总结:虽然这种方法需要用户多操作一步,但贵在原生且不涉及第三方应用市场,本文主要讲述的是这种方法(且在浏览器中打开后仿应用宝下载效果:安卓直接弹出apk下载框,iphone则直接跳转AppStore,无需用户再一次点击下载按钮)

主要代码如下(H5页面由vue构建):
1、识别手机类型

10月26
在微信中,打开app下载链接,或者使用微信扫一扫app下载二维码,都是无法下载app的。

因为腾讯为了自身利益,屏蔽了其他app直接在微信中下载。下面给分享下,找到的2种有效的解决方案。


方案一:弹出一个遮罩提示用户在新的浏览器窗口打开(目前微信已出新规,属于诱导行为,会被封域名,可以参考之前说的防封的解决方式)

再也不用管微信如何的更新,直接判断如果是在微信中打开,然后弹出一个遮罩提示用户在浏览器中打开下载。

并且不加关闭的按钮。效果如下面这样子:

点击在新窗口中浏览此图片

10月26
第一:微信域名检测+微信域名切换
你需要有一个微信域名检测接口,自己开发或是购买都可以。配置好你的接口请求程序,准备2套域名A和B。比如说分享出去的域名是A,这里面A被称作是主域名。点开后跳到B,跳转之前检测一下B有没有被封,这里面的B就称作是落地域名。通常情况下落地域名B需要准备几十甚至上百个,利用域名检测接口可以轻松实现被封自动切换。检测接口这个开发文档能够最快能达到1毫秒/请求来检测(当然一般也不需要这么快,请求频率越高对服务器的要求越高)。并且出现问题会及时进行通知,进行备用域名跳转,保证落终是可以访问的。

第二:多级矩阵跳转
短网址(分享出去的)→主域名→二级域名→三级域名→四级域名(着陆页)

短网址可以用使用w.url.cn、t.cn(目前新浪已停止新增服务)、dwz.cn、suo.im等接口来生成。
在这里需要注意的事,着陆页的域名尽可能长一点。比如主域名是”heckjj.com“。那到着陆页可能要做到”w4tfd5s7we6ad23hbv8sd5.wx.qq.heckjj.com/heck.html“。
1、heckjj.com域名也做泛解析,然后“w4tfd5s7we6ad23hbv8sd5” 这个着陆页的前面的四级域名都是随机生成的。
2、把”heck.html“做成动态的,让每一次访问都不一样。为什么要做成动态的呢?因为我们在实践过程中发现,有时候不封域名封链接。但是这种方式还是会要用到第一种检测+切换的接口。
分页: 1/8 第一页 1 2 3 4 5 6 7 8 下页 最后页 [ 显示模式: 摘要 | 列表 ]