前端最基础的就是 HTML+CSS+Javascript。掌握了这三门技术就算入门,但也仅仅是入门,如今前端开发的定义已经远远不止这些。前端小课堂(HTML/CSS/JS),本着提高技术水平,打牢基础知识的中心思想,咱们开课啦(每周四)。css
截止到 2019-05-30 期,全部成员都进行了一次分享。内部对课程进行了一些调整,以后会针对项目开始 review 。我这边预期准备进入中级阶段,中间仍是会穿插一些实战。 前端培训目录html
今天为何会开这个题目?前端
公司想要加快网页访问速度(前端缓存),为了测试,我改了我本身服务器的 nginx 配置。nginx
定义虚拟主机相关。server
中经过 server_name
来匹配域名,listen来匹配端口express
用于匹配域名,须要已经映射的域名。
举个栗子,我在阿里云有一台云服务器 IP:123.56.16.33:443
。买了一个域名 lilnong.top
。
我如今把个人域名指向了个人ip。那全部请求我域名的都会到我这台服务器上。我须要用 server_name 来判断请求的是那台主机,再进行分发gulp
用于匹配端口号,通常来讲,咱们当作服务的就须要加上 80 和 443segmentfault
协议 | 端口 | 用途 |
---|---|---|
http | 80 | 浏览器访问 |
https | 443 | 浏览器访问 |
ftp | 21 |
*.lilnong.top
www.lilnong.*
~^\.www\.lilnong\.com$
若是都不匹配windows
location 是用于在 server 服务中,根据 URL 进行匹配查找。属于 ngx_http_core_module 模块。浏览器
location [ = | ~ | ~* | ^~ ] uri {...}
缓存
=
: 精确匹配,匹配成功,则中止搜索正则; 不能有嵌套的 location。能够加速 request 的处理。~
: 区分大小写的正则匹配~*
:不区分大小写正则匹配^~
:不进行正则的匹配。/
、/static/
\.(gif|jpg|png|js|css)$
匹配时要注意/
的使用。是否要封闭。
location /static { # 能够匹配到 URL 如: '/static/html' 和 'statichtml/html` } location /static/ { # 只可匹配到 URL 如: '/static/html' 和 'static/**' }
用来指定请求资源的真实路径,本地磁盘路径
location /nginx/ { root /var/log/; #请求http://nginx.lilnong.top/nginx/20190227_access.log #>/var/log/nginx/20190227_access.log }
用来指定请求资源的真实路径,本地磁盘路径。会丢弃 location 所匹配的,这是和 root 的区分
location /nginx/ { alias /var/log/nginx/; #请求http://nginx.lilnong.top/nginx/20190227_access.log #>/var/log/nginx/20190227_access.log }
语法:rewrite regex replacement [flag];
flag 描述
#这是我把ip访问重定向到个人网页 server { listen 80; server_name 123.56.16.33; rewrite ^/(.*)$ https://www.lilnong.top/$1 permanent; }
访问 https://nginx.lilnong.top/static/html
location /static/ { proxy_pass http://www.lilnong.top; #结尾不带 `/`,将匹配到 http://www.lilnong.top/static/html } location /static/ { proxy_pass http://www.lilnong.top/; #结尾带 `/`,将匹配到 http://www.lilnong.top/html }
nginx -s reload
nginx -s reopen
nginx -s stop
nginx
nginx/logs/error.log
看错误日志来排查问题。