nginx服务器的基本安装和配置方法

Nginx 安装和基本操作

安装
yum install nginx
启动
servic nginx start
停止
service nginx stop
重载
servic nginx reload

安装

安装前可以查询是否已经安装过

sudo yum search nginx

如果需要安装,为了更快安装, 需要将镜像的源添加进来

就很快安装好了, 大小2.5m

clipboard.png

和重启restart不同(杀死进程并重新启动), reload 在运行状态下就可以进行服务的重载

运维常用!!! 不会杀死进程就可以更新配置

查看服务状态

clipboard.png

查看Nginx的欢迎页面

clipboard.png

配置

查看配置文件

这个主要配置文件

配置了日志存放的位置等信息

也会加载 /etc/nginx/conf.d/*.conf 这些配置文件, 这里默认只有一个default.conf 的文件存在 如下

可以尝试修改index.html让引导页变得不一样

clipboard.png

拓展

虚拟主机

复制一份detault.conf 重命名为niit.conf

保存, 访问页面:

clipboard.png

页面并没有发生变化, 这是因为修改配置后需要重启或者重载服务

然后访问 首页就是/data/www/index.html的内容了

clipboard.png

按F12打开调试信息:

clipboard.png

这个服务器版本明文显示出来是有安全风险的

如果黑客知道某个版本的容器有漏洞那么就会增加他攻击你的概率

可以通过配置屏蔽掉

多端口

多端口也很容易配置

clipboard.png

保存并重载nginx服务

clipboard.png

多域名

配置多域名也很容易

clipboard.png

修改hosts文件

clipboard.png

然后重载nginx服务就可以这样访问了

clipboard.png

伪静态

NGINX 的伪静态 也就是 重写功夫是默认开启的, 修改 /etc/nginx/conf.d/niit.conf

clipboard.png

这样只要路径符合*.htmp都会指向index.html

clipboard.png

日志格式

nginx 的自定义 日志格式

clipboard.png

main是日志格式的命名空间, 也就是可以允许定义多个格式

当前格式下的日志信息如下:

clipboard.png

tailftail-ftail-F三者区别

  • taill -f 等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止

  • tall -F 等同于-follow=name--retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

  • tailf 等同于tail -f -n10(貌似tail-f域-F默认也是打印最后10行,然后追踪文件),与tail-f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电

自定义日志格式也很简单, 修改nginx.conf文件 增加niit的命令空间

clipboard.png

重载服务后 , 查看日志格式变成

clipboard.png

也可以针对不同虚拟主机设置 不同的日志保存位置

clipboard.png

浏览网页后日志变成

clipboard.png

还有error_log 主要是记录报错信息的

也是一样可以配置的

clipboard.png

反向代理和负载均衡

反向代理

中间的机器就是反向代理, 将local机器的请求代理了,实际请求是发向右边三台服务器其中之一

image-20240317235041317

比如要将我的本地虚拟机的nginx容器反向代理到我的博客地址

clipboard.png

可以通过这个网站查询我的博客域名的实际ip, 然后配置反向代理如下

clipboard.png

这样访问域名www.niit.test时就会被nginx重写请求并指向到我的博客网站了

clipboard.png

F12查看网路

clipboard.png

负载均衡

当一台服务器无法承受请求量, 可以配置多台服务器

负载均衡就是在配置中配置多个主机, 假设我的博客已经部署到了2个不同主机上

其中weight表示使用权重随机算法作为负载均衡的策略, weight的值代表权重

这样会有5/6的请求被随机转发到第一个server

其他1/6的请求会被随机转发到第二个server

除了权重随机算法之外, 还有线性轮询(默认), 公平(fair)等负载均衡算法可以配置.

调试

注意其中新加入的 add_header ... utf-8return 200 ...

目的是让满足请求条件的页面输出一个$http_host 即请求域名

而utf-8的作用是使输出能够正确显示在页面上

如果不添加这个header则会默认显示下载保存成文件(不推荐)

Views: 39