Nginx 的安装与启动

举报
我们都是云专家 发表于 2019/09/06 17:42:25 2019/09/06
【摘要】 无论是 Python 还是 Curl 或者浏览器以及 Postman 的请求,都被记录在日志文件中,说明 Nginx 可以识别发起请求的终端类型。

通过 Nginx 服务日志来查看请求头中的 User-Agent

Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好,使用 Nginx 企业有:百度、京东、新浪、网易、腾讯、淘宝等。

20190906ly00041.PNG

Nginx 的安装与启动

通常可以使用系统本身的安装工具(Centos 的 yum、Debian 系的 apt-get 以及 MacOS 的 brew)安装 Nginx,以 linux 系统为例,在终端中输入:

sudo apt-get install nginx 复制代码

20190906ly00042.PNG

接下来根据提示选择,即可完成 Nginx 的安装。


接着在终端通过命令:

sudo systemctl start nginx 复制代码


即可启动 Nginx 服务。


备注:由于各个系统差别以及版本差异,安装和启动命令略有差别,解决办法自行搜索

Nginx 的日志

Nginx 为用户提供了日志功能,其中记录了每次服务器被请求的状态和其他信息,包括 User-Agent。 Nginx 的默认日志存放路径为:

/var/log/nginx/ 复制代码

在终端通过命令

cd /var/log/nginx && ls 复制代码

可以进入到日志存放目录并列出目录下的文件,可以看到其中有两个主要的文件,为 access.logerror.log


它们分别记录着成功的请求信息和错误信息。我们通过 Nginx 的访问日志来查看每次请求的信息。

发起请求的几种办法

浏览器

Nginx 启动后,默认监听 80 端口,你只需要访问 IP 地址或者域名即可。假设 IP 地址为 127.0.0.1,那么可以在浏览器输入:

http://127.0.0.1 复制代码

回车后,浏览器就会向服务器发起请求,和你平时上网是一样的。

Python 代码

这里我们利用 Requests 库来发起网络请求。在本地新建一个名为 gets.py的文件,其中代码为:

import requests # 向目标发起请求,并打印返回的 http 状态码 resp = requests.get("http://127.0.0.1") print(resp.status_code) 复制代码
Postman

Postman是一款功能强大的网页调试与发送网页HTTP请求的工具(Postman下载地址),它可以模拟浏览器,访问指定的 Url 并输出返回内容

Curl

这是一个利用URL语法在命令行下工作的传输工具,它不仅支持 url 地址访问还支持文件上传和下载,所以可以称它为综合传输工具。他也可以模拟浏览器,访问指定的 Url

Nginx 日志记录结果

上面使用了 4 种方法来向服务器发起请求,那么我们看看 Nginx 的日志中,记录了什么样的信息。在终端通过命令:

sudo cat access.log 复制代码

来查看日志文件。可以看到这几次的请求记录:

# 请求记录 127.0.0.1 - - [04/Nov/2018:22:19:07 +0800] "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" 127.0.0.1 - - [04/Nov/2018:22:19:07 +0800] "GET /favicon.ico HTTP/1.1" 404 200 "http://127.0.0.1/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" 127.0.0.1 - - [04/Nov/2018:22:20:36 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" 127.0.0.1 - - [04/Nov/2018:22:27:14 +0800] "GET /z_stat.php?id=1256772952&web_id=1256772952 HTTP/1.1" 404 144 "http://appstore.deepin.org/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) deepin-appstore/4.0.9 Safari/538.1" 127.0.0.1 - - [04/Nov/2018:22:42:10 +0800] "GET / HTTP/1.1" 200 396 "-" "PostmanRuntime/7.3.0" 127.0.0.1 - - [04/Nov/2018:22:42:51 +0800] "GET / HTTP/1.1" 200 612 "-" "curl/7.60.0" 复制代码

无论是 Python 还是 Curl 或者浏览器以及 Postman 的请求,都被记录在日志文件中,说明 Nginx 可以识别发起请求的终端类型。


作者:云享专家韦世东
链接:https://juejin.im/post/5bdeb32d51882516fa635ace
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200