WSL中安装部署Nginx

Nginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。由于它有丰富的组件库,灵活的配置,较低的消耗和很好的稳定性而远近闻名;Nginx同Apache一样采用模块化设计,有内置模块和第三方模块。

安装、启动和验证Nginx

  • 安装
sudo apt update
sudo apt install nginx -y
  • 启动
sudo nginx -T
# 验证一下是否有配置文件错误
sudo nginx
  • 验证
    在浏览器输入本机IP,因为默认是使用80端口的,不需要指定端口

配置文件浅析

解析本地静态文件

静态HTTP服务器:Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。

server {
    listen 80; # 端口号
    location / {
        root /usr/share/nginx/html; # 静态文件路径
    }
}

反向代理

反向代理服务器:客户端本来可以直接通过HTTP协议访问某网站应用服务器,如果网站管理员在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。

server {
    listen 80;
    location / {
        proxy_pass http://192.168.0.112:8080; # 应用服务器HTTP地址
    }
}

负载均衡

负载均衡:当网站访问量非常大,服务器压力会越来越大,一台服务器已经不够用了。于是将相同的应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。

upstream myweb {
    server 192.168.0.111:8080; # 应用服务器1
    server 192.168.0.112:8080; # 应用服务器2
}
server {
    listen 80;
    location / {
        proxy_pass http://myweb;
    }
}

虚拟主机

虚拟主机:网站访问量大,需要负载均衡。然而并不是所有网站都如此出色,有的网站,由于访问量太小,需要节省成本,将多个网站部署在同一台服务器上。

server {
listen 80 default_server;
server_name _;
return 444; # 过滤其他域名的请求,返回444状态码
}
server {
listen 80;
server_name www.aaa.com; # www.aaa.com域名
location / {
    proxy_pass http://localhost:8080; # 对应端口号8080
    }
}
server {
listen 80;
server_name www.bbb.com; # www.bbb.com域名
location / {
    proxy_pass http://localhost:8081; # 对应端口号8081
    }
}

Nginx常用命令

nginx -s quit       nginx停止,当存在连接时会等连接请求完成再杀死运行中的进程  
nginx -s reload     重启,并重新载入配置文件nginx.conf
nginx -s reopen     重新打开日志文件,一般用于切割日志
nginx -v            查看nginx版本  
nginx -t            检查nginx.conf配置文件配置的是否存在语法错误
nginx -h            查看帮助信息
nginx -V            详细版本信息
nginx  -c filename  指定配置文件
Last modification:March 2nd, 2022 at 10:21 am