当前位置:   article > 正文

部署Nginx Web服务器_nginx site-enable

nginx site-enable

部署Nginx Web服务器

什么是Nginx
Nginx是一种很流行的Web服务器软件,具备高性能、高拓展性、高可靠性、低内存耗等优势。能够反向代理HTTP、HTTPS、SMTP、POP3、IMAP,也可以作为一个负载均衡器和HTTP缓存。同时他还是一个免费的开源的高性能的HTTP服务器。Nginx以其高性能、稳定性、丰富的特性、以及简单配置和低资源消耗而著称。
与传统的服务器不同,Nginx不依赖线程处理请求。相反,它使用了一个更具可拓展性的事件驱动(异步)体系结构。这种体系结构使用较小的内存量,但更重要的是内存的使用在负载的时候更加可预测。即使你不希望同时处理千个请求,但任然可以从Nginx的高性能和小内存占用中受益。
说明:因为此服务器笔者没有root权限,在所有的操作中都是以普通用户模式操作,如可以进入root的 朋友一下步骤即可全部省略速冻
Nginx的启动和配置
安装好Nginx启动Nginx,启动Nginx并看是否处于运行状态。

sudo service nginx start
sudo service nginx status
  • 1
  • 2

在这里插入图片描述
查看版本信息
使用重定向、管道和sed来处理输出
nginx -V 2>&1 | sed 's/ /\n/g'
在这里插入图片描述
2>&1作用手机把标准错误的输出重定向到标准输出(其文件描述符为1),管道 | 将上一步命令nginx - V 2>&1 传递给sed进行处理。处理方式为s/ /\n/g,它是一个正则表达式,其含义为将空白换为换行输出。
在这里插入图片描述表示Nginx已经启用了stub_status模块
配置文件
Nginx及其模块的工作方式是在配置文件中确定的,默认的配置文件(nginx.conf)存放在目录/etc/nginx下。
查看默认配置文件cat /etc/nginx/nginx.conf
在这里插入图片描述
不显示注释和空白行cat /etc/nginx/nginx.conf |grep -vE "#|^$"
grep去除带#的行和(空白行)
在这里插入图片描述
include这两行表示 /etc/nginx/conf.d/目录以.conf结尾的文件和目录/etc/nginx/site-enable/下的所有文件直接包含进来(可以理解为将文件直接复制到/etc/nginx/nginx.conf中)在这里插入图片描述
server和location
一个典型完整的静态Web服务器还会包含多个server配置块,例如/etc/nginx/sites-enabled/default
查看nginx.conf的配置方式cat /etc/nginx/sites-enabled/default | grep -vE "#|^$"
在这里插入图片描述

# 虚拟主机的配置
server {
    # 侦听 80 端口,分别配置了 IPv4 和 IPv6
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    # 定义服务器的默认网站根目录位置
    root /usr/share/nginx/html;

    # 定义主页的文件名
    index index.html index.htm;

    # 定义虚拟服务器的名称
    server_name localhost;

    # location 块
    location / {
        try_files $uri $uri/ =404;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

想修改Server的端口为8080 可以将listen 80 改为listen 8080,访问网站的时候应该是网站:8080 如果80为端口可以省略不写。
想修改网站文件存放位置,修改root 即可
location配置块
location用于匹配请求URI(访问路径),location匹配方式有很多种:精准匹配,忽略大小写的正则匹配,大小写敏感的正则匹配,前半部分匹配语法:

location [ = | ~ | ~* |  ^~ ]  pattern {}
  • 1

各个符号的含义

  • =:用于精准匹配,想请求的URI 与pattern 表达式完全匹配的时候才会执行location中的操作
  • ~:用于区分大小写的正则匹配
  • ~*:用于不区分大小写的正则匹配
  • ^~:用于匹配URI的前半部分
location = / {
    # [ 配置 A ]
}

location / {
    # [ 配置 B ]
}

location /documents/ {
    # [ 配置 C ]
}

location ^~ /images/ {
    # [ 配置 D ]
}

location ~* \.(gif|jpg|jpeg)$ {
    # [ 配置 E ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

创建虚拟服务器
创建网页文件
cd /var/myweb/ sudo touch index.html
在这里插入图片描述
配置网页文件sudo vim index.html

<html>
  <head>
    <title>my website</title>
  </head>
  <body>
    <h1>Hello, Shiyanlou!</h1>
  </body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述
配置文件
创建一个新的配置文件并编辑
在这里插入图片描述

server {
    listen 8070 default_server;

    root /var/myweb/;

    index index.html index.htm;

    server_name localhost;

    location / {
        try_files $uri $uri/ =404;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

使用sudo nginx -t检查是否有语法错误
在这里插入图片描述
出现OK重启nginxsudo service nginx restart
在这里插入图片描述
打开Web服务器输入localhost:8070,虚拟服务器已配置完毕。
在这里插入图片描述
为了后续的zabbix监控,需要做如下配置
新建一个conf文件并配置
在这里插入图片描述

server {
    listen 8080 default_server;

    server_name localhost;

    location /nginx_status {
        stub_status on;
        #表示监听8080端口,用于URI/nginx_status
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

检查Nginx配置文件是否有语法错误,重启Nginx
在这里插入图片描述

打开localhost:8080/nginx_status,查看到七个活动中指标:
active connections – 活跃的连接数量
server accepts handled requests — accepts 表示总共处理了 1 个连接,handled 表示成功创建 1 次握手,requests 表示总共处理了 1 个请求
reading— 读取客户端的连接数
writing — 响应数据到客户端的数量
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing),意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/518460
推荐阅读
相关标签
  

闽ICP备14008679号