开发者学堂课程【Nginx 企业级 Web 服务实战:Nginx 安装-下】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/649/detail/10754
Nginx 安装-下
With-http-ssl-module 这个功能是一定要开启的,就是让 ngs 支持 ssl module,包括 with-http-v2-module,这是 v2 的版本.
with-http-realip-module 这个可以让 ngs 透彻用户的真实地址,with-http-addition-module 这个是额外的.
with-http-image-filter-module 这个是图片处理的,也加上,接下来的 geoip 就是可加可不加,
后边有一个可以指定这个模块的路径,但是 gunzip 是一定要加的,
这个是支持压缩功能的,这些功能都写出来太长了,可以让它换行,一个模块后边加一个转义线,转义一下,如果后边还有可以再加,with-http-stub status module 是提供状态监控页面的,可以看到有多少人可以访问这个页面,with-http-gzip static-module 这个也要加,得到这么多模块就可以安装了
示例
这个示例中的功能与上边描述是一样的,pcre 也加上,stream 开启 TCP 和 UCP 的反向代理,打开之后和之前的差不多,接下来开始编译,然后它会插到当前模块,
先去掉 with-http-image-filter-module,把 guip 的模块装上,search guip
root@nginx-web1:/usr/local/src/nginx-1.16.1# apt search *geoip*
E:Regex compilation error
root@nginx-web1:/usr/local/src/nginx-1.16.1#apt search *geo*
E:Regex compilation error
root@nginx-web1:/usr/local/src/nginx-1.16.1# apt search geoip
类似于 database,已经装过了,接下来装 dev,得自己找,装完之后再继续加上之前的图片过滤的功能,它首先会报错,报错之后去网上查一下是什么模块,或者叫什么名。
现在访问一下172.20.0.101,之前的那些模块也登录去找就行了,先搜一下 GD library 是什么,这个装的时候好装,但是不好找,还按照之前的搜一下,把这个装上之后就可以了,把刚刚装的拿出来,都装好之后就可以编译了,加上图片过滤之后,再编译一次,装之前和之后的值是不一样的,说明值被替换了,现在的值就很好看了,
比较简洁明了,前几年有一个叫心脏滴血的,就是一个漏洞,当时的版本都受到影响,当时互联网公司能做的就是升级ssl包,如果不升级就很容易暴露在外部,让第三方恶意访问,就是你的服务器可能成为别人的,最终的结果就是别人可以用你们的服务器,就是无论多少核都搞成百分之百,母公司是南海集团,旗下还有公司叫大地影院,都是南海集团控股,其中一个叫中企服务,前几年还涉及到娱乐圈,还暴露了一些明星,大地影院就是有时候没有升级,就被别人拿下了,之后,那些人也很厉害,扫描全网的ip地址,把他们的都扫出来,扫出来之后都成了百分之百,但是没有把数据泄露出去,被挖矿之后,都会变成百分之百,有的内容删都删不掉,所有的服务器都得重装系统,现在 nginx 系统就装好了,装好之后,会出现目录,但是它关掉之后可能就都没了,conf 是当前配置文件,最主要的就是 nginx conf,还有就是 html ,这个目录是放默认的页面文件的,所以现在就可以改了,old 的话就是不带图像那个功能的,改了之后,
保存172.20.0.101,保存之后再刷新,直接会变,所以现在就是到了之前安装编译的服务器,nginx 完成安装之后.
有四个主要的目录:
conf:该目录中保存了 nginx 所有的配置文件,其中 nginx. conf 是 nginx 服务器的最核心最主要的配置文件,其他的 conf 则是用来配置 nginx 相关的功能的,例如fastcgi 功能使用的是 fastcgi conf 和 fastcgi _ params 两个文件,配置文件一般都有个样板配置文件,是文件名. default 结尾,使用的使用将其复制为并将 default 去掉即可。
html:该目录中保存了 nginx 服务器的 web 文件,但是可以更改为其他目录保存web文件,另外还有一个59x 的 web 文件是默认的错误页面提示页面。
logs:该目录用来保存 nginx 服务器的访问日志错误日志等日志,logs 目录可以放在其他路径,比如 /var/logs/ngi/x 里面。
sbin:该目录用来保存 nginx 二进制启动脚本,可以接受不同的参数以实现不同的功能。
这个编译最好是以普通用户的身份来看它,否则会比较危险,这个系统我们需要指定它,指定一个系统账户,比如 users nginx 这样的话我们先看 nginx,它就是一个系统账户了,这样它就是一个普通用户启动了,
我们需要把 open ssl 打到 nginx 中去,来支持更新版本的功能,这个到时候再升级,没有写具体的版本,还有就是如果编译中的 nginx 怎么自启,这个比较简单,把服务器系统文件拷贝过去,把路径改变就可以,改过之后先把之前的停了,改路径,这个路径一定要和 nginx 中的一样,否则会导致不能用,假如改成 logs 的,就不行,过不去,那么现在新改一个路径,这个路径和启动文件放一块儿,验证之后发现没问题,现在设置权限,保存就可以了,改成一样的就可以,停止和启动也没有问题。