当前位置: 首页 > wzjs >正文

深圳建筑装饰人才网合肥网站seo整站优化

深圳建筑装饰人才网,合肥网站seo整站优化,我的电脑做网站服务器吗,网站文件夹结构关键字 Nginx,正向代理,方向代理,博客建站 背景环境 我在搭建个人博客的过程中遇到一个问题,我的博客服务的端口是1313,我的域名是qinyangx.top。我希望能够通过qinyangx.top直接访问到服务器上1313端口的博客服务。…

关键字

Nginx,正向代理,方向代理,博客建站

背景环境

我在搭建个人博客的过程中遇到一个问题,我的博客服务的端口是1313,我的域名是qinyangx.top。我希望能够通过qinyangx.top直接访问到服务器上1313端口的博客服务。
但是实际情况是我并不能直接通过qinyangx.top访问到博客服务,需要加上端口号,qinyangx.top:1313,这就很糟糕。为了解决这个问题就需要使用反向代理。

理解过程

简单的解决方案

为了解决这个问题,最简单的方法并不是使用反向代理,而是直接把博客服务使用80端口启动。因为HTTP协议默认使用80端口,浏览器在访问 http:// 开头的URL时,默认会连接到80端口。但是的缺点就是难以在同一服务器上运行多个Web服务,而且无法实现负载均衡等功能。

正向代理和反向代理

正向代理

举个栗子,用户通过机器A访问外部网站,这就是正向代理,用户知道自己在使用代理。

反向代理

比如,我建站的场景,我只知道我访问了qinyangx.top的80端口,但是我并不知道Web服务实际运行在1313端口。Nginx作为反向代理,隐藏了后端服务的细节。客户端直接与Nginx交互,Nginx与Web服务交互。

正向代理和反向代理对比
特性反向代理(我的案例)正向代理
位置客户端和Web服务之间客户端和外部服务器之间
客户端感知客户端不知道Web服务的存在客户端知道代理的存在
主要用途隐藏后端服务、负载均衡访问控制、缓存加速、匿名访问
配置位置服务器端配置客户端配置使用代理
典型应用Web服务器负载均衡、API网关公司内部网络代理、VPN

解决过程

安装nginx

# 安装nginx
sudo apt install nginx -y# 启动nginx
sudo systemctl start nginx# 设置nginx为开机自启动
sudo systemctl enable nginx# 检查配置是否正确
sudo nginx -t#重启nginx配置
sudo nginx -s reload#重启nginx服务
sudo systemctl restart nginx.service

nginx配置

nginx配置文件位置

nginx的配置通常位于/etc/nginx下。通过vim nginx.config查看,发现两行如下配置:

nginx_config1

这里需要理解include指令,include指令用于把分散的多个配置文件,都引入到主配置文件中,方便维护管理。

如果conf.d目录下面有多个conf文件,加载的顺序又是怎样的呢?

nginx加载配置文件会按照文件的命名排序进行加载,也就说a.conf会比b.conf先加载,然后将所有配置文件合并成一个文件。

执行nginx -T命令就可以查看到nginx加载配置文件的顺序,并且能显示每个文件的内容,此时可以只显示加载的文件的名称来查看具体的加载顺序,执行命令:

nginx -T|grep "# configuration file"

nginx_t

配置内容
# http块是全局配置块,包含所有HTTP相关的配置
http {# 引入MIME类型配置文件include       mime.types;# 默认MIME类型,当无法识别文件类型时使用default_type  application/octet-stream;# 启用高效文件传输模式sendfile        on;# 客户端连接保持超时时间,单位秒keepalive_timeout  65;# server块定义虚拟主机配置server {# 监听端口listen       80;# 服务器名称或域名,支持多个域名用空格分隔server_name qinyangx.top;# location块,作用是把nginx接收到的请求字符串,比如qinyangx.top/api/hello,对除了虚拟主机名称以外的字符串进行匹配处理# 一个server块可以有多个location块# / 默认配置location / {# 根目录路径,相对路径为nginx安装目录下的html目录root   html;# 默认索引文件,按顺序查找index  index.html index.htm;}# 自定义错误页面,当出现500/502/503/504错误时返回50x.htmlerror_page   500 502 503 504  /50x.html;# 精确匹配50x.html请求location = /50x.html {root   html;}}
}

反向代理配置

需要理解location匹配请求的作用:把nginx接收到的请求字符串,比如qinyangx.top/api/hello,对除了虚拟主机名称以外的字符串,比如/api/hello,进行匹配处理。

案例一
server {listen       80;server_name  qingyangx.top;# 匹配所有qingyangx.top域名(server_name)过来的请求,并代理到www.jd.comlocation / {root   html;index  index.html index.htm;proxy_pass  https://www.jd.com;}
}  
案例二
server {listen       80;server_name  qinyangx.top;location /hello {proxy_pass  www.google.com;}location ~ /hello2 {proxy_pass  http://www.github.com/;}
}
测试
新建配置文件

在/etc/nginx/sites-enabled目录下创建新的配置文件:

sudo vim my-site# 把如下配置写入
server {listen       80;server_name  qinyangx.top;location /hello {# 修改proxy_pass为完整路径proxy_pass  www.google.com;}# ~ 表示正则匹配(区分大小写)location ~ /hello2 {proxy_pass  http://www.github.com/;}
}
重启nginx配置
sudo nginx -s reload
检查当前配置
nginx -T
域名访问(结果展示)

proxy_pass1

proxy_pass2

成功!!!

location配置匹配优先级

server {listen 80;server_name example.com;# 1. 精确匹配(最高优先级)location = /hello {return 200 'Exact match';}# 2. 前缀匹配(带 ^~ 修饰符)location ^~ /hello {return 200 'Prefix match with ^~';}# 3. 正则匹配(区分大小写)location ~ /hello[0-9] {return 200 'Case-sensitive regex match';}# 4. 正则匹配(不区分大小写)location ~* /HELLO {return 200 'Case-insensitive regex match';}# 5. 普通前缀匹配(最低优先级)location /hello {return 200 'Prefix match';}# 6. 默认匹配location / {return 200 'Default match';}
}

nginx查看日志

Nginx 通常有两个主要日志文件:
访问日志:记录所有请求
错误日志:记录错误信息
默认位置通常在 /var/log/nginx/ 目录下:

/var/log/nginx/access.log  # 访问日志
/var/log/nginx/error.log   # 错误日志
实时查看日志
# 实时查看访问日志
tail -f /var/log/nginx/access.log# 实时查看错误日志
tail -f /var/log/nginx/error.log
查看特定时间段的日志
# 查看过去5分钟的访问日志
awk -v d1="$(date --date="-5 min" "+%d/%b/%Y:%H:%M")" -v d2="$(date "+%d/%b/%Y:%H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2' /var/log/nginx/access.log# 查看今天的错误日志
grep "$(date +"%Y/%m/%d")" /var/log/nginx/error.log
统计日志信息
# 统计访问量最多的IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10# 统计最常访问的URL
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10# 统计HTTP状态码
awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -nr

总结

开始随便找了一篇博客实践,结果发现很多地方不能理解,所以自己记录一下,在设置Nginx过程中想要了解和遇到的问题。

http://www.dtcms.com/wzjs/58908.html

相关文章:

  • 做坏事网站2024年新冠疫情最新消息
  • 三原县城乡建设局网站优化问题
  • 网站建设如何敲图标代码搜索引擎营销的方式
  • 文化墙 北京广告公司seo人才
  • 中国建设银行信用卡电话苏州seo营销
  • 济南网站定制策划微博seo排名优化
  • 江西最新新闻事件乐天seo培训中心
  • 辽宁大连网站建设com天堂网
  • 重庆转店铺哪个网站平台好营销策略怎么写
  • 301网站跳转设置seo常用工具有哪些
  • 可以做网站的渠道东莞今日头条最新消息
  • 做网站教程视频关键词seo排名怎么做的
  • Visual Basic .NET做网站网站推广策划思路
  • 项目计划书怎么做页优化软件
  • 怎么用dw做静态网站广告联盟官网
  • 东莞石龙网站建设什么是软文营销
  • 如何做网站竞品分析百度云搜索资源入口
  • 都匀住房与城乡建设部网站seo就业前景如何
  • 合肥网站建设哪个公司做得比较好百度提交网站入口网址
  • iis如何做网站管理器seo优化推广
  • 重庆奉节网站建设公司哪里有seo是做什么工作内容
  • 通用集团网站模板最新seo网站优化教程
  • 创建网站是怎么赚钱的网站设计需要什么
  • 网站建设物美价廉三门峡网站seo
  • 学校网站建设必要性网络营销的渠道有哪些
  • 中文网站模板下载搜索关键词排名优化
  • 企业vi系统设计是什么seo服务内容
  • 三、网站开发使用软件环境太原seo快速排名怎么样
  • 嘉兴做网站的哪家好网络搜索词排名
  • 网站三合一怎么找推广渠道